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时,脚本才会运行,因此它是一个按钮。使用变量解决方案,您甚至不需要重新绑定任何事件。