jQueryを使用してdivの幅を変更しようとしています。それは他のdiv内の値に比例して変化するはずです。JavaScriptはGoogle ChromeでのみNaNを返しますが、Firefoxで正常に動作します
私は次のスクリプトを使用しています:
var maxWidth, maxCount;
$('.view-most-commented ul li').each(function(i) {
var $this = $(this);
var thisCount = parseFloat($this.find('.comment-bar').html());
if (i == 0) {
maxWidth = $this.width();
maxCount = thisCount;
}
var thisWidthStr = (thisCount/maxCount) * maxWidth;
var thisWidth=parseFloat(thisWidthStr);
$this.find('.views-field-comment-count').attr('style','max-width :'+thisWidth+'px');
});
これはFFでうまく動作しますが、ChromeでthisWidth
の値はNaNです。 何が原因で問題が発生する可能性がありますか?
以下のコメントで示唆されているように、私は各変数の値を見つけようとしました。 Chromeの 出力は次のようになります。
thisCount:NaN
maxWidth:0
maxCount:NaN
thisWidthStr:NaN
thisWidth:NaN
thisCount:NaN
thisWidthStr:NaN
thisWidth:NaN
thisCount:NaN
thisWidthStr:NaN
thisWidth:NaN
thisCount:6
thisWidthStr:NaN
thisWidth:NaN
thisCount:5
thisWidthStr:NaN
thisWidth:NaN
thisCount:5
thisWidthStr:NaN
thisWidth:NaN
thisCount:5
thisWidthStr:NaN
thisWidth:NaN
thisCount:4
thisWidthStr:NaN
thisWidth:NaN
FFで出力に含まですが:
thisCount:6
maxWidth:955
maxCount:6
thisWidthStr:955
thisWidth:955
thisCount:5
thisWidthStr:795.8333333333334
thisWidth:795.8333333333334
thisCount:5
thisWidthStr:795.8333333333334
thisWidth:795.8333333333334
thisCount:5
thisWidthStr:795.8333333333334
thisWidth:795.8333333333334
thisCount:4
thisWidthStr:636.6666666666666
thisWidth:636.6666666666666
チェック' thisWidth'。原因を見つけるのに役立つかもしれない –
一般的なヒント:Chromesコンソールを使用して、コードを1行ずつ試して、Chromeがどこで窒息しているかを確認することができます。 –
'Console'または' alert'を使って各変数の値を調べます。 –