【转】jQuery thickbox插件在IE6下滚动条消失的bug

原文地址:http://www.css88.com/archives/734

最近发现jQuery thickbox插件在IE6下滚动条消失的bug,

大家可以在这里用ie6试试:http://jquery.com/demo/thickbox/

就是在ie6下,弹出窗口的时候页面的滚动会消失,从而是页面向右抖动一下,关闭窗口时,滚动条出现,从而使页面又向左抖动,这造成了很不好的用户体验。

出现这个问题的主要原因是ie6对js的页面高度宽度解析的不同

可以参阅http://www.css88.com/article.asp?id=133

但是bug出现的前提是你的页面上引用的是xhtml 1.0的dtd,也就是“<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>”

如果你引用的是html4.0的dtd那么就没有这个bug。

但是当前绝大多数的的页面都是引用xhtml 1.0的dtd,要避免这个bug这就需要改造thickbox插件,其实很简单,只要将没有压缩过的的thickbox.js打开,找到tb_show这个函数,

将下面两句注释掉就可以了,Thickbox 3.1中在整个文件的35和36行。

JavaScript代码
  1. $(“body”,“html”).css({height: “100%”, width: “100%”});   
  2. $(“html”).css(“overflow”,“hidden”);  
posted @ 2010-11-26 11:31  wingle  阅读(307)  评论(3编辑  收藏  举报