Javascript 停用列表中的一个按钮/拇指
我有一个视频阵列,然后是对应于该阵列的拇指列表。当您单击其中一个按钮时,需要在视频播放期间停用该按钮。我有它,所以在第一次点击后,它会停用整个列表Javascript 停用列表中的一个按钮/拇指,javascript,jquery,arrays,html-lists,Javascript,Jquery,Arrays,Html Lists,我有一个视频阵列,然后是对应于该阵列的拇指列表。当您单击其中一个按钮时,需要在视频播放期间停用该按钮。我有它,所以在第一次点击后,它会停用整个列表 $('li', '.thumbs').on('touchend click', function() { $("#myVid").on("loadeddata", function() { $("#bigPic").addClass("move"); $("#MyT").fadeOut(750); })
$('li', '.thumbs').on('touchend click', function() {
$("#myVid").on("loadeddata", function() {
$("#bigPic").addClass("move");
$("#MyT").fadeOut(750);
});
playVideo2( $(this).index() );
$('li', '.thumbs').unbind();
});
如果列表中的每个项目设置如下:
<li rel='1' id="first">
<div style="top:0px;">
<img src="graphics/filler.png" alt="" width="280" height="128" />
</div>
</li>
由于每个id都不同,我是否可以将
id
而不是.thumbs
,然后让它解除绑定
或关闭本身?我知道这肯定是低效的,但我不知道还能怎么做。我是否以某种方式使用this()
?如果是这样,怎么做?您可以使用全局变量检查正在播放的视频
//init
var currentlyPlaying = undefined;
在事件处理部件中,将此变量设置为单击按钮的ID
currentlyPlaying = $(this).attr('id');
使用该设置,您可以在脚本中执行任何操作之前检查变量
if ( !(currentlyPlaying == $(this).attr('id')) ) {
// your script
}
当然,您也可以按照建议使用ID解除绑定
$('li', '.thumbs #' + $(this).attr('id')).unbind();
抱歉,我对这类东西不太在行,但第一部分var currentlyPlaying=undefined;,未定义的对象是否保持未定义状态?这很有帮助,但真正的问题是一次只关闭一个按钮不,这只是初始值。将其设置为适合您的任何设置(例如,如果使用自动播放)。行currentlyPlaying=$(this.attr('id')
然后将值设置为已单击的拇指的id,例如currentlyPlaying='first'代码>。通过检查currentlyPlaying
值,仅当存储的ID不等于上次单击的ID时,脚本才会运行,因此它是一个按钮。使用变量解决方案,您甚至不需要重新绑定任何事件。