我正在尝试在我的网站上围绕鼠标光标功能创建某种缩放功能,最终运行这两行(+ 高度/scrollTop 相同)。
canvas.style.width = someValue;
canvas.parentNode.scrollLeft = someOtherValue;
问题是,在 firefox(3.6) 中,页面在第一行执行后直接重新呈现,并且由于 View 取决于这两个值,这意味着每次我重新计算 View 时,firefox 都会呈现一个无效的在正确的之前查看,换句话说,会产生闪烁。
我试过交换两行,但遇到了同样的问题。
在 chrome、opera 和 IE 中不会发生这种情况。这两行都在任何渲染完成之前执行。
有没有办法手动锁定渲染,也许是这样的?
document.disableRendering(); //fantasy function
canvas.style.width = someValue;
canvas.parentNode.scrollLeft = someOtherValue;
document.enableRendering(); //fantasy function
最佳答案
避免这种情况的常见方法是在进行 DOM 操作时设置 .display = 'none';
。
关于javascript - Firefox,防止在 javascript 语句之间呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797520/