Javascript滚动文本函数-array.shift()不是函数
我试图使滚动文本功能,但我在Chrome控制台中得到一个错误:“NASRARY[I]。shift不是一个函数”。怎么了Javascript滚动文本函数-array.shift()不是函数,javascript,arrays,Javascript,Arrays,我试图使滚动文本功能,但我在Chrome控制台中得到一个错误:“NASRARY[I]。shift不是一个函数”。怎么了 var text = 'Milica'; var text1 = 'Danka'; var text2 = 'Marko'; var stext = text.split(''); var stext1 = text1.split(''); var stext2 = text2.split(''); var nasArray = [text, text1, text2];
var text = 'Milica';
var text1 = 'Danka';
var text2 = 'Marko';
var stext = text.split('');
var stext1 = text1.split('');
var stext2 = text2.split('');
var nasArray = [text, text1, text2];
var i = 0;
var scroll = document.getElementById('scroll');
function start() {
if (nasArray[i].length > 0) {
scroll.innerHTML += nasArray[i].shift();
setTimeout(start, 200);
} else {
i++;
if (i > 2) {
i = 0;
}
scroll.innerHTML = '';
start();
}
}
start();
shift()
是字符串,而不是字符串。由于您正在为nasArray[i]
引用中的字符串编制索引,因此存在类型不匹配
试一试
scroll.innerHTML+=nasArray.shift()
而是一个字符串,而不是字符串。由于您正在为nasArray[i]
引用中的字符串编制索引,因此存在类型不匹配
试一试
scroll.innerHTML+=nasArray.shift()
相反,nasArray[i]不是数组。这些元素是字符串。改用数组的shift函数
编辑:你也可以按照卢卡在评论中的建议去做<代码>变量nasArray=[stext,stext1,stext2]。这将起作用,因为
stext
、stext1
等是由split函数创建的,因此是数组。nasArray[i]不是数组。这些元素是字符串。改用数组的shift函数
编辑:你也可以按照卢卡在评论中的建议去做<代码>变量nasArray=[stext,stext1,stext2]。这将起作用,因为
stext
、stext1
等是由split函数创建的,因此是数组。您试图对字符串而不是数组调用.shift()
如果要删除每个单词的第一个字母,应使用拆分的单词构建数组:
var nasArray = [stext, stext1, stext2];
如果您想从
nasArray
中删除第一个单词,只需在nasArray
上调用.shift()
,而不是nasArray[i]
您试图在字符串而不是数组上调用.shift()
如果要删除每个单词的第一个字母,应使用拆分的单词构建数组:
var nasArray = [stext, stext1, stext2];
如果要从
nasArray
中删除第一个单词,只需在nasArray
上调用.shift()
,而不是nasArray[i]
它的意思是nasArray[i]
不是数组。^nasArray
是字符串数组,而不是nasArray.shift()
?您可能想将nasArray
定义为var-nasArray=[stext,stext1,stext2]
它只是意味着nasArray[i]
不是数组。^nasArray
是字符串数组,而不是nasArray.shift()
?您可能想将nasArray
定义为var-nasArray=[stext,stext1,stext2]
这与我写这篇文章时jakemingolla和psdanielxu的答案相同。这与我写这篇文章时jakemingolla和psdanielxu的答案相同。