我有一种情况,我需要以 test1 ,test2 形式创建动态变量。我知道应该使用数组或对象索引来完成,但不知何故我无法解决问题。我有一个 silder 并在多个地方使用它。
用于silder的Js:
//code for slider 1
var sliders1 = [];
jQuery('.slider_1').each(function() {
sliders1.push(new Slider(this))
})
//code for slider 2
var sliders2 = [];
jQuery('.slider_2').each(function() {
sliders2.push(new Slider(this))
})
var Slider = function() { this.initialize.apply(this, arguments) }
Slider.prototype = {
initialize: function(slider) {
this.ul = slider.children[0]
this.li = this.ul.children
// make <ul> as large as all <li>’s
this.ul.style.width = (this.li[0].clientWidth * this.li.length) + 'px'
this.currentIndex = 0
},
goTo: function(index) {
// filter invalid indices
if (index < 0 || index > this.li.length - 1)
return
// move <ul> left
this.ul.style.left = '-' + (100 * index) + '%'
this.currentIndex = index
},
goToPrev: function() {
this.goTo(this.currentIndex - 1)
},
goToNext: function() {
this.goTo(this.currentIndex + 1)
}
}
现在的情况是我需要让它动态化。这是我到目前为止所尝试的。我可以制作silders1,sliders2吗?这样我就可以根据上面提到的事情运行它
//slider count
var count= jQuery("div[id*='sliders']").length;
var silders = {};
for( var i=1; i <= count;i++){
sliders[i] = [];
var class1 = '.silder_'+i;
jQuery(class1).each(function() {
sliders[i].push(new Slider(this))
});
}
在我的 HTml 中,它被称为
//suppose for first silder
<a href="javascript:sliders1[0].goToNext()"> for go next buttton
请帮我解决一些问题。我有点困惑在这里。
谢谢!!!