jquery插件制作 -- 5.提示框插件-阿里云开发者社区

开发者社区> bill.kang> 正文

jquery插件制作 -- 5.提示框插件

简介:   今天我们介绍的是提示框插件tooltip的制作,其中还会介绍到自定义选择器插件的开发。   我们首先来介绍自定义选择器的开发,他的代码结构如下: (function ($) { $.expr[':'].customselector = function (object,index,properties,list) { //code }; })(jQuery); 调用时候的写法: $(a:customselector)   现在我们先解释下函数中所使用到的各个参数。
+关注继续查看

  今天我们介绍的是提示框插件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.zip

adpics.aspx?source=kbh1983&sourcesuninfo

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
jquery插件制作 -- 5.提示框插件
  今天我们介绍的是提示框插件tooltip的制作,其中还会介绍到自定义选择器插件的开发。   我们首先来介绍自定义选择器的开发,他的代码结构如下: (function ($) { $.expr[':'].customselector = function (object,index,properties,list) { //code }; })(jQuery); 调用时候的写法: $(a:customselector)   现在我们先解释下函数中所使用到的各个参数。
717 0
jquery插件整理篇(九)数据验证类
1. jQuery plugin: Validation jQuery校验插件。jQuery plugin: Validation 2. Masked Input Plugin 热点图书:www.hotbook.cn Masked Input这个jQuery插件让用户能够按照预先设定好的固定格式输入数据(如日期、电话号码等)。
955 0
jquery插件制作 -- 2.图片走廊:gallery
  本文主要内容是讲解图片走廊-gallery的实现。   首先创建jquery.gallery.js的插件文件,构建程序骨架。 (function ($) {   $.fn.gallery = function () {     return this.
800 0
jQuery插件的几种写法大总结
插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护
6094 0
强烈推荐:240多个jQuery插件
概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。
907 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10883 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13890 0
非常流行的十款 jQuery 插件推荐
本文列举了10款最流行的 jQuery 插件,有验证用户输入的,有以真正用户友好的方式显示多媒体和图像的,有使数据以可视化的图形和图表的形式展示的等等。相信这十大流行的 jQuery 插件将有助于你的开发项目。
853 0
jQuery插件 - BBC style news ticker
     新闻内容一个一个字的显示,有点打字效果的感觉。 演示: http://www.makemineatriple.com/jquery/ 下载: http://plugins.jquery.com/project/clickOrEnter
604 0
+关注
bill.kang
从事软件研发十余年,入行前端开发六年有余,对前端工程化有一定认识。 现就职于客如云科技有限公司,任前端技术经理一职。
109
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载