这是我的代码,它不起作用。我不知道怎么声明这个
var input = {
container: '.slide_container',
container_all: '.slide_show',
slides: []
};
var $slides = $('.slide_show .slide');
var l = $slides.length;
for( var i = 0; i < l; i++ ) {
input.slides[i].el = '#' + $slides.eq(i).attr('id');
if( i === 0 ) {
input.slides[i].weight = 1;
} else {
input.slides[i].weight = 0;
}
}
当它到达
input.slides[i].el = '#' + $slides.eq(i).attr('id');
它表示input.slides [i] .el未定义。有人能让我知道申报空幻灯片的正确方法吗?
答案 0 :(得分:1)
在为其属性指定内容之前,您应初始化input.slides[i]
。
for( var i = 0; i < l; i++ ) {
input.slides[i] = {};
input.slides[i].el = '#' + $slides.eq(i).attr('id');
if( i === 0 ) {
input.slides[i].weight = 1;
} else {
input.slides[i].weight = 0;
}
}
答案 1 :(得分:1)
您需要先创建对象。类似的东西:
input.slides[i] = { el: '#' + $slides.eq(i).attr('id'), weight: 0 };
您也可以考虑使用push
添加到您的阵列。
input.slides.push({ el: '#' + $slides.eq(i).attr('id'), weight: 0 }); //Add new object to the array