1

私は JavaScript と D3 を初めて使用します。DOM 要素のいくつかの属性を変更してから、ページのリフロー/リフレッシュを行って、更新された変更を確認できるようにしようとしています。秘訣は、onclickevent、ボタンのクリック、マウスの動きなどを一切行わずに、これを自動的に行う必要があるということです。

インターネットで見つけることができるすべてを試しましたが、何も機能しませんでしたが、奇妙なことに、要素の属性を変更する行の直前に alert() を呼び出すと、[OK] をクリックすると、要素が画面上で再配置されます。alert() を呼び出して [OK] をクリックすることなく、これを行う必要があります。

問題のコードは次のとおりです。

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

アラート行を削除すると、要素が移動しません。そのままにして [OK] をクリックすると、すぐに要素が再配置されます。

助けてくれてありがとう!!!!

4

1 に答える 1

1

次のようにコードをラップする必要があります。

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

コードを実行する前にDOMがロードされていることを確認するため。

アラートは、コードを続行する前にページの読み込み時間を取得しているため、その行が問題を「修正」しているように見えます。

于 2014-11-10T22:10:51.250 に答える