Javascript中的动态变量
我需要在test1、test2表单中创建动态变量。我知道应该使用数组或对象索引来完成,但不知何故,我无法解决问题。我有一个silder,可以在多个地方使用 silder的Js:Javascript中的动态变量,javascript,slider,dynamic-variables,Javascript,Slider,Dynamic Variables,我需要在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 slide
//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)
}
}
//滑块1的代码
变量滑块1=[];
jQuery('.slider_1')。每个(函数(){
滑块1.推动(新滑块(此))
})
//滑块2的代码
变量滑块2=[];
jQuery('.slider_2')。每个(函数(){
滑块2.推动(新滑块(此))
})
var Slider=function(){this.initialize.apply(this,arguments)}
Slider.prototype={
初始化:函数(滑块){
this.ul=slider.children[0]
this.li=this.ul.儿童
//使与所有- 一样大
this.ul.style.width=(this.li[0].clientWidth*this.li.length)+'px'
此.currentIndex=0
},
转到:函数(索引){
//筛选无效索引
if(索引<0 | |索引>this.li.length-1)
返回
//向左移动
this.ul.style.left='-'+(100*索引)+'%
this.currentIndex=索引
},
goToPrev:function(){
this.goTo(this.currentIndex-1)
},
goToNext:function(){
this.goTo(this.currentIndex+1)
}
}
现在的情况是,我需要让它充满活力。这就是我到现在为止一直在尝试的。
我能不能制作一些幻灯片1,滑块2,这样我就可以按照上面提到的东西来运行它
//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))
});
}
//滑块计数
var count=jQuery(“div[id*='sliders']”);
var silders={};
对于(var i=1;i您需要初始化滑块:
var sliders = {};
否则,该行
sliders[i] = [];
将导致异常,因为滑块未定义。您可以尝试遍历从1开始的数字,直到它找不到该类的元素为止。
另外,不要忘记先声明滑块
数组
大概是这样的:
var n = 1;
var sliders = [];
while($('.slider_'+n).length > 0)
{
sliders[n] = [];
$('.slider_'+n).each(function() {
sliders[n].push(new Slider(this));
});
n++;
}
检查我如何使用html调用它。我在那里遇到异常。找不到goToPrev。我像javascript:sliders[1][0]一样调用它。goToNext()@Creator您从未初始化第0个元素。for循环从1到countfor(var i=1;i
var n = 1;
var sliders = [];
while($('.slider_'+n).length > 0)
{
sliders[n] = [];
$('.slider_'+n).each(function() {
sliders[n].push(new Slider(this));
});
n++;
}