javascript - ajax调用在回调函数里for循环加if判断出现问题
本文介绍了javascript - ajax调用在回调函数里for循环加if判断出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
代码如下
success:function(data){
var str = "";
for(i in data.data){
str += '<div class="row'+i+' clearall row"><div class="data_name">'+data.data[i].name+'</div><div class="data_bar clearall"><div class="bar_r" title="'+data.data[i].oValue+'"><div class="remove_bar" title="'+data.data[i].oValue+'"></div></div><div class="add_bar" title="'+data.data[i].tValue+'"></div></div><div class="bar_num">'+data.data[i].tValue+'</div></div>';
$(".barData").html(str);
tv = data.data[i].tValue * 0.23;
ov = data.data[i].oValue * 0.23;
dv = data.data[i].dValue*0.23;
rv = data.data[i].rValue*0.23;
$(".row"+i).find(".data_bar").width(tv);
if(data.data[i].dValue>0){
console.log(i);
$(".row"+i).children(".data_bar").children(".bar_r").children(".remove_bar").width(0);
$(".row"+i).children(".data_bar").children(".bar_r").width(ov);
$(".row"+i).children(".data_bar").children(".add_bar").width(dv);
}else{
console.log(i);
$(".row"+i).children(".data_bar").children(".add_bar").width(0);
$(".row"+i).children(".data_bar").children(".bar_r").children(".remove_bar").width(rv);
$(".row"+i).children(".data_bar").children(".bar_r").width(ov);
};
}
}
结果第一条没出现 if大于0的判断走了 但宽度没加上 如图
一直卡在这 请大手帮忙看一下
解决方案
应该是这样写。。。。。我太菜鸟了 这个问题有点白痴。。。。。
wbar:function(){
$.ajax({
type:"get",
url:bar_url,
dataType:"json",
success:function(data){
//
var str = "";
for(i in data.data){
str += '<div class="row'+i+' clearall row"><div class="data_name">'+data.data[i].name+'</div><div class="data_bar clearall"><div class="bar_r" title="'+data.data[i].oValue+'"><div class="remove_bar" title="'+data.data[i].oValue+'"></div></div><div class="add_bar" title="'+data.data[i].tValue+'"></div></div><div class="bar_num">'+data.data[i].tValue+'</div></div>';
//
};
$(".barData").html(str);
for(i in data.data){
tv = data.data[i].tValue * 0.23;
ov = data.data[i].oValue * 0.23;
dv = data.data[i].dValue*0.23;
rv = data.data[i].rValue*0.23;
console.log(tv);
$(".row"+i).find(".data_bar").width(tv);
ifbar(data.data[i].dValue,i);
};
}
})
}
};
page.init();
function ifbar(d,i){
if(d>0){
console.log("nima");
$(".row"+i).children(".data_bar").children(".bar_r").children(".remove_bar").width(0);
$(".row"+i).children(".data_bar").children(".bar_r").width(ov);
$(".row"+i).children(".data_bar").children(".add_bar").width(dv);
}else{
// console.log(data.data[i].dValue);
console.log(i);
$(".row"+i).children(".data_bar").children(".add_bar").width(0);
$(".row"+i).children(".data_bar").children(".bar_r").children(".remove_bar").width(rv);
$(".row"+i).children(".data_bar").children(".bar_r").width(ov);
};
}
这篇关于javascript - ajax调用在回调函数里for循环加if判断出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文