我知道关于jquery动画已经问了很多问题,但我还没有找到对我有用的任何问题。
我见过很多例子,人们使用.animate调用时,传入的函数是“完全”参数,但没有一个也有step函数。我知道这不重要,但我相信这是我的案子与众不同的原因。
var animateWelcome = function(targetElement,speed){
$('#animatewelcome').animate(
{
r:360
},
{
duration:speed,
step:function(now,fx)
{
if(fx.prop == 'r') r = now;
$('#animatewelcome').css('transform','rotateY('+r+'deg)');
},
complete:function()
{
alert('done');
r = 0;
$('#animatewelcome').css('transform','');
animateWelcome(this,speed);
}
}
);
}它只会在第一次旋转。没有出现“已完成”警报。希望这是一个愚蠢的语法错误。有没有人?
发布于 2014-08-06 17:26:43
发生了这样的事情:警报被压制了。正在输入全部功能。
要使元素保持旋转,需要做的是删除和读取元素:
var newp = document.createElement('p');
newp.innerHTML = "text";
newp.id = 'animatewelcome';
$('#animatewelcome').remove();
document.getElementById('animatewrapper').appendChild(newp);
animateWelcome($('#animatewelcome'),7500);我的猜测是,只有当一个元素旋转时才需要这样做,而简单的动画不需要这个“技巧”。
https://stackoverflow.com/questions/25163358
复制相似问题