【问题标题】:Couldn't assign 'top' from variable in jQuery Animate无法从 jQuery Animate 中的变量分配“顶部”
【发布时间】:2010-06-04 06:02:51
【问题描述】:

我被困在这里,我正在尝试通过选择它们的原始“顶部”位置并向它们添加一些“新顶部”像素值来为“x”div 的数量(下面的代码仅适用于一个 div)设置动画。

        var dur = 1500;
        var origTop = $("#div_x").position().top;
        var newTop = parseInt(origTop) + 30;
        $("#div_x").animate({
            top : newTop + "px"
        },
        dur);

我检查了警报“newTop”变量,它显示了正确的值,但动画不工作。我尝试了不同的变体将“顶部”分配给动画功能,但没有任何效果。

任何建议都会对我有很大帮助。提前致谢。

【问题讨论】:

  • 给它们分配一个唯一的类名怎么样? $(".div_to_animate")

标签: jquery jquery-animate


【解决方案1】:

只是一个建议,你可以

var dur = 1500;    
    $("#div_x").animate({
        top : "+=30"
 },dur);

【讨论】:

    【解决方案2】:

    谢谢,但我需要选择多个 div 并将随机“newTop”值分配给它们的顶部位置(newTop 将是每个 div 的随机值)

    我是这样做的:

     var initialPosition = 3000;
      var dur = 1500;  
      var origTop = $("#div_"+d).position().top;  
      var newTop = Math.abs(parseInt(origTop) + initialPosition) + "px";
      $("#div_"+d).unbind('mouseover').unbind('mouseout').animate({
           top : newTop
      }, dur }
    

    经过几个小时我发现问题出在我的 origTop 值上,该值是从 div 中选择的。最初是负数(-3050),我认为这就是简单添加 +30 没有显示动画的原因。

    非常感谢您的回复。

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2017-03-18
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多