我是JavaScript和D3的新手,我正在尝试修改DOM元素的一些属性,然后进行页面回流/刷新,这样我就可以看到这些更新的更改。诀窍是,我需要在没有任何点击、按钮点击或鼠标移动或任何事情的情况下自动实现这一点。
我已经尝试了在互联网上找到的一切,但都没有成功,但奇怪的是,如果我在更改元素属性的行之前调用alert(),当我单击"确定"时,元素会在屏幕上重新定位。我需要在不需要调用alert()并单击OK的情况下实现这一点。
这是有问题的代码:
alert("HI")
$("#g1").attr("transform", "translate(0,10)");
如果我删除了警戒线,我的元素就永远不会移动。如果我把它留在那里,然后单击"确定",那么只要我这样做,我的元素就会重新定位自己。
谢谢你的帮助!!!!
您需要像这样包装您的代码:
$(document).ready( function() {
$("#g1").attr("transform", "translate(0,10)");
});
以便确保在尝试执行代码之前加载DOM。
您的警报是在继续代码之前获得加载页面的时间,这就是为什么这一行似乎"解决"了问题。