我想開發我的第一個jQuery插件。基本上,它將類添加到網站上的各種元素,然後在用戶滾動時對其進行更改(我正在計算偏移和什麼)。我認爲我已經用這個打了一堵牆。jQuery插件開發 - 返回這個問題
下面是如何啓動插件:
$("div").myPlugin();
和源:
$.fn.myPlugin = function() {
return this.each(function() {
$(this).addClass("something-" + i);
i++;
});
};
可能有人請解釋如何在我的插件使用$(窗口).scroll?
因爲一旦它變成「迴歸this.each」它就會出現在這個循環中連着多次,許多元素...
$.fn.myPlugin = function() {
return this.each(function() {
$(this).addClass("something-" + i);
i++;
$(window).scroll(function() { <!-- here it not only attaches itself x-times but i is always the same -->
...
$(".something-" + i).addClass("active");
...
});
});
};
把它返回後沒有做什麼:
$.fn.myPlugin = function() {
return this.each(function() {
$(this).addClass("something-" + i);
i++;
});
$(window).scroll(function() { <!-- doesn't seem to work -->
...
$(".something-" + i).addClass("active");
...
});
};
而且之前有沒有「我」 S,也是我不知道我是否可以把任何東西「返回」範圍之外的函數內(似乎沒有有效的給我?):
$.fn.myPlugin = function() {
$(window).scroll(function() { <!-- there is no "i" yet -->
...
$(".something-" + i).addClass("active");
...
});
return this.each(function() {
$(this).addClass("something-" + i);
i++;
});
};
我是新來的jQuery,我不確定如果我正確理解文檔,我想知道它可能更好,不要在這裏使用return嗎?注意這個插件可以使用1個元素,但通常會有比1更多的div。
非常感謝。