2013-03-29 85 views
3

這適用於除IE以外的所有bowsers如何解決這個問題?當我在IE中滾動時,它非常生澀。即滾動時滾動

http://jsfiddle.net/cc48t/

//js 
$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     $('#scroller').css('top', $(window).scrollTop()); 
    } 
} 
); 
+0

什麼版本(S)的IE瀏覽器,你與測試? – Spudley

+0

IE10對我來說很生澀。 –

+0

我似乎無法在IE8中打開任何這些小提琴...小提琴頁面的格式都搞砸了。有誰知道爲什麼? (我認爲有少量的JS錯誤,我認爲) – user1766760

回答

4

試試這個(fiddle):

$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     $('#scroller').addClass("top"); 
    } 
    else { 
     $('#scroller').removeClass("top"); 
    } 
}); 

和CSS:

#scroller { 
    position: relative; 
    top: 100px; 
    width: 500px; 
    background: #CCC; 
    height: 100px; 
    margin: 0 auto; 
} 

#scroller.top { 
    position: fixed; 
    top: 0; 
    left: 50%; 
    margin-left: -250px; 
} 

編輯:我添加了一套widthmargin#scroller,並設置left: 50%margin-left: -250px;(集合寬度的一半)的.TOP班

+0

看起來很不錯,如果它的固定邊距更多的話:o auto不會把div放在屏幕中間你有解決方案嗎?謝謝。 –

+0

我更新了答案和小提琴,以反映屏幕中央的固定寬度div。你可以用基於%的寬度來做同樣的事情。 –

1

你可以試試這太(fiddle

$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     //$('#scroller').css('top', $(window).scrollTop()); 
     $('#scroller').css('top', '0px'); 
     $('#scroller').css('position', 'fixed'); 
    } 
    else 
    { 
     $('#scroller').css('top', '100px'); 
     $('#scroller').css('position', 'absolute'); 
    } 
} 
); 
+0

基本上和我的一樣,但我的CSS保存在CSS中 –