关于 jquery animate 的问题,,下面代码执行的时候remove();方法不管用,函数aa();也不会递归啊,该怎么写
$("#ii"+ii).animate({"left":900+"px"},{duration:10000,step:function(now,fx){moveo=now...
$("#ii"+ii).animate({"left":900+ "px"},{
duration:10000,
step: function( now, fx ){
moveo=now+200;
}
},function(){$(this).remove();}
);
var aa=function(){$("#zz"+ii).animate({"left":1000+ "px"},2000,function(){$(this).css("left",moveo+"px").animate({"left":1000+ "px"},2000,aa());});}
aa(); 展开
duration:10000,
step: function( now, fx ){
moveo=now+200;
}
},function(){$(this).remove();}
);
var aa=function(){$("#zz"+ii).animate({"left":1000+ "px"},2000,function(){$(this).css("left",moveo+"px").animate({"left":1000+ "px"},2000,aa());});}
aa(); 展开
1个回答
展开全部
CSS:
div#something {
position: absolute;
top: 0;
display: block;
border: 1px solid #000;
width: 100px; height: 100px;
content: '';
background: #fff;
}
HTML:
<div id="something"></div>
JS:
// 首先将要循序执行的程序写成阵列 (排队)
var animation_set = [
// animate 结束的 callback 再次呼叫 animation_move,等於告诉他,请执行下一个 queue 元件
function() {
$('#something').animate({
left: "+=90"
}, 1000, animation_move);},
function() {
$('#something').animate({
top: "-=90"
}, 1000, animation_move);},
function() {
$('#something').animate({
left: "+=90"
}, 1000, animation_move);},
function() {
$('#something').remove();
alert('动态效果结束了');}
];
// 将 dequeue 指定给变数 animation_move 并包装成 function
var animation_move = function() {
$('#something').dequeue("animation_move");
}
// 把 animation_set 这个阵列指定给名称为 animation_move
$('#something').queue("animation_move", animation_set);
// 呼叫 animation_move,由於呼叫了 dequeue,他便会开始从 animation_move 的第一个程序开始执行
animation_move();
div#something {
position: absolute;
top: 0;
display: block;
border: 1px solid #000;
width: 100px; height: 100px;
content: '';
background: #fff;
}
HTML:
<div id="something"></div>
JS:
// 首先将要循序执行的程序写成阵列 (排队)
var animation_set = [
// animate 结束的 callback 再次呼叫 animation_move,等於告诉他,请执行下一个 queue 元件
function() {
$('#something').animate({
left: "+=90"
}, 1000, animation_move);},
function() {
$('#something').animate({
top: "-=90"
}, 1000, animation_move);},
function() {
$('#something').animate({
left: "+=90"
}, 1000, animation_move);},
function() {
$('#something').remove();
alert('动态效果结束了');}
];
// 将 dequeue 指定给变数 animation_move 并包装成 function
var animation_move = function() {
$('#something').dequeue("animation_move");
}
// 把 animation_set 这个阵列指定给名称为 animation_move
$('#something').queue("animation_move", animation_set);
// 呼叫 animation_move,由於呼叫了 dequeue,他便会开始从 animation_move 的第一个程序开始执行
animation_move();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询