【发布时间】:2017-03-15 21:54:05
【问题描述】:
真的希望通过这个来更好地理解面向对象的 javascript,并为这个场景找到一些最佳实践。假设我有一个 javascript 对象,例如:
SideSlider = {
rightArrow: '.controls i.right',
dot: '.controls .dot',
slide: '.slide',
init: function() {
$(this.rightArrow).click(this.nextSlide.bind(this));
$(this.leftArrow).click(this.prevSlide.bind(this));
$(this.dot).click(this.dotClick.bind(this));
},
nextSlide: function() {
var activeSlide = $('.slide.active-slide'),
firstSlide = $(this.slide).first(),
lastSlide = $(this.slide).last(),
nextUp = activeSlide.next(),
activeDot = $(".active-dot"),
nextDot = activeDot.next();
activeSlide.removeClass("active-slide");
nextUp.addClass("active-slide");
activeDot.removeClass("active-dot");
nextDot.addClass("active-dot");
$(this.leftArrow).removeClass("inactive");
if ( lastSlide.hasClass("active-slide")) {
$(this.rightArrow).addClass("inactive");
}
}
}
在 DOM 模块的多个实例上使用该对象的正确方法是什么?换句话说,在同一个 DOM 中的两个“幻灯片”实例上使用该对象的功能的“最佳实践”方式是什么
【问题讨论】:
-
“最佳实践”实际上是基于意见的。这取决于如何使用代码。看起来你实际上是在尝试制作一个 jQuery 插件,互联网上有很多教程。
-
@JordanBarber 您是否要复制该对象并将其用于不同的 DOM 元素?如果是这样,您可以使用
var newSideSlider = Object.assign({}, SideSlider); -
@ajaiJothi 我正在尝试在滑块元素的两个 DOM 实例(相同的类)上使用该单个对象
标签: javascript jquery html class oop