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 相关文章推荐
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
JavaScript获取数组最小值和最大值的方法
Jun 09 Javascript
JS实现数组去重方法总结(六种方法)
Jul 14 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
jquery实现企业定位式导航效果
Jan 01 jQuery
基于IView中on-change属性的使用详解
Mar 15 Javascript
webpack 打包压缩js和css的方法示例
Mar 20 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
解决layer 动态加载select 失效的问题
Sep 18 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
Div自动滚动到末尾的代码
2008/10/26 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
windows下python连接oracle数据库
2017/06/07 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
使用Tkinter制作信息提示框
2020/02/18 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
期末自我鉴定
2014/01/23 职场文书
安全生产投入制度
2014/01/29 职场文书
信用卡工资证明范本
2014/10/17 职场文书
维稳工作情况汇报
2014/10/27 职场文书
领导视察通讯稿
2015/07/18 职场文书
养成教育主题班会
2015/08/13 职场文书
2016年教师新年寄语
2015/08/18 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
python requests模块的使用示例
2021/04/07 Python