【问题标题】:jQuery Animate not running (or throwing error) on objectjQuery Animate 未在对象上运行(或抛出错误)
【发布时间】:2015-02-27 15:03:52
【问题描述】:

我有一个想要增加属性值的事件对象。下面的代码似乎没有改变属性值。

var e = jQuery.Event('mousemove');
e.pageX = jQuery(window).width() / 2;
jQuery(e).animate({pageX: 1000},
    {
        step: function(){
            console.log(this.pageX);
            jQuery('.mouseover').trigger(this);
        },
        duration: 5000,
        easing: 'linear'
    }
);

有什么想法吗?

更新 @dfsq created a fiddle 和 animate 函数似乎运行。我不知道为什么这不在我的脚本中运行,并且没有抛出任何错误。 -

【问题讨论】:

  • 您只能为 DOM 元素设置动画,而不能为鼠标光标的位置设置动画。您尝试做的事情是不可能的。
  • 一切皆有可能
  • @RoryMcCrossan OP 试图做的是完全有效和合理的。这不是视觉动画,而是对象属性“动画”。
  • 您的代码似乎可以正常工作? jsfiddle.net/9bxpLpar
  • @RoryMcCrossan 它不会尝试移动光标,它会尝试在.mouseover 元素上触发事件并指定它发生的位置。 (可能是一个自动绘图应用程序

标签: javascript jquery events jquery-animate


【解决方案1】:

不确定这是否与 jQuery 的版本有关(因为它适用于小提琴,但如果我更改 jquery 版本则无关

你可以稍微改变它来处理一个简单的对象

var e = jQuery.Event('mousemove');
e.pageX = jQuery(window).width() / 2;

jQuery({pageX:e.pageX}).animate({pageX: 1000},
    {
        step: function(){
            console.log(this.pageX);
            e.pageX = this.pageX;
            jQuery('.mouseover').trigger(e);
        },
        duration: 5000,
        easing: 'linear'
    }
);

【讨论】:

  • 通过在animate() 之外分配jQuery('.mouseover'),您将获得(明显?)更好的性能。
猜你喜欢
  • 1970-01-01
  • 2018-12-13
  • 2021-09-15
  • 2015-11-16
  • 1970-01-01
  • 2012-08-05
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多