scrollTop在firefox和IE中不起作用

scrollTop not working in firefox and IE

本文关键字:不起作用 IE firefox scrollTop      更新时间:2023-09-26

我在firefox和IE中有一些滚动屏问题我使用scrolltop超过2次在我的代码在第一部分,它的工作,但在第二部分,它没有我有两个箭头"下一步"answers"前",当点击他们的页面滚动到特定的部分,我找不到,我怎么修理它?

jquery:

var lchiled=$("ul#portfolio li").last();
var fchiled=$("ul#portfolio li").first();
$('li.section').first();
$("ul#portfolio li:first-child").addClass("current");
$('a.display').on('click', function(e) {
    e.preventDefault();
    var t = $(this).attr('name');
    that = $(this);

    if (t === 'next') {
        if($('.current').next('.section').length==0)
            var $next = $('li.section').first();
        else
            var $next = $('.current').next('.section');
        var top = $next.offset().top -65;
        $('.current').removeClass('current');
        $('body,html').animate({
        scrollTop: top,
        }, 
        function () {
        $next.addClass('current');
        // alert(top);
        });
    }
    else if (t === 'prev' && $('.current').prev('li.section').length > 0) {
        var $prev = $('.current').prev('.section');
        var top = $prev.offset().top -65;
        $('.current').removeClass('current');
        $('body').animate({
             scrollTop: top,     
        }, function () {
            $prev.addClass('current');
        });
    } 
});
html:

<div id="container">
   <ul id="portfolio" class="clearfix">
   </ul>
</div>

列表是用jquery代码动态生成的

必须是这样

$('body,html').animate({
         scrollTop: top,     
    }, function () {
        $prev.addClass('current');
    });

代替

$('body').animate({
         scrollTop: top,     
    }, function () {
        $prev.addClass('current');
    });

我忘记更新前一部分,所以这个问题发生了

您在两个地方使用.animatescrollTop。在一种情况下,您(正确地)使用html,body作为选择器。在另一种情况下,您只使用body。你想知道为什么它在某些浏览器中不起作用;)

try var offset = $(window).scrollTop(); this .

您可以使用window.scrollTo(x,y)