2012-07-13 24 views
4

我有以下代碼:Jquery.css執行上IE和Webkit(鉻,野生動物園)但Firefox不需要的閃爍效果是確定

$(document).ready(function(){ 
    $(window).scroll(function(){  
     Topo = $(window).scrollTop(); 
     ObjScrollASoda.css({ 
      'marginTop' : (Topo - 800)+'px' 
     }); 
    }); 
}); 

(注:ObjScrollASoda是用於罐的jquery對象)

這裏是一個小提琴複製它由特魯法提出問題: http://jsfiddle.net/VcvJe/1/

在藍色的部分,有一個藍色的罐,將「滾動」與網頁製作的視差般的效果。這就是問題所在,因爲我只是在用戶滾動頁面的時候設置了CSS,而只在Chrome(以及其他Webkit瀏覽器)中設置了CSS,所以發生閃爍效果(不需要)。我注意到它不會在Firefox中發生。有沒有人知道如何避免這種「閃爍」效應?

這裏解釋更好的視頻正在發生的事情: http://www.youtube.com/watch?v=SqDmOx6XY-M

(對不起,我的英語)

+2

+1視頻:) – Trufa 2012-07-13 20:03:20

+0

如果你想,我會嘗試建立一個用的jsfiddle作爲一個例子,很容易在... – Trufa 2012-07-13 20:05:57

+1

這裏是我的HTTP一個類似的例子來測試://的jsfiddle .net/VcvJe/1/ – Trufa 2012-07-13 20:14:33

回答

3

我看你YouTube影片,最好的方法是設置position:fixed時不移動阿祖爾可以或設置position:absolute移動時它。

也就是說,這個SO Member's Answer創建了一個簡單的插件用.scrollTop();方法做到這一點。

同樣的SO問題頁面還有很多其他有用的答案。

參考:jsFiddle with Azul Can for Chrome

認爲的jsfiddle沒有如見於地址欄訪問編輯頁面/show/

0

也許我不完全理解的問題,但它聽起來像你想的能保持它在那裏就像用戶向下滾動頁面一樣。我認爲您所描述的閃爍效果是由於用戶滾動時重新定位罐所致。

會使用position: fixed作爲可接受的選擇嗎?演示請參閱http://jsfiddle.net/VcvJe/8/

對於固定的位置,該元素永遠不會重新定位,因此沒有閃爍。但是,它不會在IE < 7中工作,因爲不支持position: fixed