javascript - Firefox,防止在 javascript 语句之间呈现

标签 javascript html firefox

我正在尝试在我的网站上围绕鼠标光标功能创建某种缩放功能,最终运行这两行(+ 高度/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/

相关文章:

html - HTML 中的样式下拉元素

javascript - 将 Google Admin SDK 的响应(包含大括号字符串和项目)转换为多维数组

php - 重新加载页面时使选项卡保持不变

javascript - 循环遍历 div 数组以确定每个元素是否都有子元素

html - 在 View 之间滑动有效...但是 View 位于页眉顶部和页脚后面?

html - Firefox 不考虑内部内联元素的外部 block 最大宽度

css - 我已经开发了网站,问题是相同版本的 firefox 在不同的计算机上显示不同的设计,而其他浏览器却没问题?

javascript - 移动网络应用程序的自动完成

javascript - 浏览器会编译和缓存 javascript 吗?

javascript - 尝试在我的 tumblr 页面上设置 Accordion 部分