【问题标题】:Making DOM Reflow/Refresh制作 DOM 回流/刷新
【发布时间】:2015-01-07 08:21:09
【问题描述】:

我是 JavaScript 和 D3 的新手,我正在尝试修改 DOM 元素的一些属性,然后让页面重排/刷新,以便我可以看到这些更新的更改。诀窍是我需要这种情况自动发生,而不需要任何类型的 onclickevent 或按钮单击或鼠标移动或任何东西。

我已经尝试了我在互联网上可以找到的所有内容,但没有任何效果,但奇怪的是,如果我在更改元素属性的行之前调用 alert(),当我单击确定时,元素会重新定位屏幕。我需要这种情况发生,而不必调用 alert() 并单击 OK。

这是有问题的代码:

alert("HI")
$("#g1").attr("transform", "translate(0,10)");

如果我删除警告行,我的元素永远不会移动。如果我把它留在那里,然后单击确定,那么一旦我这样做,我的元素就会自行重新定位。

感谢您的帮助!!!!

【问题讨论】:

    标签: javascript jquery dom d3.js reflow


    【解决方案1】:

    你需要像这样包装你的代码:

    $(document).ready( function() {
        $("#g1").attr("transform", "translate(0,10)");
    });
    

    为了确保在您尝试执行代码之前加载 DOM。

    在继续执行代码之前,您的警报正在等待页面加载时间,这就是该行似乎“修复”问题的原因。

    【讨论】:

    • 如果document.ready 不成功,试试$(window).on("load",function(){...});
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 2021-09-30
    • 2014-07-07
    • 2012-02-09
    • 2021-05-18
    相关资源
    最近更新 更多