我想在屏幕上获取div的顶部和左侧值。
我一直在使用代码来计算顶部和左侧值。
var total1 = 0;
var total2 = 0;
while(element){
total1+=element.offsetTop;
total2+=element.offsetLeft;
try{
element=element.offsetParent;
}catch(E){
break;
}
}
对于相同的DOM TREE,此代码在IE8中提供30毫秒的性能读数 在IE6中为80到200毫秒。 我想在IE6中获得相当大的性能提升。
我对所有想法持开放态度。
顺便说一句,我也试过了
var total1 = 0;
var total2 = 0;
do{
total1+=element.offsetTop;
total2+=element.offsetLeft;
}while(element=element.offsetParent);
阅读一两篇博客文章后。性能类似。
我发现大部分时间都花在获取属性值上,而不是解析DOM TREE,而不是从我的日志中解析出来。(我可能错了)
此外我放在这里的代码是......可能会犯错误。
我在关注性能提升。地板是开放的尝试任何东西只有约束只是javascript,jquery,原型等不是一个选项。
提前致谢!! :)
答案 0 :(得分:0)
我严重怀疑你能否提出比jQuery的偏移计算更快的东西。 IE6非常缓慢,只有这么多才能改进它。
考虑阅读jQuery's implementation并将其独立包装/移植。
答案 1 :(得分:0)
我建议您在comp.lang.javascript上提出这个问题。你也可以发布为什么你发现这是一个性能问题。如果重复此计算,可能有办法避免重复计算。