jquery插件制作 提示框插件实现代码

 更新时间:2012年08月17日 15:38:13   作者:  
今天我们介绍的是提示框插件tooltip的制作,其中还会介绍到自定义选择器插件的开发
我们首先来介绍自定义选择器的开发,他的代码结构如下:
复制代码 代码如下:

(function ($) {
$.expr[':'].customselector = function (object,index,properties,list) {
//code
};
})(jQuery);

调用时候的写法:
$(a:customselector)  现在我们先解释下函数中所使用到的各个参数。
  object:当前dom元素的引用,而不是jquery对象。需要强调的一点,dom元素和jquery对象完全不是一回事,a标签代表的是dom元素,$('a')代表的是jquery对象,他本身是个js对象。不清楚的朋友情google相关知识。
  index:下标为0的数组索引。
  properties:选择器元数据数组。
  list:dom元素数组。
  这些参数中,第一个参数是必须的,其他几个参数是可选的。
  选择器函数通过bool值确定是否包含当前元素,true包含,false不包含。
  这里我们实现一个a标签的选择器,只选择指向外部链接的a标签,代码如下:
复制代码 代码如下:

(function ($) {
$.expr[':'].external = function (object) {
if ($(object).is('a')) {
return object.hostname != location.hostname;
}
};
})(jQuery);

现在我们开始实现提示框插件的开发,开发过程就不多讲了,主要是代码实现,里面有备注说明。
复制代码 代码如下:

(function ($) {//更新坐标位置
$.fn.updatePosition = function (event) {
return this.each(function () {
$(this).css({
left: event.pageX + 20,
top: event.pageY + 5
});
});
}
//提示框插件,将显示a标签title属性的内容
$.fn.tooltip = function () {
return this.each(function () {
//获取当前对象
var self = $(this);
//获取title属性值
var title = self.attr('title');
//判断当前对象是否是a标签,title属性有无内容
if (self.is('a') && title != '') {
self.removeAttr('title')
.hover(function (event) {
//鼠标在目标对象上
$('<div id="tooltip"></div>').appendTo('body')
.text(title)
.hide()
.updatePosition(event)
.fadeIn(400);
}, function () {
//鼠标移出
$('#tooltip').remove();
}).mousemove(function (event) {
//鼠标移动
$('#tooltip').updatePosition(event);
});
}
});
};
})(jQuery);

希望本片文章对你有用,想看完整效果的朋友可以去下demo,下载地址:jQuery.plugin.tooltip

相关文章

  • jQuery 1.0.2

    jQuery 1.0.2

    jQuery 1.0.2...
    2006-10-10
  • JQuery的$命名冲突详细解析

    JQuery的$命名冲突详细解析

    在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg')的写法。然而,当我们引入多个js库后,在另外一个js库中也定义了$符号的话,那么我们在使用$符号时就发生了冲突
    2013-12-12
  • JS+CSS实现图片预加载与背景图上中下切图

    JS+CSS实现图片预加载与背景图上中下切图

    这篇文章介绍了JS+CSS实现图片预加载与背景图上中下切图的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • jQuery form插件之formDdata参数校验表单及验证后提交

    jQuery form插件之formDdata参数校验表单及验证后提交

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程,通过本文给大家介绍jQuery form插件之formDdata参数校验表单及验证后提交的相关知识,感兴趣的朋友一起学习吧
    2016-01-01
  • 使用jQuery模板来展现json数据的代码

    使用jQuery模板来展现json数据的代码

    通常我们在使用ajax的时候,都避免不了和json这种轻巧的数据格式打交道。可是往往手动的去解析json,构建HTML,比较麻烦。现在有了这个插件,就能像Extjs那样使用模板解析json了。
    2010-10-10
  • JQuery学习笔录 简单的JQuery

    JQuery学习笔录 简单的JQuery

    尺寸小、使用简单方便(Write Less, Do More,吃得少干得多,而且目前许多大公司都在支持JQuery,例如微软,微软把JQuery继承在了vs2010中
    2012-04-04
  • jQuery入门第一课 jQuery选择符

    jQuery入门第一课 jQuery选择符

    要对页面上的某个元素进行操作,首先要选中它,这就要用到选择符。
    2010-03-03
  • jQuery获取Select选择的Text和Value(详细汇总)

    jQuery获取Select选择的Text和Value(详细汇总)

    Select选择的Text和Value在使用中可能都需要获取到它们的值,以至搜集用户的需求,本文整理了一些常用而实用的操作技巧,感兴趣的朋友可以了解下,就当巩固自己的知识了,希望本文对你有所帮助
    2013-01-01
  • IE中的File域无法清空使用jQuery重设File域

    IE中的File域无法清空使用jQuery重设File域

    IE中的File域无法清空,可能你看到的是已经没有值了,其实它还是存在的,下面有个不错示例,大家可以参考下
    2014-04-04
  • jQuery中each()、find()和filter()等节点操作方法详解(推荐)

    jQuery中each()、find()和filter()等节点操作方法详解(推荐)

    这篇文章主要介绍了jQuery中each()、find()和filter()等节点操作方法的相关资料,非常不错具有参考价值,需要的朋友可以参考下
    2016-05-05

最新评论