[英]jQuery loop and append crashing the browser
因此,基本上,一旦单击特定的图像,我就会尝试显示Bootstrap Modal。 然后,我尝试在段落标签中显示一些文本和图像,每600毫秒更改一次,如下所示:
Playing -> Playing. -> Playing.. -> Playing...
text
变为'Playing...'
,它将以'Playing'
返回到开头,并一遍又一遍,直到Modal的display
类别变为none
为止。
我在setTimeOut
函数之后调用所有这些方法,因为我需要等待Bootstrap Modal首先加载以针对其类进行测试。
虽然,我的代码每次都会使浏览器崩溃,因此,我无法查看开发人员工具来发现问题。
$(".tutorial").click(function () {
$('#tutorialModal').modal('show');
$(this).toggleClass('playingGif'); //display 'playing' background image
$(this).toggleClass('tutorial'); //turn off regular background image
setTimeout(function () {
while ($('#tutorialModal').css('display') == 'block') {
var text = 'Playing';
$('p', this)
.delay(600)
.queue(function (n) {
$(this).html(text);
n();
});
if (text == 'Playing...') {
text = 'Playing';
} else {
text += '.';
}
}
}, 500);
});
尝试这样的事情:
var text = 'Playing';
function startPlaying() {
if($('#tutorialModal').css('display') == 'block') {
$('p', this).html(text);
n();
if (text == 'Playing...') {
text = 'Playing';
} else {
text += '.';
}
window.setTimeout(startPlaying, 500);
}
}
startPlaying();
这样,它每500毫秒运行一次,更新播放中的文本,然后,如果仍然显示该文本,则会在另外500毫秒内使该函数的另一次运行排队。 我没有尝试这段代码,只是为了给您一个总体思路。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.