gpt4 book ai didi

jquery - 如何正确终止一个函数

转载 作者:行者123 更新时间:2023-12-01 04:15:42 25 4
gpt4 key购买 nike

我有一个视频播放器,只要单击链接,它就会打开并播放,并且在观看两个视频后,会出现一个表单,允许您对所提供的信息进行评分。

我遇到的问题是视频播放完毕后会出现一个重播按钮。我目前已经设置了 setTimeout 来消除视频,然后覆盖它,然后运行速率表单函数。但是,如果单击重播按钮,setTimeout 仍在运行,并且在视频重播过程中该函数运行。这是我的代码:

删除视频叠加

fnVideoOverlayOff = function () {

jQuery('#video, #block, .video-closebtn').css('display', 'none');

}

JW 播放器代码

jwplayer('videoScreen').setup({
flashplayer: '/assets/js/lib/player.swf',
allowscriptaccess: "always",
width:972,
height:547,
controlbar: "none",
autostart: true,
playlistfile: "/assets/videos/playlist.xml",
events: {
onPlaylistItem: function (event) {

jQuery(document).idleTimer('destroy');

},
onPLay: function (event) {

},
onComplete: function (event) {

setTimeout(function () {

fnVideoOverlayOff();

}, 10000);

var clickCount = 0;

if(jQuery.cookie('clickCount') == 2) {

fnRateOverlayOn();

jQuery('#video, .video-closebtn').css('display', 'none');

}
}
}
});

如果单击重播按钮,我想终止fnVideoOverlayOff();

最佳答案

存储对 setTimeout 的引用,并在您想要阻止其完成时调用 clearTimeout()

fnVideoOverlayOffTimer = setTimeout(... 

// and later on when you want to "kill" it,

clearTimeout(fnVideoOverlayOffTimer);`

理想情况下,您可以在某处声明 fnVideoOverlayOffTimer 以使其远离全局范围,但这是可选的。

关于jquery - 如何正确终止一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14984520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com