Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使DOM回流/刷新_Javascript_Jquery_Dom_D3.js_Reflow - Fatal编程技术网

Javascript 使DOM回流/刷新

Javascript 使DOM回流/刷新,javascript,jquery,dom,d3.js,reflow,Javascript,Jquery,Dom,D3.js,Reflow,我不熟悉JavaScript和D3,我正在尝试修改DOM元素的一些属性,然后让页面回流/刷新,以便可以看到这些更新的更改。诀窍是,我需要它自动发生,而无需任何onclick事件、按钮单击或鼠标移动或其他任何操作 我已经尝试了在internet上找到的所有方法,但都没有效果,但奇怪的是,如果我在更改元素属性的行之前调用alert(),当我单击“确定”时,元素会在屏幕上重新定位自己。我需要这样做,而不必调用alert()并单击OK 下面是有问题的代码: alert("HI") $("#g1").at

我不熟悉JavaScript和D3,我正在尝试修改DOM元素的一些属性,然后让页面回流/刷新,以便可以看到这些更新的更改。诀窍是,我需要它自动发生,而无需任何onclick事件、按钮单击或鼠标移动或其他任何操作

我已经尝试了在internet上找到的所有方法,但都没有效果,但奇怪的是,如果我在更改元素属性的行之前调用alert(),当我单击“确定”时,元素会在屏幕上重新定位自己。我需要这样做,而不必调用alert()并单击OK

下面是有问题的代码:

alert("HI")
$("#g1").attr("transform", "translate(0,10)");
如果我删除警戒线,我的元素永远不会移动。如果我把它放在那里,然后单击OK,那么一旦我这样做,我的元素就会重新定位自己


谢谢你的帮助

您需要像这样包装代码:

$(document).ready( function() {
    $("#g1").attr("transform", "translate(0,10)");
});
以确保在尝试执行代码之前加载DOM


您的警报是在继续执行代码之前获取要加载的页面时间,这就是为什么该行似乎“修复”了问题。

如果
document.ready
不起作用,请尝试
$(窗口)。在(“加载”,function(){…})