Если по новому стандарту свойства записываются в специальный "constructor", а методы непосредственно в сам "class" (пример создания класса в ES6 на скриншоте), то куда записывать события по тому же клику привязанные к конкретной переменной?
Полный код:
function Slider(obj){
this.images = $(obj.images);
this.btnPrev = $(obj.btnPrev);
this.btnNext = $(obj.btnNext);
this.auto = obj.auto;
this.rate = obj.rate || 1000;
var i = 0;
var isRun = false;
var self = this;
var selfWidth = this.images.eq(0).width();
this.btnPrev.on("click", function(){
move(-1, -selfWidth);
});
this.btnNext.on("click", function(){
move(1, selfWidth);
});
function move(direction, moveLeft){
if(isRun){
return;
}
isRun = true;
self.images.eq(i).animate({
left: -moveLeft
},1000);
i += direction;
if(i < 0){
i = self.images.length - 1;
}
else if(i >= self.images.length){
i = 0;
}
var selfShow = self.images.eq(i);
selfShow.css({
"left": moveLeft,
"opacity": "1"
});
selfShow.animate({
left: 0
},1000, function(){
isRun = false;
});
}
if(this.auto){
setInterval(function(){
move(1, selfWidth);
}, this.rate);
};
}
НАПРИМЕР вот как событие по клику реализовано в стандарте ES5
this.btnPrev.on("click", function(){
move(-1, -selfWidth);
});
Как и где написать такой код (событие по клику) в новом стандарте ES6 ?