0

ここに投稿されたポストタイム更新スクリプトを使用しようとしていました。Mobile Safari で NAN エラーが生成されることを除けば、うまく機能します。各変数を出力して、NAN がどこから来ているかを確認しようとしましたが、ダイスはありませんでした。誰かがエラーが発生した場所を特定するのを手伝ってくれるなら、私は修正を見つけることができるはずです. または、エラーの原因を最もよく見つける方法を見つけるのに役立ちます。実際のコードは以下です。

<script src="js/jquery-1.6.3.min.js"></script>
<script>
$(document).ready(function(){   
$.fn.UpdateSince = function(interval) {

var times = this.map(function(){ return { e: $(this), t: parseInt($(this).html()) }; });
var format = function(t) {
    if (t > 60) {
        return Math.floor(t / 60) + ' minutes ago'
    } else {
        return t + ' seconds ago';
    }
}

var update = function(){
    var now = new Date().getTime();
    $.each(times, function(i, o){
        o.e.html(format(Math.round((now - o.t) / 1000)));
    });
};            
window.setInterval(update, interval);
update();

return this;
}
}); 
</script>
<script>
$(document).ready(function(){   
$('.TimeSince').UpdateSince(1000);
}); 
</script>   

編集: Mobile Safari デバッグ コンソールにエラーは表示されませんが、すべての出力整数は NaN です。

4

1 に答える 1

1

私の推測では、それはここにあります:

var times = this.map(function(){ return { e: $(this), t: parseInt($(this).html()) }; });

$(this).html()が空の場合、失敗します。

于 2012-09-18T16:12:53.920 に答える