jQuery $(窗口).scroll和Internet Explorer(8-9)

Teb*_*ebo 6 jquery internet-explorer scroll

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();
});
Run Code Online (Sandbox Code Playgroud)

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

页面返回顶部时的问题的屏幕截图.

Chrome(OK):http: //i.stack.imgur.com/6WJx7.jpg

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

Wal*_*osz 2

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