Javascript 使用jQuery($.when()?)检测变量何时等于另一个变量
当前正在尝试检测播放列表中的YouTube视频何时结束,以便我可以播放下一个()。我现在试图找出一个变量何时等于另一个变量,这样我就可以导航到播放列表中的下一个视频 以下是用于检测视频何时结束并将视频ID保存到div(stopID)的代码: 以下是我尝试检测(并通过警报测试)点击视频的视频ID何时等于停止循环中的视频ID(即视频结束时):Javascript 使用jQuery($.when()?)检测变量何时等于另一个变量,javascript,jquery,youtube-api,jquery-deferred,.when,Javascript,Jquery,Youtube Api,Jquery Deferred,.when,当前正在尝试检测播放列表中的YouTube视频何时结束,以便我可以播放下一个()。我现在试图找出一个变量何时等于另一个变量,这样我就可以导航到播放列表中的下一个视频 以下是用于检测视频何时结束并将视频ID保存到div(stopID)的代码: 以下是我尝试检测(并通过警报测试)点击视频的视频ID何时等于停止循环中的视频ID(即视频结束时): 目前,我会立即收到警报,即在stopID div中甚至包含视频ID之前。$.when函数的错误在哪里?我应该坚持使用if/else语句吗?$。当接受promi
目前,我会立即收到警报,即在stopID div中甚至包含视频ID之前。$.when函数的错误在哪里?我应该坚持使用if/else语句吗?
$。当
接受promise参数时。只需使用if条件来检查相等性。请阅读文档!这是我正在读的,但我不太明白:。如果有更基础的教程,我很乐意阅读。您是否阅读了顶部的描述“提供了一种执行回调函数的方法……通常是表示异步事件的延迟对象”。在我阅读了这一部分之后,我开始在jquery文档上查看延迟对象,并假设它与ajax上调用的对象有关?这就是大多数示例的工作方式,因此我假设它与此代码无关,这就是为什么我使用$.when打了一个问号,但if条件似乎不起作用。我事先尝试了if($('#stopID').html()==videoID)(函数(){alert(“asd”)},但这根本不起作用:/抱歉,我的意思是:if($('#stopID')).html()==videoID){alert(“asd”);}阅读文档。还可以使用console.log或浏览器开发人员工具查看您正在检查的两个相等项的实际值。
function stopCycle(event) {
if (event.data == YT.PlayerState.ENDED) {
var url = event.target.getVideoUrl();
var match = url.match(/[?&]v=([^&]+)/);
var videoId = match[1];
$('#stopID').html(videoId);
}
}
$('#Playlist').on('click', '.playlistYT', function(){
$('#subHistory').click();
videoID = $(this).attr("src").slice(27,38);
$('#infoID').val(videoID);
player.loadVideoById(videoID );
var nextVideo = $(this).parent().next().find('.playlistYT');
$.when($('#stopID').html() == videoID).then(function(){
alert("asd");
});