jquery tips提示插件

/**
* jquery tips 提示插件 jquery.tips.js v0.1beta
*
* 使用方法
* $(selector).tips({   //selector 为jquery选择器
*  msg:'your messages!',    //你的提示消息  必填
*  side:1,  //提示窗显示位置  1,2,3,4 分别代表 上右下左 默认为1(上) 可选
*  color:'#FFF', //提示文字色 默认为白色 可选
*  bg:'#F00',//提示窗背景色 默认为红色 可选
*  time:2,//自动关闭时间 默认2秒 设置0则不自动关闭 可选
*  x:0,//横向偏移  正数向右偏移 负数向左偏移 默认为0 可选
*  y:0,//纵向偏移  正数向下偏移 负数向上偏移 默认为0 可选
* })
*
*
*/
(function ($) {
    $.fn.tips = function(options){
        var defaults = {
            side:1,
            msg:'',
            color:'#FFF',
            bg:'#F00',
            time:2,
            x:0,
            y:0
        }
        var options = $.extend(defaults, options);
        if (!options.msg||isNaN(options.side)) {
        throw new Error('params error');
    }
    if(!$('#jquery_tips_style').length){
        var style='';
        $(document.body).append(style);
    }
        this.each(function(){
            var element=$(this);
            var element_top=element.offset().top,element_left=element.offset().left,element_height=element.outerHeight(),element_width=element.outerWidth();
            options.side=options.side<1?1:options.side>4?4:Math.round(options.side);
            var sideName=options.side==1?'top':options.side==2?'right':options.side==3?'bottom':options.side==4?'left':'top';
            var tips=$('
'+options.msg+'
').appendTo(document.body); tips.find('.jq_tips_arrow').css('border-'+sideName,'10px solid '+options.bg); tips.find('.jq_tips_info').css({ color:options.color, backgroundColor:options.bg }); switch(options.side){ case 1: tips.css({ top:element_top-tips.outerHeight()+options.x, left:element_left-10+options.y }); break; case 2: tips.css({ top:element_top-20+options.x, left:element_left+element_width+options.y }); break; case 3: tips.css({ top:element_top+element_height+options.x, left:element_left-10+options.y }); break; case 4: tips.css({ top:element_top-20+options.x, left:element_left-tips.outerWidth()+options.y }); break; default: } var closeTime; tips.fadeIn('fast').click(function(){ clearTimeout(closeTime); tips.fadeOut('fast',function(){ tips.remove(); }) }) if(options.time){ closeTime=setTimeout(function(){ tips.click(); },options.time*1000); tips.hover(function(){ clearTimeout(closeTime); },function(){ closeTime=setTimeout(function(){ tips.click(); },options.time*1000); }) } }); return this; }; })(jQuery);

 

转载于:https://my.oschina.net/u/2318591/blog/378624

你可能感兴趣的:(jquery tips提示插件)