1

まず、このページ(左側)のナビゲーションメニューを試してみてください:http: //bestds.com/TankStorage/

私はjavasciptを使用して、クリック時にこれらのli要素のdombackgroundColorを更新しています。

Firefoxは更新されたDOM要素をレンダリングしますが、ChromとChromiumはそれらをレンダリングしません。

Chromiumのドキュメントインスペクターを使用すると、li要素のbackground-colorが正しく更新されていることがはっきりとわかりますが、レンダリングされていません。面白いのは、Chromのドキュメントインスペクターでレンダリングされていないhtml要素にカーソルを合わせると、DOMの変更がレンダリングされることです。

これをどのように修正すればよいですか?

4

1 に答える 1

1

私はそれを考え出した。Chromにはレンダリングのバグがあります。

一部のDOMプロパティを更新した直後にウィンドウスクロール関数を呼び出すと、ChromはすべてのDOM変更を完全にレンダリングしません。

この問題を解決するために、次の行を置き換えます。

window.scroll(0,docPos);

この行で:

setTimeout('window.scroll(0,' + docPos + ')',1);

これにより、Chromは、ウィンドウスクロールレンダリングのバグで停止する前に、domの変更をレンダリングできるようになります。

于 2012-06-07T05:41:43.997 に答える