javascript - 修复 DRY 代码帮助 javascript?

标签 javascript jquery

我正在制作一个基本的 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/

相关文章:

jquery - 页脚仅在第一个过滤 Action 流沙组合上跳转

javascript - 在函数中使用 javascript var - 顺序问题

javascript - 如何在 jquery 的 .append() 中添加 if 条件

javascript - JQuery AJAX 同步请求行为

javascript - 在设定时间之前结束 setTimeout 函数

javascript - 如何验证货币输入

javascript - 通过 javascript 或 jquery 中的 curl 请求将值发布到 golang

jquery - 更新后 Bootstrap 工具提示对齐问题?

javascript - 如何在java脚本中的函数之后添加 $(document).ready(function(){})

javascript - 如何动态添加图层和更新图层控件: leaflet