Gee*_*Bee 5 javascript internet-explorer-9
我很难解释为什么以下代码在IE9中运行速度比IE8 慢!
这里有一些测试代码可以在OS X,WinXP和Win7上的(最新)FF/Chrome/Safari和WinXP 上的 IE7和8 中的大约半秒内平稳运行(为简单起见,我删除了使其在IE6中工作的调整).
由于某些原因我无法解释,它在IE9中很糟糕,速度慢而且笨重.减少setTimeout的时间会使它更快但不会少于生涩.
我已经尝试删除和基准测试一些可能是阻塞点(例如Math.min ......所有这些都没有改变.
我很难过......任何人都可以指出我正确的方向吗?...最好是一个不需要浏览器嗅探的人?
这是测试代码......
<div id = 'panel' class='noShow' style='background-color: #aaa;'>
<div id = 'wrapper' class='slideWrapper'>
<p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p><p>xxxxxxxxxxx</p>
</div>
</div>
<script type = 'text/javaScript'>
var e = document.getElementById('panel');
var w = document.getElementById('wrapper');
w.style.overflow = 'hidden';
w.style.height = '1px';
var sh = w.scrollHeight;
show();
function show()
{
setTimeout(function()
{
w.style.height = Math.min(sh, (w.offsetHeight + Math.ceil(sh/15))) + 'px';
if(
(w.offsetHeight < sh)
)
{
show(e);
}
else
{
w.style.height = 'auto';
}
}, 20);
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2751 次 |
| 最近记录: |