Я создаю плагин jquery, и мне нужно указать переменную для каждого целевого элемента. Моя проблема заключается в том, что когда я делаю это в моих ЯШ:Собственные данные var для каждого элемента
$("section ul").cards("init", {
current: 0
}).on("mousewheel", mousewheel);
function mousewheel(){
$(this).cards("next");
};
Плагин каждение в console.log()
обновленный current
. Но он обновляет одни и те же данные ко всем «ul».
mousewheel
Когда я в первый ul
, ток для него стал 1 (старт 0) и только после того, как я mousewheel
во втором ul
и ток стал 2 ...
Я хочу, чтобы каждый объект самостоятельно переменная ($(this).data()
)
Спасибо!
!! РЕДАКТИРОВАТЬ !!
Существует мой плагин база:
(function($){
$.fn.cartes = function(methode, options){
if(options){
return methodes[methode].apply(this, $.makeArray(options));
}
else {
return methodes[methode].call(this);
};
};
var methodes = {
init: function(options){
return this.each(function(){
var $this = $(this);
var Options = $.meta ? $.extend($.fn.cartes.defauts, options, $this.data()) : options;
$this.data("options", Options);
$this.each(function(index){
$this.data("options").rotation = $.fn.cartes.defauts.rotation;
$this.data("options").espacement = $.fn.cartes.defauts.espacement;
});
});
},
prec: function(obj){
return $(obj).each(function(){
$(this).data("options").cur--;
console.log($(this).data("options").cur);
});
},
next: function(obj){
return $(obj).each(function(){
$(this).data("options").cur++;
console.log($(this).data("options").cur);
});
}
};
$.fn.cartes.defauts = {
cur: 0,
espacement: 0,
rotation: -45
};
})(jQuery);
!! ИЗМЕНИТЬ 2 !!
Когда я использую каждый цикл, console.log
в событии mousewheel
возвращает хорошие данные.
$("section li.double ul").each(function(){
$(this).cartes("init", {
actuel: 0,
selecteur: "li"
});
});
Но как это сделать без каждой петли.
Я уже делаю это ... – Jordan