2014-05-19 68 views
2

我已經編寫了一個簡單的計時器應用程序,可以隨着計時器的進展更改背景的顏色,從而提供一個視覺指示,表明您距離時間有多近。這似乎在Chrome中運行良好,但在Firefox中遇到嚴重問題。而不是在整個頁面上滑動,背景會閃爍並跳躍,直到它變得非常接近結束,此時它的行爲如預期。Firefox中的jQuery animate()Buggy

編輯:問題確實,事實上,結果是CSS的問題。 JavaScript/jQuery是正確的。

頁:andrewcombs13.com/myStuff/timer/

相關HTML:

<div id="Slider"></div> 

相關CSS:

#Slider { 
position: fixed; 
top: 0px; bottom: 0px; 
left: 0px; right: 100%; 
z-index: fixed; 
background-color: red; 
} 

相關的JavaScript:

var sliderPercent = (window.time * 100/window.timeSet); 
if(sliderPercent > (window.lastSliderPercent + 75)) { 
    $("#Slider").animate({right: sliderPercent.toString().concat("%")}, 750, "easeInOutCubic"); 
} else { 
    $("#Slider").animate({right: sliderPercent.toString().concat("%")}, window.tickLength - 10, "linear"); 
} 
window.lastSliderPercent = sliderPercent; 

在哪裏窗口。 time是定時器上剩餘的當前時間,window.timeSet是定時器的初始值,window.tickLength是調用定時器的函數調用的頻率,而window.lastSliderPercent僅在此處使用。

完整的源可以在這裏找到:
HTML:查看源代碼:andrewcombs13.com/myStuff/timer/
CSS:andrewcombs13.com/myStuff/timer/timer.css
的JavaScript:andrewcombs13.com/的MyStuff /定時器/ timer.js

我的設置:
視窗7 64位
火狐29.0.1
鉻34.0.1847.137米

USI ng來自Google CDN的jQuery 1.11.1和jQuery UI 1.10.4

回答

0

看看Firefox如何改變這些值,似乎Firefox在解決right css屬性問題時遇到問題,因爲left:0px被分配爲#slider而停止。從你的css中刪除left:0px,並添加width:100%似乎已經解決了這個問題。

0

而不是使用animate,只需使用css即可。

$("#Slider").css({right: sliderPercent.toString().concat("%")});

這將解決您的問題。