演示:http://jsfiddle.net/waitinforatrain/7Uzhg/2/
我正在重写一个显示.srt文件字幕的jQuery插件。显示字幕的div包含属性data-video (关联的HTML5视频对象的ID )和data-srt (包含字幕文件的URL )。
我的想法是如果我写
$('.srt').srt();这将加载并播放类为srt的所有元素的字幕。
在jQuery插件中有一个名为playSubtitles的方法,它完成主要工作。它具有一个整数currentSubtitle,它保存要播放的当前字幕的索引。
问题是,如果$('.srt')匹配多个元素,它们将共享currentSubtitle变量,而我不确定如何将它们分开。
发布于 2011-10-14 03:09:44
你需要用each包装你的插件代码,这样每个选择器都有自己的变量副本:
$.fn.srt = function() {
return this.each(function() {
var currentSubtitle;
var self = $(this);
return $.extend(self, {
playSubtitles: function(...) {
...
}
});
});
});https://stackoverflow.com/questions/7757394
复制相似问题