Javascript 如何使用jquery设置无止境循环的动画?
我一直在尝试使用jqueryanimate来运行文本。但我似乎无法让它在无休止的循环中运行。它总是只运行一次Javascript 如何使用jquery设置无止境循环的动画?,javascript,jquery,html,css,marquee,Javascript,Jquery,Html,Css,Marquee,我一直在尝试使用jqueryanimate来运行文本。但我似乎无法让它在无休止的循环中运行。它总是只运行一次 /*js:*/ $(文档).ready(函数(){ 函数滚动(){ $('.scroll')。设置动画({ 右:$(文档).width() },8000,卷轴); } 滚动(); }); /*css:*/ .卷轴{ 位置:绝对位置; 右:-200px; 宽度:200px; } 此文本将在“”中滚动CSS备选方案: 或者,您可以使用如下代码笔中的CSS转换: 更高级: $(文档).
/*js:*/
$(文档).ready(函数(){
函数滚动(){
$('.scroll')。设置动画({
右:$(文档).width()
},8000,卷轴);
}
滚动();
});代码>
/*css:*/
.卷轴{
位置:绝对位置;
右:-200px;
宽度:200px;
}
此文本将在“”中滚动代码>CSS备选方案:
或者,您可以使用如下代码笔中的CSS转换:
更高级:
$(文档).ready(函数(){
var scroller=$('#scroller');//scroller$(元素)
var scrollerWidth=scroller.width();//获取其宽度
var scrollerXPos=window.innerWidth;//窗口宽度的初始位置
无功转速=1.5;
css('left',scrollerXPos);//设置初始位置
函数moveLeft(){
如果(scrollerXPos那么这就是我所做的:
预先计算$(document).width()
就像出现水平滚动一样,宽度将在下一次迭代中更改
删除您为滚动设置的宽度
,使宽度仅与内容一样长-并且您必须给空白:nowrap
,以使文本保持一行
在动画中
使用$('.scroll').outerWidth()使用滚动
文本的宽度
请参阅下面的演示和
$(文档).ready(函数(){
//初始化
var$width=$(document.width();
var$scrollWidth=$('.scroll').outerWidth();
$('.scroll').css({'right':-$scrollWidth+'px'});
//生动活泼
函数滚动(){
$('.scroll')。设置动画({
右:$width
},8000,“线性”,函数(){
$('.scroll').css({'right':-$scrollWidth+'px'});
滚动();
});
}
滚动();
});
正文{
溢出:隐藏;
}
.卷轴{
位置:绝对位置;
空白:nowrap;
}
此文本将滚动到“!
我想尝试使用jquery animate来制作字幕。它似乎在左侧消失了几秒钟,但在右侧重新出现……如何使它在左侧消失,并立即再次出现在右侧?是的,这就是为什么我将其称为“快速修复”的原因。您构建的函数只允许文本向左运行8秒,然后停止。您必须考虑如何使其重新运行该路径-请参阅我的编辑。我使用requestAnimationFrame(查找)做动画并控制精确位置。然后你可以检查文本的位置并重新定位它。很好,你还可以添加线性转换类型(我说…},8000,'linear',function(){…
),这样它就更像那些类型texts@lynx谢谢你指出这一点——现在看起来好多了……:)@请在这里揭晓并评论这个问题-如果有任何问题,我随时准备解决