3

DOMでのjavascriptアクションが完了したときのhtml要素の高さに基づいてWebページのレイアウトに最終調整を適用したいと思います。このアクションは即時でなければならないので、関数を使用したくありませんsetTimeout。次のことを試しましたが、他の関数がDOMでアクションを完了するには、実行が早すぎます。

document.onreadystatechange = function () {  
 if(document.readyState == 'complete') {  
  alert(document.getElementsByTagName('html')[0].offsetHeight);
 }  
};

DOMでのアクションには、ドキュメントの特定のセクションの非表示が含まれ、それによってhtml要素の高さが短くなります。これらのjavascript関数にはいくつかあり、この最終調整をすべてのWebページに適用する必要があるため、これらのjavascript関数内でコールバック関数を使用したくありません。

これをjavascriptだけで実行できる方法はありますか?

4

1 に答える 1

0

DOMMutationEventsがあります (あった) - 遅く、広くサポートされていません。DOM MutationObserverは新しい遊びです。ただし、ブラウザのサポートはまだ低いです。

異なるブラウザー間でこれを確実に (かつ高速に) 実行することはできません。


DOM 操作ビジネスに (排他的に) jQuery を使用している場合は、cssHooksを参照してください。ただし、jQuery 以外で DOM が変更されるとすぐに、このオプションは失敗します。

于 2012-06-18T10:53:10.120 に答える