自定义一个jquery插件[鼠标悬浮时候 出现说明label]


Posted in Javascript onJune 27, 2011

最近在学习jquery,看了几天,决定做个小东西练练手。入门级的可以看看。

先看下面这个小东西有什么功能,有模有用。

功能:当你鼠标悬浮在你的html元素上面的时候,它会显示一个help说明性的label。

效果图:

原始:

自定义一个jquery插件[鼠标悬浮时候 出现说明label]

当你的鼠标悬浮在'单击我吧1'时:

自定义一个jquery插件[鼠标悬浮时候 出现说明label]

当你的鼠标悬浮在'textbox'时:

自定义一个jquery插件[鼠标悬浮时候 出现说明label]

看了效果图,若是有兴趣的话,仔细看看代码吧,代码有注释

html 代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testLinkJquery.aspx.cs" Inherits="testLinkJquery" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
<script src="Scripts/a1.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function () { 
$("#d").HelpTextFn({ helpText: 'this link id is d', bgcolor: 'black', ftcolor: 'red', width: '100px', tempLeft: '15', tempTop: '15' }); 
$("#f").HelpTextFn({ helpText: 'this textbox id is f', bgcolor: 'black', ftcolor: 'yellow', width: '100px', tempLeft: '15', tempTop: '15' }); 
}) 
</script> 
<style type="text/css"> 
a:hover 
{ 
color:Red; 
text-decoration:underline; 
} 
</style> 
</head> 
<body> 
<a href="http://www.baidu.com" id="d">s单击我吧1</a><br /> 
<input type="text" id="f" value="这是一个textbox" /><br /> 
</body> 
</html>

html 代码说明:

带下划线的是调用jquery插件的传入的参数。

带有红色的是你自己要注意相匹配的地方

参数说明:

shelpText: "default help text", //你要显示label的文档
bgcolor: "red", //label的背景色
ftcolor: "yellow", //label的前景色
width: "200px", //label的宽度
tempLeft: "15", //label相对于鼠标所在位子的left值
tempTop: "15" //label相对于鼠标所在位子的top值
jquery代码[a1.query]

/* 
* HelpTextFn 
* Copyright (c) 2011 yongbin zhang http://www.cnblogs.com/2814/ 
* Date: 2011-6-27 
* 当你鼠标悬浮在你的html元素上面的时候,它会显示一个help说明性的label 
*/ 
//以下代码不可以改变 
//注释为代码说明 
/* 
想要自己定义一个jquery插件,一般的框架就是: 
(function ($) { 
$.fn.HelpTextFn = function (options) { //要改变的就是HelpTextFn,这是你的jquery函数的名称[在你的html中要调用这个函数的时候就得用到这个名称], 
//其他的就不需要进行改变了。 
var defaults = { //var defaults{ 这里面是你的这个函数的参数的默认值 } 
helpText: "default help text", //你要显示label的文档 
bgcolor: "red", //label的背景色 
ftcolor: "yellow", //label的前景色 
width: "200px", //label的宽度 
tempLeft: "15", //label相对于鼠标所在位子的left值 
tempTop: "15" //label相对于鼠标所在位子的top值 
} 
var options = $.extend(defaults, options); //这句话是死的,它的意思就是说,若你在html中调用这个插件的时候,若是没有传入参数的值得话, 
//那么我就用defalut里面定义好的参数,否则就用你传入的参数的值,[注意]:下面若是要用到参数的话, 
//就得使用[options.参数名]如:options.helpText 
$(this).mousemove(function (e) { //添加this的mousemove事件,就是说,哪个html元素调用了我的这个插件,那么我就给他添加mousemove事件 
}); 
$(this).mouseleave(function () { //添加this的mouseleave事件,就是说,哪个html元素调用了我的这个插件,那么我就给他添加mouseleave事件 
}); 
}; 
})(jQuery); //这句是固定的 
*/ 
(function ($) { 
$.fn.HelpTextFn = function (options) {// 
var defaults = { 
helpText: "default help text", 
bgcolor: "red", 
ftcolor: "yellow", 
width: "200px", 
tempLeft: "15", 
tempTop: "15" 
} 
var options = $.extend(defaults, options); 
var linkDivId = $(this).attr("id"); 
$(this).mousemove(function (e) { 
if ($("#linkDiv" + linkDivId)) { 
$("#linkDiv" + linkDivId).remove(); 
} 
var xx = e.originalEvent.x || e.originalEvent.layerX || 0; 
var yy = e.originalEvent.y || e.originalEvent.layerY || 0; 
var left = xx + parseInt(options.tempLeft); 
var top = yy + parseInt(options.tempTop); 
$("#" + linkDivId).after("<div id='linkDiv" + linkDivId + "' style='background-color:" + options.bgcolor + ";color:" + options.ftcolor + ";width:" + options.width + ";display:none;top:" + top + "px;left:" + left + "px;position:absolute;float:left'>" + options.helpText + "</div>"); 
$("#linkDiv" + linkDivId).show(); 
}); 
$(this).mouseleave(function () { 
$("#linkDiv" + linkDivId).remove(); 
}); 
}; 
})(jQuery);
Javascript 相关文章推荐
JavaScript设置FieldSet展开与收缩
May 15 Javascript
js 编写规范
Mar 03 Javascript
前台js改变Session的值(用ajax实现)
Dec 28 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
Oct 15 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
Oct 31 Javascript
微信小程序实现简易table表格
Jun 19 Javascript
如何在vue中使用jointjs过程解析
May 29 Javascript
读jQuery之十 事件模块概述
Jun 27 #Javascript
AeroWindow 基于JQuery的弹出窗口插件
Jun 27 #Javascript
jQuery表格行换色的三种实现方法
Jun 27 #Javascript
19个很有用的 JavaScript库推荐
Jun 27 #Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 #Javascript
Jsonp 跨域的原理以及Jquery的解决方案
Jun 27 #Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 #Javascript
You might like
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
Python正则表达式教程之一:基础篇
2017/03/02 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python探索之创建二叉树
2017/10/25 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
浅析python协程相关概念
2018/01/20 Python
python语音识别实践之百度语音API
2018/08/30 Python
Python玩转Excel的读写改实例
2019/02/22 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
Python 如何查找特定类型文件
2020/08/17 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
广告学毕业生求职信
2014/01/30 职场文书
调任通知
2015/04/21 职场文书
地雷战观后感
2015/06/09 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android