javascript setinterval()的问题

$(document).ready(function(){vartimer=setInterval(scrollText(),18000);});functionscro... $(document).ready(function () {
var timer = setInterval(scrollText(), 18000);

});
function scrollText() {
$("#lb_announcement").animate({ left: "-1500px" }, 6000, function () {
$("#lb_announcement").css("left", "1500px");
alert("纠纷率可达撒娇");
$("#lb_announcement").val("附近的可怜撒娇");
});
timer = setInterval(scrollText(), 18000);
}
在这段代码当中,我是希望实现文字跑马灯效果。实现是实现了,但两个问题,setInterval就是设置定时器的,但实际上只能执行一次,当我在scrollText()中再调用一次才能无限循环。这是为什么。在animate回调函数中,我希望对文字重新赋值,alert每次成功执行,但val()没有执行是为什么。语法有错误吗,那改变text的方法是什么。
最终做好后,我是希望从后台传回一个字符串数组,没循环一次改变一下文字。要怎么实现呢。
展开
 我来答
前端报错
2017-09-12 · 前端开发技术分享,分析
前端报错
采纳数:1573 获赞数:7026

向TA提问 私信TA
展开全部

写的有点瑕疵:

$(document).ready(function () {
 var timer = setInterval(scrollText, 18000); // 第一个参数传个函数名
});
追问
照你这么写,我试过,那就彻底不执行了。调用方法不加()能行吗,我既然没报错,能成功运行就不会是这个问题。我的问题是为什么scrollText()只能执行一次。必须在scrollText()里面在调用一次setinterval才可以重复执行,这有点像递归了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式