如何解决我的代码在Firefox中不起作用...?
| 我有这段代码似乎可以在chrome和safari中使用(不确定是否可以操作歌剧,也就是刚刚经过测试。),但是在Firefox中,它至少不会重复播放功能,而是只运行一次。 http://jsfiddle.net/ZL5XN/ HTML:<div class=\"Start\">Play</div><div class=\"Stop\">Stop</div>
<br /><br />
<p>Lorem Ipsum Dolor Sit Amet...</p>
JS:
var myTimeOut,Stop,stop_flag;
$(\'.Start\').click( function () {
stop_flag = 0;
Repeat();
});
$(\'.Stop\').click( function () {
clearTimeout(Stop);
stop_flag = 1;
$(\'p\').show(\'slow\');
});
function Repeat() {
if(stop_flag == 1)
{
return;
}
else
{
$(\'p\').show(\'slow\').delay(400).hide(\'slow\',function() {Stop = setTimeout(Repeat(),1100)});
}
}
问题是..任何想法,为什么它不能在Firefox
解决方法
您应该说:
Stop = setTimeout(Repeat,1100);
请注意缺少的括号。目前,您正在告诉它调用Repeat()
返回的函数,当然没有。
, 不知道为什么firefox是唯一的示例,但是您将setTimeout写错了。它应该是:
$(\'p\').show(\'slow\').delay(400).hide(\'slow\',function() {Stop = setTimeout(Repeat,1100)});
, 你的问题是这个
更改:
setTimeout(Repeat(),1100)
至:
setTimeout(\“ Repeat()\”,1100)或setTimeout(Repeat,1100)
在这里查看工作示例:
http://jsfiddle.net/ZL5XN/1/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。