1

指定されたdivのzIndexを(同じ値にでも)変更すると、scrollTopプロパティがリセットされ、スクロールして開始します。これは私のサイトに非常に醜い効果を引き起こします(再描画中のdiv全体の速度低下と黒い長方形)。scrollTopをリセットした後、元に戻すことができますが、これによりさらに別の醜い再描画が発生します。

このFFバグは私を怒らせています!私はmozillahttps://bugzilla.mozilla.org/show_bug.cgi ?id= 623937でバグを提出しましたが、彼らはそれに取り組む気がありません!誰かがJavaScriptの魔法でこの問題を回避する方法を知っているなら、お願いします。たぶん、HTMLElementプロトタイプを試して、scrollTopをなんとかオーバーライドしますか?

ここに小さなテストケースがあります」

<html>
<head>
<style type="text/css">
div#parentDiv
{
position: absolute;
top: 10px;
left: 10px;
width: 300px;
height: 200px;
background-color: green;
}
div#elementToScroll
{
position: absolute;
top: 40px;
left: 40px;
width: 200px;
height: 100px;
overflow-y: hidden;
background-color: blue;
color: white;
}
</style>
</head>

<body>

<div id="parentDiv">
This is the parent DIV
<div id="elementToScroll">This is the child div with overflow-y: hidden and content a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of a lot of ; </div>
</div>

<script>
var parentDIV = document.getElementById("parentDiv");
var elementToScroll = document.getElementById("elementToScroll");
alert ("elementToScroll.scrollTop initial: " + elementToScroll.scrollTop);
elementToScroll.scrollTop = 20;
alert ("We set elementToScroll.scrollTop = 20: current value is: " + elementToScroll.scrollTop);
parentDIV.style.zIndex = 0;
alert ("We set parentDIV.style.zIndex and now elementToScroll.scrollTop is: " + elementToScroll.scrollTop);
</script>

</body>
</html>
4

1 に答える 1

1

テストしましたが、Firefox 4 で問題はありません。

ここに画像の説明を入力

于 2011-02-06T20:17:16.577 に答える