jQuery實現網頁右下角懸浮層提示
最近有同事提到類似網頁右下角的消息懸浮提示框的制作。我之前也做過一個類似的例子,很簡單。是仿QQ消息。現在感覺之前的那個例子只是說了實現原理,整體上給你的感覺還是太丑,今天為大家帶來一個新的例子。是Discuz右下角懸浮層提示的。運行效果如下:
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery實現網頁右下角懸浮層提示</title> <style type="text/css"> *{margin:0;padding:0;list-style-type:none;} a,img{border:0;} body{font:12px/180% Arial, Helvetica, sans-serif, "新宋體";}/* pop */ #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> </head> <body style="height:1200px;"> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript"> (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) 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(); } ); } } </script> <script type="text/javascript" > //頁面加載調用 window.onload=function(){ //使用參數:1.標題,2.鏈接地址,3.內容簡介 new Pop("這里是標題,哈哈", "http://www.xttblog.com", "歡迎大家關注我的博客!如有疑問,請加QQ群:135430763共同學習!"); } </script> <div id="pop" style="display:none;"> <div id="popHead"> <a id="popClose" title="關閉">關閉</a> <h2>溫馨提示</h2> </div> <div id="popContent"> <dl> <dt id="popTitle"><a href="http://blog.csdn.net/xmtblog/" target="_blank">這里是標題</a></dt> <dd id="popIntro">這里是內容簡介</dd> </dl> <p id="popMore"><a href="http://blog.csdn.net/xmtblog/" target="_blank">查看 »</a></p> </div> </div> <div style="text-align:center;clear:both"> <p>歡迎大家關注我的個人博客,或者加qq群135430763共同學習!</p> <p><a href="http://blog.csdn.net/xmtblog/" target="_blank">偽專家</a></p> </div> </body>
</html></pre>
本文由用戶 yg3n 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!