私は基本的なjqueryスライダーを作っていましたが、私は基本的に2回繰り返しました。唯一の違いは、var prevとprevメソッドです。そして最後の方法に最初の方法。DRYコードのヘルプJavaScriptを修正しますか?
left.on('click', function(){
var current = $('.active');
var prev = current.prev();
if (prev.length === 0){
prev = $(".slides").last();
}
current.fadeOut(300).removeClass("active");
prev.fadeIn(300).addClass("active");
});
right.on('click', function(){
var current = $('.active');
var next = current.next();
if (next.length === 0){
next = $(".slides").first();
}
current.fadeOut(300).removeClass("active");
next.fadeIn(300).addClass('active');
});
私はこの機能を試しましたが、機能しません。私は初心者ですので、この種の機能が可能かどうかはわかりません。
right.on('click', function(){
slider("next", "first");
});
へ
function slider(x, y){
var current = $('.active');
var x = current.x();
if (x.length === 0){
x = $(".slides").y();
}
current.fadeOut(300).removeClass("active");
x.fadeIn(300).addClass('active');
});
right.on('click', slider("next", "first"));
left.on('click', slider("prev", "last"));
結合コールまたはプリバインド機能
閉鎖
ためのクロージャを作成しますか...}} ' – laughingpine