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技巧大放送 学习jquery的朋友可以看下
Oct 14 Javascript
JavaScript中this详解
Sep 01 Javascript
js获取本机操作系统类型的两种方法
Dec 19 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
JavaScript制作简易计算器(不用eval)
Feb 05 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
JS正则表达式常见用法实例详解
Jun 19 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 Vue.js
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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
python利用hook技术破解https的实例代码
2013/03/25 Python
python连接MySQL数据库实例分析
2015/05/12 Python
python数组复制拷贝的实现方法
2015/06/09 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
python如何安装下载后的模块
2020/07/03 Python
python如何调用php文件中的函数详解
2020/12/29 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android