4

这适用于除 IE 之外的所有浏览器。我该如何解决?当我在 IE 中滚动时,它非常生涩。

http://jsfiddle.net/cc48t/

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

2 回答 2

4

试试这个(小提琴):

$(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;
}

编辑:我将 set widthand marginto#scroller和 set left: 50%and margin-left: -250px;(Half of the set width) 添加到 .top 类

于 2013-03-29T15:43:27.470 回答
1

你也可以试试这个(小提琴

$(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');
    }
}
);
于 2013-03-29T15:47:52.753 回答