【发布时间】:2017-07-20 19:43:21
【问题描述】:
我是 js 对象的新手,我正在尝试用 jQuery 编写一个简单的插件,但我在声明属性时遇到了问题。
查看此JSFIDDLE 以获得更好的突出显示代码
$.fn.robertSlider = function(params){
var slider = {
arrow: this.find(".slider-arrow"),
arrowNext: this.find(".slider-arrow--arrowNext"),
arrowPrev: this.find(".slider-arrow--arrowPrev"),
sliderItem: this.find(".slider-item"),
sliderList: this.find(".slider-content-list"),
itemsOnScreen: params.itemsOnScreen,
marginCollapse: params.marginCollapse
};
slider.amountItems = slider.sliderItem.length; // is there a way to declare this directly inside the obj?
slider.sliderWidth = slider.sliderList.width(); // is there a way to declare this directly inside the obj?
var helpers = {
firstVisible: 0,
canGoNext: true,
canGoPrev: false
}
}
$(".slider-container").robertSlider({
itemsOnScreen: 6,
marginCollapse: 10
});
现在我的问题是:这个对象声明有什么问题?
因为如果我尝试登录slider.sliderWidth,它不起作用,我得到null。
我尝试记录 slider.sliderList 我在记录 $(".slider-content-list") 时得到完全不同的结果
更新
下面是slider.arrow和$(".slider-arrow")之间的日志截图
希望一切都清楚:)
提前致谢!
【问题讨论】:
-
“这个”是正确的。你能把 html 贴在你的小提琴里面吗?
标签: javascript jquery oop object