Javascript 如何在jQuery中连续循环动画?
我需要知道如何无限循环这个动画。这是一个文本滚动动画,我需要它在完成后重复 以下是jQuery:Javascript 如何在jQuery中连续循环动画?,javascript,jquery,Javascript,Jquery,我需要知道如何无限循环这个动画。这是一个文本滚动动画,我需要它在完成后重复 以下是jQuery: $(文档).ready(函数(){ $(“.boxtext”).ready(函数(){ $(“.boxtext”).animate({bottom:“600px”},50000); }); }); 这是“.boxtext”的CSS .boxtext{ 位置:绝对位置; 底部:-300px; 宽度:470px; 高度:310px; 字体大小:25px; 字体系列:图拉真专业版; 颜色:白色; }
$(文档).ready(函数(){
$(“.boxtext”).ready(函数(){
$(“.boxtext”).animate({bottom:“600px”},50000);
});
});
这是“.boxtext”的CSS
.boxtext{
位置:绝对位置;
底部:-300px;
宽度:470px;
高度:310px;
字体大小:25px;
字体系列:图拉真专业版;
颜色:白色;
}
将其设置为函数,并将其自身作为回调调用:
$(document).ready(function(){
scroll();
}
function scroll() {
$(".boxtext").css("bottom", "-300px");
$(".boxtext").animate({bottom:"600px"}, 50000, scroll);
}
记住,这不会很流畅
编辑:我之前没想过。我的错误。以下应该可以
$(document).ready(function(){
animateTheBox();
});
function animateTheBox() {
$(".boxtext").animate({bottom:"600px"}, 50000, animateTheBox);
}
$(函数(){
move();
});
函数move(){
$(“.boxtext”).ready(函数(){
$(“.boxtext”).animate({bottom:“600px”},50000,function(){
$(“.boxtext”).css({“bottom”:0},move););
});移动();
});
可能是最简单的解决方案
var movement1 = function(speed){
$(".mydiv").animate({"top": "100px"}, speed,function(){
movement2(speed)
});
}
var movement2 = function(speed){
$(".mydiv").animate({"top": "120px"}, speed,function(){
movement1(speed)
});
}
movement1(1000);
这就是最终无限地互相呼叫。就像这样:
<script>
$(document).ready(function()
{
$(window).load(function()
{
var a="#bijin"
var x=1000
var y=1000
for (var i=1 ; i<=100000 ; i++){
$(a).slideUp(x).slideDown(y);
}
});
});
</script>
$(文档).ready(函数()
{
$(窗口)。加载(函数()
{
var a=“#bijin”
变量x=1000
变量y=1000
对于(var i=1;i,请尝试在悬停时进行连续循环动画
function loopl(){
$('.mCSB_container').animate({ "left": "+=80px" }, "800", 'linear', loopl );
}
function loopr(){
$('.mCSB_container').animate({ "left": "-=80px" }, "800", 'linear', loopr );
}
function stop(){
$('.mCSB_container').stop();
}
$( "#left" ).hover(loopl, stop);
$( "#right" ).hover(loopr, stop);
享受吧!使用。这样你可以在一定的时间间隔后无限重复一个功能,比如每秒钟重复一次。
<script type="text/javascript">
var e = document.getElementByClassName('boxtext')[0].style.bottom;
function reset(){
if(e === "599px"){e === 0 + "px"}
else{b += 1000}
}
setInterval(reset(),1);
$(document).ready(function(){
$(".boxtext").ready(function(){
$(".boxtext").animate({bottom:"600px"},b);
});
});
</script>
var e=document.getElementByClassName('boxtext')[0].style.bottom;
函数重置(){
如果(e==“599px”){e===0+“px”}
else{b+=1000}
}
setInterval(reset(),1);
$(文档).ready(函数(){
$(“.boxtext”).ready(函数(){
$(“.boxtext”).animate({bottom:“600px”},b);
});
});
我不知道,但我认为应该使用javascript你可能需要小心使用并非所有人都会使用的字体,并给出名称,甚至大多数人都不会使用。检查我的答案,这是同一个故事。但第二次什么都没有发生,因为它已经达到600px,或者我误解了你?太好了!这正是我在搜索的功能of-1你将立即进入十万次迭代循环,并排队等待十万次动画。这是一种极大的浪费。正如@dopplegreener所说的,它甚至不会无限继续,而是100000次迭代。性能方面很重,无法解决问题。在堆栈溢出之前,它是循环重复出现的锡安
yourloop = setInterval(function() {
// tasks
}, timeInMilliseconds );
<script type="text/javascript">
var e = document.getElementByClassName('boxtext')[0].style.bottom;
function reset(){
if(e === "599px"){e === 0 + "px"}
else{b += 1000}
}
setInterval(reset(),1);
$(document).ready(function(){
$(".boxtext").ready(function(){
$(".boxtext").animate({bottom:"600px"},b);
});
});
</script>