2012-05-25 26 views
0

我有一个视频阵列,然后是与该阵列相对应的拇指列表。当您点击其中一个按钮时,它需要在视频的持续时间内停用。我有它,以便第一次点击之后,它停用整个列表停用列表的一个按钮/拇指

$('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,只是让它unbind或转off本身?我知道这一定是低效的,但我不知道如何去做。以某种方式使用this()?如果是这样,如何

回答

1

您可以利用全局变量来检查正在播放的视频。

//init 
var currentlyPlaying = undefined; 

在您的事件处理部分中,您将此变量设置为单击按钮的ID。

currentlyPlaying = $(this).attr('id'); 

使用该设置,您可以在脚本中执行任何操作之前检查该变量。

if (!(currentlyPlaying == $(this).attr('id'))) { 
    // your script 
} 

或者,您可以根据您的建议使用ID来解除绑定,当然。

$('li', '.thumbs #' + $(this).attr('id')).unbind(); 
+0

对不起,我不擅长这种特殊的东西,但是它的第一部分var currentPlaying = undefined;是未定义的保持undefined?而且,这很有帮助,但真正的问题是只有**一个**按钮在某个时间关闭 –

+1

不,这只是初始值。将其设置为适合您的任何内容(例如,如果使用自动播放功能)。 'currentlyPlaying = $(this).attr'('id');'然后将该值设置为被点击的拇指的id,例如, 'currentlyPlaying ='第一';'。 – Paul

+1

通过检查'currentlyPlaying'值,只有当存储的ID不等于最后一个被点击时,脚本才会运行,因此它是一个按钮。 – Paul