jQuery动画滚动条功能在Internet Explorer中无法正常工作。

17

我正在使用以下代码:

$('#goto_introduction_divcontent').click(function(){    
    var targetOffset = $('#introduction_div').offset().top;    
    $('html, body').animate({scrollTop:targetOffset}, 'slow');    
    if ($.browser.msie){    
        document.documentElement.scrollTop = targetOffset;  
    }  
});   

但是在Internet Explorer中无法使用。我的jsFiddle链接在这里


请在您认为是浏览器特定问题时指定浏览器版本。顺便说一句,它在FF3.6和IE8上运行良好。 - Selvakumar Arumugam
在Chrome和Firefox中它能正常工作,但在IE7和IE9中无法工作。 - Suresh Pattu
1个回答

45

在IE8+中,这对我有效:

$('body, html').animate({ scrollTop: 0 }, 'slow');
也许你的IF语句有问题?

4
救命稻草!我尝试了每一种window.parent、window.parent.document、window.parent.document.$("body")等组合,但没想到要尝试html,直到看到这个 - html在IE中有效,而body在我们支持的所有其他浏览器中有效 :) - ClarkeyBoy
我可以证实在多个浏览器中都能看到这个工作。我担心它可能不够高效,也许有一些方法可以先检查动画支持,然后相应地选择标签。但是由于现在我没有时间去做这件事,所以点赞!在紧急情况下可行! - dudewad
添加 'html' 选择器对我有用。谢谢! - Tormod Haugene
2
在IE11中,html选择器对我很有帮助。非常感谢。 - nicohvi
我已经使用过这个方法,在IE 7及以上的所有版本中都能正常工作。 - Narayan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接