jQuery动画DIV

3

嗨,我正在使用Jquery animate函数来动画显示div内容,我试图将div移动到-top位置,但问题是无法停止该函数,它一直移动到极端位置top = -10px。我想在间隔内将其移动至现有高度的-10px,在滚动时再次移动到下一个间隔的进一步-10px。


$("#mvup").animate({"top": "-=10px"}, "slow"); 它会向上移动到顶部的-10像素,但我想要移动到现有高度的顶部-10像素。 - prakashkadakol
2个回答

1
问题在于您只执行了一次代码,因此它会向上移动10个像素,而您需要在特定时间间隔后重复执行该代码。您可以尝试以下操作: $(function(){ setInterval(move,100); });
function move(){ $("#mvup").animate({"top": "-=10px"}, "slow"); }
我认为这可能会对您有所帮助。

1

我想你是想要随着浏览器窗口滚动某些内容,是吗?

这可能会给你一个开始(希望这能起作用):

$(document).scroll(function()
{
  $('yourBox').animate({top: $(document).scrollTop() - 10});
});

所以我猜那是你的原始代码。

window.onload = function()
{
  var frm = document.getElementById("from").contentWindow;
  frm.onscroll = function(){
    $("#mvup").animate({"top": "-=10px"}, "slow");
  }
}

一些提示:
  • jQuery有一个$(document).ready()函数,它取代了window.onload = ...变量。它更灵活、更易于使用,看起来也更酷。
  • jQuery还有一个$('#mvup').scroll()方法,所以我会放弃你的frm.onscroll = ...代码。
祝好运!

window.onload = function() { var frm = document.getElementById("from").contentWindow; frm.onscroll = function(){ $("#mvup").animate({"top": "-=10px"}, "slow"); }} 这里 mvup div 的样式属性为 top:350px,我想在每次滚动事件中将其向上移动 340px。 - prakashkadakol
我本来想把那个加到你的问题里,但我会尽力而为。 - Blender

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