jquery animate scrollTop不能在FireFox或IE上运行

时间:2015-10-06 22:30:13

标签: javascript jquery html firefox

我有一些jQuery代码在click事件中滚动到元素的父级顶部。这段代码效果很好,但是,在IE和Firefox上测试时,滚动不起作用。有没有人知道这个功能的解决方案与IE和Firefox一起使用?



$(".character-img").click(function(){
  	$('body').animate({scrollTop: $(this).parent().offset().top});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>

<div class="character">
    <img class="character-img" src="https://unsplash.it/200/300" /> 
    <div class="content">
        
    </div>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

这是一个已知问题,Firefox只会在声明bodyhtml时接受scrollTop。

$('html,body').animate({scrollTop: $(this).parent().offset().top});

是写这个的正确方法。

请参阅Animate scrollTop not working in firefox