js实现右下角提示框的方法


Posted in Javascript onFebruary 03, 2015

本文实例讲述了js实现右下角提示框的方法。分享给大家供大家参考。具体实现方法如下:

实现右下角提示框的Jquery插件 (popup.js)

//兼容ie6的fixed代码   

//jQuery(function($j){  

//    $j('#pop').positionFixed()  

//})  

(function($j){  

    $j.positionFixed = function(el){  

        $j(el).each(function(){  

            new fixed(this)  

        })  

        return el;                    

    }  

    $j.fn.positionFixed = function(){  

        return $j.positionFixed(this)  

    }  

    var fixed = $j.positionFixed.impl = function(el){  

        var o=this;  

        o.sts={  

            target : $j(el).css('position','fixed'),  

            container : $j(window)  

        }  

        o.sts.currentCss = {  

            top : o.sts.target.css('top'),                

            right : o.sts.target.css('right'),                

            bottom : o.sts.target.css('bottom'),                  

            left : o.sts.target.css('left')               

        }  

        if(!o.ie6)return;  

        o.bindEvent();  

    }  

    $j.extend(fixed.prototype,{  

        ie6 : $.browser.msie && $.browser.version < 7.0,  

        bindEvent : function(){  

            var o=this;  

            o.sts.target.css('position','absolute')  

            o.overRelative().initBasePos();  

            o.sts.target.css(o.sts.basePos)  

            o.sts.container.scroll(o.scrollEvent()).resize(o.resizeEvent());  

            o.setPos();  

        },  

        overRelative : function(){  

            var o=this;  

            var relative = o.sts.target.parents().filter(function(){  

                if($j(this).css('position')=='relative')return this;  

            })  

            if(relative.size()>0)relative.after(o.sts.target)  

            return o;  

        },  

        initBasePos : function(){  

            var o=this;  

            o.sts.basePos = {  

                top: o.sts.target.offset().top - (o.sts.currentCss.top=='auto'?o.sts.container.scrollTop():0),  

                left: o.sts.target.offset().left - (o.sts.currentCss.left=='auto'?o.sts.container.scrollLeft():0)  

            }  

            return o;  

        },  

        setPos : function(){  

            var o=this;  

            o.sts.target.css({  

                top: o.sts.container.scrollTop() + o.sts.basePos.top,  

                left: o.sts.container.scrollLeft() + o.sts.basePos.left  

            })  

        },  

        scrollEvent : function(){  

            var o=this;  

            return function(){  

                o.setPos();  

            }  

        },  

        resizeEvent : function(){  

            var o=this;  

            return function(){  

                setTimeout(function(){  

                    o.sts.target.css(o.sts.currentCss)        

                    o.initBasePos();  

                    o.setPos()  

                },1)      

            }             

        }  

    })  

})(jQuery)  

  

jQuery(function($j){  

    $j('#footer').positionFixed()  

})  

  

//pop右下角弹窗函数  

function Pop(title,url,intro){  

    this.title=title;  

    this.url=url;  

    this.intro=intro;  

    this.apearTime=1000;  

    this.hideTime=500;  

    this.delay=10000;  

    //添加信息  

    this.addInfo();  

    //显示  

    this.showDiv();  

    //关闭  

  this.closeDiv();  

}  

Pop.prototype={  

  addInfo:function(){  

    $("#popTitle a").attr('href',this.url).html(this.title);  

    $("#popIntro").html(this.intro);  

    $("#popMore a").attr('href',this.url);  

  },  

  showDiv:function(time){  

        if (!($.browser.msie && ($.browser.version == "6.0") && !$.support.style)) {  

      $('#pop').slideDown(this.apearTime).delay(this.delay).fadeOut(400);;  

    } else{//调用jquery.fixed.js,解决ie6不能用fixed  

      $('#pop').show();  

            jQuery(function($j){  

                $j('#pop').positionFixed()  

            })  

    }  

  },  

  closeDiv:function(){  

      $("#popClose").click(function(){  

            $('#pop').hide();  

          }  

    );  

  }  

}

右下角提示框实例

<!DOCTYPE HTML>  

<html>  

<head>  

    <meta charset="UTF-8">  

    <title>jquery右下角pop弹窗</title>  

</head>  

<body>  

<h2>请看浏览器有下角</h2>  

<!--jquery右下角pop弹窗start -->  

<script type="text/javascript" >  

      window.onload=function(){  

            var pop=new Pop("这里是标题,哈哈",  

            "URL超链接",  

            "请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介");  

        }  

</script>  

<script type="text/javascript" src="jquery.min.js"></script>  

<script type="text/javascript" src="popup.js"></script>  

<div id="pop" style="display:none;">  

    <style type="text/css">  

    *{}{margin:0;padding:0;}  

    #pop{}{background:#fff;width:260px;border:1px solid #e0e0e0;font-size:12px;position: fixed;right:10px;bottom:10px;}  

    #popHead{}{line-height:32px;background:#f6f0f3;border-bottom:1px solid #e0e0e0;position:relative;font-size:12px;padding:0 0 0 10px;}  

    #popHead h2{}{font-size:14px;color:#666;line-height:32px;height:32px;}  

    #popHead #popClose{}{position:absolute;right:10px;top:1px;}  

    #popHead a#popClose:hover{}{color:#f00;cursor:pointer;}  

    #popContent{}{padding:5px 10px;}  

    #popTitle a{}{line-height:24px;font-size:14px;font-family:'微软雅黑';color:#333;font-weight:bold;text-decoration:none;}  

    #popTitle a:hover{}{color:#f60;}  

    #popIntro{}{text-indent:24px;line-height:160%;margin:5px 0;color:#666;}  

    #popMore{}{text-align:right;border-top:1px dotted #ccc;line-height:24px;margin:8px 0 0 0;}  

    #popMore a{}{color:#f60;}  

    #popMore a:hover{}{color:#f00;}  

    </style>  

    <div id="popHead">  

    <a id="popClose" title="关闭">关闭</a>  

    <h2>温馨提示</h2>  

    </div>  

    <div id="popContent">  

    <dl>  

        <dt id="popTitle">这里是标题</dt>  

        <dd id="popIntro">这里是内容简介</dd>  

    </dl>  

    <p id="popMore">查看 »</p>  

    </div>  

</div>  

<!--右下角pop弹窗 end-->  

<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>jquery右下角弹窗   

</body>  

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
用JQuery 实现的自定义对话框
Mar 24 Javascript
JavaScript面向对象程序设计三 原型模式(上)
Dec 21 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
vue-cli脚手架-bulid下的配置文件
Mar 27 Javascript
微信小程序支付功能 php后台对接完整代码分享
Jun 12 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
Aug 05 Javascript
node.js处理前端提交的GET请求
Aug 30 Javascript
vue.js实现简单的计算器功能
Feb 22 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
Node.js中child_process实现多进程
Feb 03 #Javascript
jquery实现增加删除行的方法
Feb 03 #Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 #Javascript
director.js实现前端路由使用实例
Feb 03 #Javascript
js与jquery回车提交的方法
Feb 03 #Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
Feb 03 #Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 #Javascript
You might like
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
PHP令牌 Token改进版
2008/07/18 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php取出数组单个值的方法
2018/03/12 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
django的登录注册系统的示例代码
2018/05/14 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
详解Python用户登录接口的方法
2019/04/17 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
电焊工工作岗位职责
2014/02/06 职场文书
小学信息技术教学反思
2014/02/10 职场文书
英语老师推荐信
2014/02/26 职场文书
药剂专业求职信
2014/06/20 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
新郎接新娘保证书
2015/05/08 职场文书
美容院管理规章制度
2015/08/05 职场文书