Javascript 带引导滑块的奇怪JS行为
因此,我得到了一位互联网圣徒的帮助,极大地改进了我的代码,在JS for循环中为每个列表项创建一个引导滑块,但现在它的行为不稳定 有时它工作得很好,另一些它创建新项目但不创建滑块(只是一个文本输入字段),还有一些它只为每个列表创建一个项目 有谁知道我错在哪里Javascript 带引导滑块的奇怪JS行为,javascript,twitter-bootstrap,Javascript,Twitter Bootstrap,因此,我得到了一位互联网圣徒的帮助,极大地改进了我的代码,在JS for循环中为每个列表项创建一个引导滑块,但现在它的行为不稳定 有时它工作得很好,另一些它创建新项目但不创建滑块(只是一个文本输入字段),还有一些它只为每个列表创建一个项目 有谁知道我错在哪里 var proArray=[]; 函数addPro(){ var val=document.getElementById(“proInput”).value.trim(); document.getElementById(“proFor
var proArray=[];
函数addPro(){
var val=document.getElementById(“proInput”).value.trim();
document.getElementById(“proForm”).reset();
如果(val.length==0){
返回;
}
if(document.getElementById('proInput'+val)==null){
push({id:val,slider:null});
}否则{
返回;
}
对于(变量i=0;i”+proArray[i].id+””;
document.getElementById(“proList”).innerHTML+=newItem;
proArray[i]。slider=新滑块(“#proInput”+proArray[i]。id{
格式化程序:函数(值){
返回“当前值:”+值;
}
});
}否则{
(职能(一){
setTimeout(函数(){
var val=proArray[i]。slider.getValue();
proArray[i]。slider.destroy();
document.getElementById('SIDproInput'+proArray[i].id).remove();
proArray[i]。slider=新滑块(“#proInput”+proArray[i]。id{
格式化程序:函数(值){
返回“当前值:”+值;
}
});
proArray[i].slider.setValue(val);
}, 100);
})(i) );
}
}
}
var conArray=[];
函数addCon(){
var valCon=document.getElementById(“conInput”).value.trim();
document.getElementById(“符合”).reset();
如果(valCon.length==0){
返回;
}
if(document.getElementById('conInput'+valCon)==null){
push({id:valCon,slider:null});
}否则{
返回;
}
对于(var i=0;i”+conArray[i].id+””;
document.getElementById(“conList”).innerHTML+=newItem;
conArray[i]。slider=新滑块(“#conInput”+conArray[i]。id{
格式化程序:函数(值){
返回“当前值:”+值;
}
});
}否则{
(职能(一){
setTimeout(函数(){
var valCon=conArray[i]。slider.getValue();
conArray[i]。slider.destroy();
document.getElementById('SIDconInput'+conArray[i].id).remove();
conArray[i]。slider=新滑块(“#conInput”+conArray[i]。id{
格式化程序:函数(值){
返回“当前值:”+值;
}
});
conArray[i].slider.setValue(valCon);
}, 100);
})(i) );
}
}
}
赞成的意见
好东西
添加
利益
欺骗
坏东西
添加
成本
因为有两个列表,所以可以使用两个数组:
- var proArray=[]李>
- var conArray=[]李>
- newAdd('pro')
- newAdd('con')
arr[i].slider = new Slider('#' + listIdPrefix + 'Input' +
arr[i].id.replace(/@/g, '\\@').replace(/\?/g, '\\?').....
片段:
var proArray=[];
var conArray=[];
函数newAdd(listIdPrefix){
var val=document.getElementById(listIdPrefix+“输入”).value.trim();
document.getElementById(listIdPrefix+“表单”).reset();
如果(val.length==0){
返回;
}
var-arr;
if(document.getElementById(listIdPrefix+'Input'+val)==null){
如果(listIdPrefix=='pro'){
push({id:val,slider:null});
arr=proArray;
}否则{
push({id:val,slider:null});
arr=conArray;
}
}否则{
返回;
}
对于(变量i=0;i”+arr[i].id+””;
document.getElementById(listIdPrefix+“List”).innerHTML+=newItem;
arr[i].slider=new slider(“#”+listIdPrefix+“输入”+arr[i].id.replace(/@/g,“\\@”).replace(/\?/g,“\\?”).replace(/\./g,“\\”){
格式化程序:函数(值){
返回“当前值:”+值;
}
});
}否则{
(功能(i,arr){
setTimeout(函数(){
var val=arr[i]。slider.getValue();
arr[i].slider.destroy();
document.getElementById('SID'+listIdPrefix+'Input'+arr[i].id.).remove();
arr[i].slider=new slider(“#”+listIdPrefix+“输入”+arr[i].id.replace(/@/g,“\\@”).replace(/\?/g,“\\?”).replace(/\./g,“\\”),