我正在制作一个基本的 jquery slider ,但我注意到我基本上重复了两次。唯一的区别是 var prev 和 prev 方法。以及第一个方法到最后一个方法。
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');
});
我尝试过这个功能,但不起作用。我是初学者,所以我不知道这种类型的功能是否可行。
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"));
最佳答案
将 right.on('click', slider("next", "first"))
更改为
right.on('click', function(){
slider("next", "first");
});
看看是否有效。
关于javascript - 修复 DRY 代码帮助 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597933/