在我的动态网站上,我遇到了以下问题:
在借助JavaScript更改div元素大小后的Internet Explorer 6中,其高度为100%的子元素不会立即刷新(即不会拉伸到新的大小)但仅限于单击父div。在我看来,该文档需要一些更新。我想问一下,在一些动态变化发生后,是否有一种命令(如Flash中的命令)更新文档?简而言之,如何解决这个问题?
答案 0 :(得分:1)
在IE6中需要重排是一个非常普遍的问题,有一个庞大的CSS / JS基础。通常,您所要做的就是更改需要重排的元素的参数,例如set display:none然后返回。这将导致浏览器重排当前对象内和周围的对象。大多数情况下,您必须使用JavaScript。如果您不想显示,请尝试更改高度/宽度或添加/删除流量或清除参数。它们都会导致页面回流 但是,大多数情况下,如果您在IE6中遇到重排问题,通常意味着您在页面上有太多的CSS,或者您正在使用CSS来处理它不应该使用的东西(比如布局元素) HTML中的页面顺序错误,即HTML中的element1,element2,element3;显示中的element2,element1,element3)。我建议清理你的CSS,大多数时候,回流问题都会消失。
答案 1 :(得分:0)
如果你必须点击它进行刷新,那么为什么在尺寸更新后没有尝试模拟点击。 Simulating mouse clicks in JavaScript
答案 2 :(得分:0)
我知道我已经被烧毁(不幸的是不止一次)为ajax响应返回了无效的xml。在这方面,IE尤其非常宽容。为了确保可能值得验证响应。在我的一些情况下,糟糕的XML导致JS失败而不是“似乎工作”。