在我的HTML我有以下幾點:的JavaScript如果低於不工作
<div class="boxS" data-catTotal="19"></div>
<div class="boxS" data-catTotal="12"></div>
<div class="boxS" data-catTotal="4"></div>
<div class="boxS" data-catTotal="8"></div>
<div class="boxS" data-catTotal="4"></div>
<div class="boxS" data-catTotal="1"></div>
而且我的JavaScript如下:
var sizeBoxMax = null;
var sizeNew;
$(".boxS").each(function(){
var sizeBox = $(this).attr("data-catTotal");
alert($(this).attr("data-namez") + " " + sizeBox + " " + sizeBoxMax);
if (sizeBox < sizeBoxMax) {
sizeNew = (sizeBox/sizeBoxMax) * 100;
sizeNew = Math.ceil(sizeNew.toFixed(0));
$(this).attr("style", "width: " + sizeNew + "% !important");
}
else {
if (sizeBoxMax == null) {
sizeBoxMax = $(this).attr("data-catTotal");
}
// alert($(this).attr("data-namez") +" "+ sizeBox);
}
});
的問題是,if
聲明不被訪問,即使sizeBoxMax
一直是19。 19
,12
和1
正在工作正常,但其餘的不受影響。關於我能做什麼的任何想法?我試圖parseInt()
,但我只是得到NaN
。任何幫助將不勝感激!謝謝。
爲什麼不問我們你真的想做什麼;設置所有元素的寬度等等。有可能更簡單的方法來做到這一點。 – adeneo
如果使用'Number()'而不是'parseInt()',它是否有所作爲? – sbonkosky
嘗試在比較之前檢查sizeBoxMax上的null ... http://jsfiddle.net/5WzVz/ – jsuna