2011-02-05 79 views
1

每當我更改給定的div的zIndex(甚至到相同的值),它的scrollTop屬性重置,它滾動回來開始。這會對我的網站造成非常難看的效果(在重新繪製整個div時減速和黑色矩形)。 scrollTop reset後,我可以設置它,但這會導致另一個醜陋重繪。Firefox的scrollTop重置zIndex更改

這個FF bug讓我很生氣!我在mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=623937中提交了一個bug,但他們並不在意它的工作!請問,如果有人知道如何解決這個問題與一些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> 
+2

這是一個完整的神祕火狐如何決定什麼提交真實開發商的bug – selbie 2011-02-05 06:26:15

+1

它似乎並不特定於zIndex。切換可見性樣式也會重置滾動位置。 – selbie 2011-02-05 07:11:10

回答

1

我測試了,沒有什麼是錯與Firefox 4:

enter image description here