在“点击”时重置 addClass 函数
Posted
技术标签:
【中文标题】在“点击”时重置 addClass 函数【英文标题】:reset addClass function on 'click' 【发布时间】:2012-05-15 13:38:16 【问题描述】:所以,我有一个使图像不可见的功能,同时开始在其下方播放视频(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 的,我还没有找到更好的方法来解决视频加载时出现的闪烁问题。
编辑:好的,试着用我能做到的最好的方式来解释...... 页面加载,并且您在顶部有图像。有六个缩略图,其中一个是单击的。视频加载时图像淡出(不必同步,只要视频先完成加载),然后播放。如果某个点,另一个拇指被按下,图像会弹出并淡出,以在视频加载时覆盖。基本上,每次点击都会重复第一次点击的条件。
【问题讨论】:
你能做一个“$('#MyT').removeClass('clear');”播放视频后? @Chase 告诉我如何在视频结束时添加监听器,我会告诉你的。 jquery 还是新的,所以我真的不知道怎么做:( 【参考方案1】:尝试以下方法检查视频何时结束:
$('#my_video_id').bind("ended", function()
alert('Video Ended');
$('#MyT').removeClass('clear');
);
取自http://help.videojs.com/discussions/questions/40-jquery-and-event-listeners
似乎对他们有用,所以如果你有类似的结果,请告诉我。
编辑
因此,当您点击缩略图时,您应该首先检查视频是否已经在播放,如 cmets 部分的链接中所述。如果正在播放视频,请停止该视频并将“清除”类添加回该视频。然后你可以继续淡入第二个视频。我显然不能为你写所有这些,因为我不知道你拥有的所有条件、约束和 html 代码,但基本大纲就在那里。
【讨论】:
可行,但如果视频没有播放完毕,以及点击另一个缩略图的人,我也需要它 您能否详细说明一下,以便我更好地理解您的意思?此外,此链接也可能对某些人有所帮助***.com/questions/6877403/…。 最近的更新可能没有您想要的那么有用,但想法就在那里。我希望它有点帮助。 很高兴我能帮上忙,我很抱歉这不是更多......但老实说,没有全力以赴去做,除了解释我将经历的过程之外,我无能为力。祝你好运,我希望它对你有用!! =)以上是关于在“点击”时重置 addClass 函数的主要内容,如果未能解决你的问题,请参考以下文章
Extjs4---Cannot read property 'addCls' of null