Я пытаюсь написать простой плагин JQuery для следующего: мне нужно передать один элемент, например, $ ("div"). ApplyPlugin (); и затем он проходит через каждый из селекторов, которые я передал, и устанавливает интервал, который является локальным для данного экземпляра div, а затем очищает его через некоторое время. Я пытаюсь написать плагин, чтобы помочь в достижении этой цели, но, похоже, есть проблема с областью видимости, и я не совсем уверен, что происходит.
Опять же, мне нужно настроить таймер на div и иметь возможность использовать его 10 раз на странице. Все div'ы по сути будут иметь свои собственные «таймеры», поэтому, когда вы повторно наведите курсор мыши на div, он очистит этот таймер сам по себе. Выключение мыши, перезапуск таймера и т. Д.
Я не уверен, должно ли это быть выполнено с использованием внутренних методов для плагина, или есть лучший / более простой способ сделать это.
Вот где я сейчас нахожусь
«
(function( $ ){
var methods = {
init : function( options ) {
/* init method */
return setInterval( $(this).boxit('update'),5000);
},
show : function( ) { },
hide : function( ) { },
update : function( content ) {
/* update method */
console.log("ping");
}
};
$.fn.boxit = function( method ) {
// Method calling logic
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
})( jQuery );