完美兼容ie6789 ff chrome弹窗
类似discuz右下角消息提示框,主要是用css position的fixed属性,但是ie6不支持此属性,通过jquery.fixed.js插件实现兼容.效果如下:

html:千万不要忘记引入jQuery文件
1 <body> 2 <div id="pop" style="display:none;"> 3 <div id="popHead"> 4 <a id="popClose" title="关闭">关闭</a> 5 <h2>温馨提示</h2> 6 </div> 7 <div id="popContent"> 8 <dl> 9 <dt id="popTitle"><a href="#" target="_blank">这里是参数</a></dt> 10 <dd id="popIntro">这里是内容简介</dd> 11 </dl> 12 <p id="popMore"><a href="#" target="_blank">查看 »</a></p> 13 </div> 14 </div> 15 <script type="text/javascript" src="jquery.min.js"></script> 16 <script type="text/javascript" src="popup.js"></script> 17 <script type="text/javascript" > 18 //记得加载jquery 19 //使用参数:1.标题,2.链接地址,3.内容简介 20 window.onload=function(){ 21 var pop=new Pop("这里是标题", 22 "url", 23 "请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介"); 24 } 25 </script> 26 </body>
css:
1 *{margin:0;padding:0;} 2 #pop{background:#fff;width:260px;border:1px solid #e0e0e0;font-size:12px;position: fixed;right:10px;bottom:10px;} 3 #popHead{line-height:32px;background:#f6f0f3;border-bottom:1px solid #e0e0e0;position:relative;font-size:12px;padding:0 0 0 10px;} 4 #popHead h2{font-size:14px;color:#666;line-height:32px;height:32px;} 5 #popHead #popClose{position:absolute;right:10px;top:1px;} 6 #popHead a#popClose:hover{color:#f00;cursor:pointer;} 7 #popContent{padding:5px 10px;} 8 #popTitle a{line-height:24px;font-size:14px;font-family:'微软雅黑';color:#333;font-weight:bold;text-decoration:none;} 9 #popTitle a:hover{color:#f60;} 10 #popIntro{text-indent:24px;line-height:160%;margin:5px 0;color:#666;} 11 #popMore{text-align:right;border-top:1px dotted #ccc;line-height:24px;margin:8px 0 0 0;} 12 #popMore a{color:#f60;} 13 #popMore a:hover{color:#f00;}
js
1 <script type="text/javascript" > 2 //记得加载jquery 3 //使用参数:1.标题,2.链接地址,3.内容简介 4 window.onload=function(){ 5 var pop=new Pop("这里是标题", 6 "url", 7 "请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介.请输入你的内容简介,这里是内容简介"); 8 } 9 </script>
---------------------------------------------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右下角弹窗函数 //作者:yanue 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(); } ); } }

浙公网安备 33010602011771号