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