6

http://jsfiddle.net/CbL7W/滚动事件行为示例。

我有这个脚本在 Chrome 和 Firefox 中都能正常工作。

var stickyNavigationOffsetTop = $('.top-nav').offset().top;
var stickyNavigation = function () {
    var scrollTop = $(window).scrollTop();
    if (scrollTop > stickyNavigationOffsetTop) {
        $('.top-nav').css({ 'position': 'fixed', 'top': 0, 'left': 0, 'opacity': .8 });
    } else {
        $('.top-nav').css({ 'position': 'relative', 'opacity': 1 });
    }
};
stickyNavigation();
$(window).scroll(function () {
    stickyNavigation();
});

但是 Internet Explorer 有一个小问题:在同一页面上我有那个脚本 我有一个带有隐藏 div 的脚本的链接,当这种情况发生时,有时页面会完全滚动回页面顶部,但 IE 不是发生这种情况时开火$(window).scroll

页面返回顶部时的问题截图。

铬(好的):http: //i.stack.imgur.com/6WJx7.jpg

IE(错误):http: //i.stack.imgur.com/CXbKk.jpg

4

2 回答 2

2

我有同样的问题,尽管我不喜欢它,但我的解决方法是在显示/隐藏 div 时触发 window.scroll 事件。$(window).trigger('scroll');

于 2013-01-21T16:28:58.813 回答
1

在这篇文章中看到这个答案

我认为改变

$(window).scrollTop() to 
$(document).scrollTop() 

可以解决IE问题。

于 2012-12-14T15:19:22.027 回答