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 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
javascript中的继承实例代码
Apr 27 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 Javascript
微信小程序 教程之引用
Oct 18 Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 Javascript
Vue axios 中提交表单数据(含上传文件)
Jul 06 Javascript
分享19个JavaScript 有用的简写写法
Jul 07 Javascript
vue.js实例对象+组件树的详细介绍
Oct 20 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 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
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python正则表达式知识汇总
2017/09/22 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python内置加密模块用法解析
2019/11/25 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
Python with语句用法原理详解
2020/07/03 Python
python 自动识别并连接串口的实现
2021/01/19 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
关于青春的演讲稿三分钟
2014/08/22 职场文书
计划生育证明书写要求
2014/09/17 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python
windows系统搭建WEB服务器详细教程
2022/08/05 Servers