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和注册表脚本实现右键收藏Web页选中文本
Jan 28 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
Aug 21 Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 Javascript
JavaScript获取当前网页最后修改时间的方法
Apr 03 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
Jun 25 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
JavaScript实现打砖块游戏
Feb 25 Javascript
javascript实现固定侧边栏
Feb 09 Javascript
浅谈克隆 JavaScript
Nov 02 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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
Python实现读取并保存文件的类
2017/05/11 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
django从后台返回html代码的实例
2020/03/11 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
香港礼品网站:GiftU eshop
2017/09/01 全球购物
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
公司证明怎么写
2014/09/22 职场文书
一般党员对照检查材料
2014/09/24 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android