2013-03-29 3 views
3

это хорошо работает во всех баузерах, кроме IE, как я могу это исправить? когда я прокручиваю в IE, он очень рывкий.т. Е. Отрывистый при прокрутке

http://jsfiddle.net/cc48t/

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

какая версия (ы) в 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; 
} 

EDIT: Я добавил множество width и margin к #scroller, и установить left: 50% и margin-left: -250px; (половина ширины набора) к .top класса

+0

отлично смотрятся на других, думают, если его фиксированный запас: o автоматически не будет помещать div в середину экрана, у вас есть решение для этого? Благодарю. –

+0

Я обновил ответ и скрипку, чтобы отразить прямоугольник с фиксированной шириной, центрированный на экране. Вы можете сделать то же самое с шириной на основе%. –

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 –

Смежные вопросы