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


Posted in Javascript onAugust 17, 2012

我们首先来介绍自定义选择器的开发,他的代码结构如下:

(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
Javascript 相关文章推荐
根据表格中的某一列进行排序的javascript代码
Nov 29 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
JSON格式的键盘编码对照表
Jan 29 Javascript
JS模拟Dialog弹出浮动框效果代码
Oct 16 Javascript
莱鸟介绍window.print()方法
Jan 06 Javascript
js中开关变量使用实例
Feb 24 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
微信小程序 如何获取网络状态
Jul 26 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
用JS写一个发布订阅模式
Nov 07 Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 #jQuery
jquery插件制作 表单验证实现代码
Aug 17 #Javascript
jquery插件制作 图片走廊 gallery
Aug 17 #Javascript
jquery插件制作教程 txtHover
Aug 17 #Javascript
IFrame跨域高度自适应实现代码
Aug 16 #Javascript
JSONP 跨域共享信息
Aug 16 #Javascript
js自执行函数的几种不同写法的比较
Aug 16 #Javascript
You might like
实用函数4
2007/11/08 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Python多线程实例教程
2014/09/06 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
python 穷举指定长度的密码例子
2020/04/02 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
李宁官方网店:中国运动品牌
2017/11/02 全球购物
护理学毕业生求职信
2013/11/14 职场文书
企业行政文员岗位职责
2013/12/03 职场文书
我爱我校演讲稿
2014/05/21 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
财务务虚会发言材料
2014/10/20 职场文书
投标单位介绍信
2015/05/05 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers