2012-07-05 82 views
0

我对Jquery比较新,所以如果这是显而易见的,请随时给我打耳光。我有这个小小的脚本,它会移动div的边距并将浏览器滚动到新内容。应用时,页面跳转到顶部,然后跳回,然后动画。这是JS。JQuery Animate函数在动画之前跳到屏幕的顶部

 var onoff = true; 

    $('#archive').click(function() { 

     if(onoff == true) 
     { 
      $('#footer').animate({marginTop: 0}, 300); 
      onoff = false; 

     } else 
     { 
      $('html, body').animate({ 
       scrollTop: $("#archive").offset().top 
      }, 2000); 

      $('#footer').animate({marginTop: -171}, 300); 
      onoff = true; 
     } 

    }); 

任何帮助,将不胜感激和抱歉,如果这是一个重复的问题,我无法找到一个,如果它是。

感谢, -S

+0

没有看到你的HTML我不能评论太多。但元素的样式属性对于元素的动画效果非常重要。试想一下,尝试使用填充或实现高度而不是使用边距。 – antony 2012-07-05 23:51:12

+0

感谢您对高度和填充的建议。我肯定会尝试实施。 – Hornerlas 2012-07-06 00:25:35

回答

2

可能是因为你需要的preventDefault

$('#archive').click(function(evt) { 
    evt.preventDefault() 

...