javascript - 在 'click' 上重置 addClass 函数

标签 javascript jquery html css onclick

因此,我有一个功能可以使图像不可见,同时开始在其下方播放视频(6 个中的 1 个)。效果很好,div 淡出,然后开始播放。但是,它只在第一次起作用。

有六个拇指(都是列表中的一个元素),它们每个都播放一个视频,对吗?因此,每次按下拇指时,我都需要图像恢复(快速)然后像它一样慢慢淡出。因此,每次点击都会进行一次迷你重置。

代码是

$(document).ready(function () {

    $('li, .thumbs').on('click', function () {


        var numb = $(this).index(),
            videos = [
                'images/talking1.m4v',
                'images/talking2.m4v', 
                'images/talking1.m4v', 
                'images/talking2.m4v', 
                'images/talking1.m4v', 
                'images/talking2.m4v'
            ],
            myVideo = document.getElementById('myVid');
            myVideo.src = videos[numb];

        myVideo.load();
        $('#MyT').addClass('clear');
        myVideo.play();

    });

});

我试过洗牌,但没有骰子。而且,是的,它应该在视频加载完成后开始褪色。这是针对 iPad 的,我还没有找到更好的方法来解决视频加载时出现的闪烁问题。

编辑:好吧,试着用我能做的最好的方式来解释...... 页面加载,并且图像位于顶部。有六个缩略图,单击一个。图像在视频加载时淡出(不必同步,只要视频先完成加载),然后播放。如果某个点按下另一个拇指,图像会弹回并淡出,以在视频加载时覆盖。基本上,第一次点击的条件会在每次点击时重复。

最佳答案

尝试以下方法检查视频何时结束:

$('#my_video_id').bind("ended", function(){ 
      alert('Video Ended'); 
      $('#MyT').removeClass('clear');
    });

取自http://help.videojs.com/discussions/questions/40-jquery-and-event-listeners

似乎对他们有用,所以如果您有类似的结果,请告诉我。

编辑

因此,当您的缩略图被点击时,您应该首先检查视频是否已经在播放,如评论部分的链接中所讨论的那样。如果正在播放视频,请停止该视频并将“清除”类添加回该视频。然后你可以继续淡入第二个视频。我显然不能为你写下所有这些,因为我不知道你拥有的所有条件、约束和 html 代码,但基本大纲就在那里。

关于javascript - 在 'click' 上重置 addClass 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475429/

相关文章:

javascript - 如何在 javascript 或 Jquery 中调用 SOAP (XML) Web 服务?

javascript - 将鼠标悬停在图像上无法使用 Javascript/JQuery

jquery - 如何将不同父项中的重复元素 append 到同一父项中的另一个元素中

css - Bootstrap 4 汉堡包图标在自定义后消失了

jquery - 如何增加多选下拉列表中两个选项之间的行高

javascript - Electron require() 未定义

javascript - 如何使用javascript函数在提交表单元素时给出确认对话框

javascript - 替换浏览器中的整个页面

javascript - 如何使 Chart.js 条形图保持在原来的位置

javascript - 切换类别并向下滑动