0

经过长时间的搜索和尝试,我似乎还没有找到解决方案。我想要做的是动画一个箭头去点击按钮上方的特定位置。有 3 个按钮(我们称它们为 A、B 和 C),如果单击 A,箭头将转到那里,当单击 C 时,箭头将从 A 转到 C,或者当单击 B 时,它将从 A 转到 B .

一个简单的“左”动画功能将不起作用,因为位置和距离每次都在变化。我已经尝试使用 .step 函数,我想它可以使用该方法,但我似乎无法让它按应有的方式工作。关于 .step 函数的信息并不多。

我最接近实现这一点的是,它从箭头所在的任何地方移动到正确的位置,但它不是动画的,它只是跳跃。这是代码行:

Symbol.bindElementAction(compId, symbolName, "${_Button1}", "click", function(sym, e) {
   sym.$("arrow").css({"-webkit-transform":"translate(11px, 201px)"})
});

(奇怪的标记是因为我在 Adob​​e Edge 中工作。我正在测试制作 HTML(5)/javascript 广告的所有可能方法,这就是其中之一)

4

1 回答 1

1

我如何使箭头动画到单击的按钮:

$('.btn').click(function(){
  $('#arrow').animate({
    'left': ($(this).offset().left + ($(this).outerWidth()/2)) - $('#arrow').outerWidth(),
    'top': $(this).offset().top - 20
  });
});

position:absolute;另外,如果按钮本身没有,请制作箭头position:fixed

也许我不完全理解这个问题。但我不明白为什么这不起作用。

如果您的意思是 btns 不断更改位置,则需要将动画放在setInterval().

在 Adob​​e Edge 中,代码必须是这样的(基于链接)

  sym.$('#arrow').animate({
    'left': ($(this).offset().left + ($(this).outerWidth()/2)) - $('#arrow').outerWidth(),
    'top': $(this).offset().top - 20
  });

我从未使用过 Adob​​e Edge,但我可能是您的错误(事件处理程序中的 Javascript 错误!事件类型 = 元素)在这里有问题,this并且还有另一个名称来引用触发事件的对象。

于 2012-10-10T08:02:38.343 回答