2015-10-06 109 views
1

我有一些jQuery代码滚动到单击事件的元素的父母的顶部。这段代码很好用,但是,在IE和Firefox上测试时,滚动不起作用。有谁知道这个功能的解决方案与IE和Firefox一起工作吗?jQuery的动画scrolltop不工作在火狐或IE

$(".character-img").click(function(){ 
 
    \t $('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>

回答

2

这是一个众所周知的问题,Firefox将只接受scrollTop的当两个bodyhtml声明。

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

是写这个的正确方法。

请参阅Animate scrollTop not working in firefox

+0

谢谢!这解决了我在Firefox中的问题,但不是IE。任何想法如何解决IE浏览器? – EricBellDesigns