我在列表中有很多结果。 this.label指定每行应该有多少结果。
有时候行中的结果数量错误。我可以用这段代码找到这个:
var noResults = $(".results").length;
if (this.label == "3") {
var ratio = (noResults / 3);
if (ratio % 1 !== 0) {
console.log('Wrong number of results');
}
}
if (this.label == "4") {
var ratio = (noResults / 4);
if (ratio % 1 !== 0) {
console.log('Wrong number of results');
}
}
我有一个名为addResult的函数,它将添加另一个项目。当错误的结果数量连续时,我想继续调用此函数并添加结果直到该行已满。如何调用addResult而不是我的警报,并再次检查行是否已满,如果不是,则添加另一个结果(依此类推)?
答案 0 :(得分:0)
将您的if
更改为while
。只要确保比率在某些时候是正确的!
function getratio(divby) {
return ($(".results").length / divby);
}
if (this.label == "3") {
while (getratio(3) % 1 !== 0) {
addResult();
}
}
if (this.label == "4") {
while (getratio(4) % 1 !== 0) {
addResult();
}
}
答案 1 :(得分:0)
您可以在其他功能中调用每个功能:
function checkLength(){
var noResults = $(".results").length;
if (this.label == "3") {
var ratio = (noResults / 3);
if (ratio % 1 !== 0) {
console.log('Wrong number of results');
addResult();
}
}
if (this.label == "4") {
var ratio = (noResults / 4);
if (ratio % 1 !== 0) {
console.log('Wrong number of results');
addResult();
}
}
}
function addResult(){
//Some codes here;
.
.
checkLength() // to check again
}