所以我想转换这段代码:
$('.spawn_worm').animate({
left: '+=20px',
top: '-=20px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '-=16px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '-=12px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '-=8px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '-=4px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=0px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=4px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=8px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=8px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=12px'
},100, "linear", function(){
$('.spawn_worm').animate({
left: '+=20px',
top: '+=16px'
},100, "linear", function(){
});
});
});
});
});
});
});
});
});
});
});
对不那么愚蠢的事情。因为它需要花费我一年的时间来完成它,因为它是很多代码,我认为它可以通过循环来解决。
我希望animate函数属性left
始终相同+=20px
。并且属性top
从-20px
开始并增加到180px
,然后再次减少到180px
并在(window.width)/20
循环后完成。
这甚至可以吗? 谢谢你,抱歉这个noob问题(:
答案 0 :(得分:1)
你可以使用这样的东西。根据需要更改if条件。
var count = parseInt(window.innerWidth/20);
function animateElement(){
if(count){
$('.spawn_worm').animate({
left: '+=20px',
top: '-=20px'
}, 100, animateElement);
count--;
}
}
animateElement();
答案 1 :(得分:0)
您可以使用像
这样的循环
jQuery(function($) {
$('button').click(function() {
var top = 20,
sign = -1;
anim();
function anim() {
$('.spawn_worm').animate({
left: '+=20px',
top: (sign == 1 ? '+' : '-') + '=' + top + 'px'
}, 100, "linear", function() {
if (sign * top < 16) {
top += 2 * sign;
if (!top) {
sign = 1;
}
anim();
}
});
}
});
});
&#13;
body {
height: 1000px;
margin-top: 200px;
}
.ct {
position: relative;
height: 500px;
}
.spawn_worm {
height: 50px;
position: absolute;
background-color: red;
display: inline-block;
width: 50px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Test</button>
<div class="ct">
<div class="spawn_worm"></div>
</div>
&#13;