我试图使用发布在这里的发布时间更新脚本。它工作得很好,除了在 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。