[js插件]分享一个文章内容信息提示插件Colortip

引用

项目中需要一个信息提示的功能,就上网找了一个插件,发现colortip实现比较简单,就定了这个插件。

实现过程

官网:http://tutorialzine.com/2010/07/colortips-jquery-tooltip-plugin/

最终要实现的效果:

colortip是将标签中的title属性的值弹出显示的,默认情况是黄色的:

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6     <!--css文件-->
 7     <link href="Colortip/styles.css" rel="stylesheet" />
 8     <link href="Colortip/colortip-1.0/colortip-1.0-jquery.css" rel="stylesheet" />
 9 </head>
10 <body>
11     <div style="text-align:center;margin-top:200px;"><a href="#" title="这是个大美女">美女</a></div>
12     <div style="text-align:center;margin-top:250px;"><a href="#" title="这是个大美女" class="black">美女</a></div>
13 </body>
14 </html>
15 <!--引入需要的js-->
16 <script type="text/javascript" src="Script/jquery-1.11.0.js"></script>
17 <script type="text/javascript" src="Colortip/colortip-1.0/colortip-1.0-jquery.js"></script>
18 <script type="text/javascript" src="Colortip/script.js"></script>

效果:

 通过查看这些设置,是在colortip-1.0-jquery.js文件中进行配置的:

(function($){
    $.fn.colorTip = function(settings){

        var defaultSettings = {
            color        : 'yellow',//默认颜色
            timeout        : 500
        }

        var supportedColors = ['red','green','blue','white','yellow','black'];//总共有6种主题的颜色

        /* Combining the default settings object with the supplied one */
        settings = $.extend(defaultSettings,settings);

        /*
        *    Looping through all the elements and returning them afterwards.
        *    This will add chainability to the plugin.
        */

        return this.each(function(){

            var elem = $(this);

            // If the title attribute is empty, continue with the next element
            if(!elem.attr('title')) return true;

            // Creating new eventScheduler and Tip objects for this element.
            // (See the class definition at the bottom).

            var scheduleEvent = new eventScheduler();
            var tip = new Tip(elem.attr('title'));

            // Adding the tooltip markup to the element and
            // applying a special class:

            elem.append(tip.generate()).addClass('colorTipContainer');

            // Checking to see whether a supported color has been
            // set as a classname on the element.

            var hasClass = false;
            for(var i=0;i<supportedColors.length;i++)
            {
                if(elem.hasClass(supportedColors[i])){
                    hasClass = true;
                    break;
                }
            }

            // If it has been set, it will override the default color

            if(!hasClass){
                elem.addClass(settings.color);
            }

            // On mouseenter, show the tip, on mouseleave set the
            // tip to be hidden in half a second.

            elem.hover(function(){

                tip.show();

                // If the user moves away and hovers over the tip again,
                // clear the previously set event:

                scheduleEvent.clear();

            },function(){

                // Schedule event actualy sets a timeout (as you can
                // see from the class definition below).

                scheduleEvent.set(function(){
                    tip.hide();
                },settings.timeout);

            });

            // Removing the title attribute, so the regular OS titles are
            // not shown along with the tooltips.

            elem.removeAttr('title');
        });

    }

    /*
    /    Event Scheduler Class Definition
    */

    function eventScheduler(){}

    eventScheduler.prototype = {
        set    : function (func,timeout){

            // The set method takes a function and a time period (ms) as
            // parameters, and sets a timeout

            this.timer = setTimeout(func,timeout);
        },
        clear: function(){

            // The clear method clears the timeout

            clearTimeout(this.timer);
        }
    }

    /*
    /    Tip Class Definition
    */

    function Tip(txt){
        this.content = txt;
        this.shown = false;
    }

    Tip.prototype = {
        generate: function(){

            // The generate method returns either a previously generated element
            // stored in the tip variable, or generates it and saves it in tip for
            // later use, after which returns it.

            return this.tip || (this.tip = $('<span class="colorTip">'+this.content+
                                             '<span class="pointyTipShadow"></span><span class="pointyTip"></span></span>'));//显示的消息提示框是一个span标签
        },
        show: function(){
            if(this.shown) return;

            // Center the tip and start a fadeIn animation
            this.tip.css('margin-left',-this.tip.outerWidth()/2).fadeIn('fast');
            this.shown = true;
        },
        hide: function(){
            this.tip.fadeOut();
            this.shown = false;
        }
    }

})(jQuery);

通过该js文件,可见该插件主要是在title属性中设置显示信息的。

总结

colortip用起来还是非常简单的,在想要提示信息的地方加个带title属性的a标签就可以了,不过有点差强人意的地方,如果其他的标签例如按钮,加一个title,就会提示错误。 

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。

转载:http://www.cnblogs.com/wolf-sun/p/3583313.html

时间: 2025-01-01 16:03:31

[js插件]分享一个文章内容信息提示插件Colortip的相关文章

js实现基于正则表达式的轻量提示插件_javascript技巧

本文实例讲述了基于正则表达式的轻量提示插件,分享给大家供大家参考.具体如下: 这是一款javascript实现基于正则表达式的轻量提示插件,本插件是基于正则表达式进行文本框检测的,通用性十分强,大家可以在实例中进行使用. 运行效果图:               -------------------查看效果------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 关键代码: $(document).ready(function () { $("#mess

分享一个jQuery的时间轴插件:TimergliderJS

在线演示1  在线演示2 Timeglider JS是一个由javascript支持缩放,数据驱动的时间轴组件.非常适合显示项目历史,项目计划及其其它需要显示历史的项目. 时间轴可以通过右边拖放垂直滑动器来缩放界面:向上缩小,向下放大.同时也支持使用滚轮来控制缩放.通过鼠标拖东空白处可以左右拖动时间轴,点击事件可以弹出一个小窗口来描述时间内容及其数据. JS组件有以下几个目标: 支持iPads和其它支持触摸的设备 非常容易整合到基于HTML/JS应用和界面 支持复杂的布局,并且可以对任何指定自定

分享一个Visual Studio的背景插件,让堆码更富情趣

忘记一件重要的事情,我使用的是VS 2012版,其他更高版本应该是可以找到的,以下版本就不清楚了.有可能找不到,见谅,也不是我开发的,只是偶尔碰到,拿出来让大家知道. 上周某日,新生命群里面还是一如既往的热闹,突然小明发了张代码截图,问群友帮他看看什么问题,是下面这个问题截图: 结果呢 ,很明显大家都看到了,嘿嘿,讨论问题的人没有了,我直接提问了:这背景姑娘是咋弄上去的...? 然后发问题的人就热心的指点了下,用的是一个VS插件:ClaudiaIDE,在VS的"扩展与更新"里面搜索,记

分享一个jQuery动态网格布局插件:Masonry

在线演示 Masonry是 一款非常强大的jQuery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果.和CSS中float的效果不太一样的地方在 于,float先水平排列,然后再垂直排列,使用Masonry则垂直排列元素,然后将下一个元素放置到网格中的下一个开发区域.这种效果可以最小化处理 不同高度的元素在垂直方向的间隙.如下: 在上图中大家可以看到,在网格布局中使用float来处理不同高度的元素会使得垂直方向的元素间间隔比较大,而使用Masonry处理后,间隔变小. Javas

Js 订制自己的AlertBox(信息提示框)_javascript技巧

本文制作一个用户自定义的AlertBox,效果如图:js文件中插入如下代码: 复制代码 代码如下: // JScript 文件 // constants to define the title of the alert and button text. var ALERT_TITLE = "Oops!"; var ALERT_BUTTON_TEXT = "Close"; // over-ride the alert method only if this a new

分享一个插件实现水珠自动下落效果_javascript技巧

分享一个水珠自动下落的插件,下载地址:https://github.com/foreverjiangting/rainyday.js 下面来看看如何使用它?添加下面代码即可运行它. 实现效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <style> </style> <meta http-equiv="Content-Type" content="text/html; cha

文章内容SEO优化经验分享

提到SEO,很多人都会说要定期更新文章,要写原创文章,最起码也得是伪原创.针对SEO,在所有行业里面,电子商务网站是最先认识到其价值并重点推广的行业,SEO对电子商务网站的销售促进作用也是最大的.那么,电子商务网站到底是怎么做SEO呢?他们有哪些可取之处?今天,以美乐乐家居网为例,动狮网络与大家分享对文章内容SEO优化的经验. 一.首先对美乐乐家居网www.***.com的网站基本情况,作一个总体认知:   到目前为止,美乐乐家居网在百度的收录数量超过32万,Google的收录数量超过63万,对

分享一个原创的eclipse插件:Easy Middle Button

问题描述 看到csdn这里的eclipse版也挺活跃,来分享一个我原创的eclipse插件吧.插件的名称是EasyMiddleButton,主要功能是用鼠标中键来调整编辑器或者视图的大小.当显示器不是很大,但开的视图又比较多时,用这个插件可以很方便地做调整,比直接用左键拖拽视图间的分隔条(Sash)要方便得多.具体大家可以参考我的博客里的介绍或者直接访问插件的主页:博客介绍:http://by-igotit.com/2010/11/eclipse-plugin-easy-middle-butto

易操作的jQuery表单提示插件_jquery

本文实例讲述了一款轻量级的表单提示插件---jQuery Form Toolltip.分享给大家供大家参考.具体如下: jQuery Form Toolltip 特点: 你可以单独自定义提示信息的CSS样式. 你可以指定淡入淡出的方向,当前支持Top, Bottom, Right 和 Left 运行效果截图如下: 具体代码如下: jquery实例:jQuery Form Toolltip使用方法引入核心文件 <script src="js/jquery/2.1.1/jquery.min.j