弹出层就是相对文档或窗口定位的一个层,一般用来显示提示信息、广告等内容,还可以配合覆盖层来锁定页面。 在仿Lightbox效果中,已经基本实现了这个效果,这次主要改进了ie6在fixed时的抖动问题。 程序说明 【实现原理】 弹出层的基本原理在仿Lightbox效果中已经说的差不多了。
由于ie6本身不支持fixed定位,只能模拟或取巧来间接实现。 想要不发抖,可以通过html和css的巧妙应用来实现,具体参考14px的介绍。 程序中用了另一个方法,通过body的背景和expression来实现,下面是一个兼容的fixed效果: <!DOCTYPE html> <html> <head> <style> body { _background: url(about:blank) fixed; } .fixable { position:fixed; top:100px; _position:absolute; _top:expression((document).documentElement.scrollTop+100); } </style> </head> <body style="height:1500px;"> <div class="fixable">fixable</div> </body> </html>
if (body.currentStyle.backgroundAttachment !== "fixed") { if (body.currentStyle.backgroundImage === "none") { body.runtimeStyle.backgroundRepeat = "no-repeat"; body.runtimeStyle.backgroundImage = "url(about:blank)"; } body.runtimeStyle.backgroundAttachment = "fixed"; }
layer = document.createElement("<div style='position:absolute;border:0;padding:0;margin:0;overflow:hidden;background:transparent;top:expression((document).documentElement.scrollTop);left:expression((document).documentElement.scrollLeft);width:expression((document).documentElement.clientWidth);height:expression((document).documentElement.clientHeight);display:block;'>"); |