我正在编写一个简单的计数器,它使用当前日期并向其广告一些数字。我希望最终数字的每个数字都显示在它自己的div中,这样我就可以设置它们的样式。这是我正在使用的代码。我得到一个'未定义'不是一个函数(评估('y.split(“”)“)错误,所以我不知道我所做的代码是完全破坏还是只是这行不起作用。
var counter = setInterval(timedCount,2000);
function timedCount()
{
var x;
var y;
var arrDigit;
var d=new Date();
x=d.getTime();
y=(Math.floor((x-928713600000)/1000))*16-61447952;
var arrDigit = y.split(""); // this is the error line
jQuery.each(arrDigit, function(){
$("#counter").text('<div class="counter-digit">' + this + '</div>');
});
}
答案 0 :(得分:2)
你的y是一个int。你需要把它变成字符串。
尝试:
function timedCount()
{
var x, y, arrDigit;
var html='';
x = new Date().getTime();
y=(Math.floor((x-928713600000)/1000))*16-61447952;
var arrDigit = y.toString().split(""); // this is the error line
$(arrDigit).each(function(){
html += '<div class="counter-digit">' + this + '</div>');
});
$("#counter").html(html);
}
答案 1 :(得分:1)
split是一个使用字符串(不是数组或int)并给出数组的函数:
var s = "1,2,3";
console.log(s.split(",")); // ["1", "2", "3"]
我会给每个使用push()创建的jquery一个数组:
var a = [];
a.push(1);
a.push(2);
a.push(3);
console.log(a); // [1,2,3]