Javascript 为什么';是否使用此功能启动文本滚动?
使用此代码,返回的歌曲名称保持静态Javascript 为什么';是否使用此功能启动文本滚动?,javascript,scroll,Javascript,Scroll,使用此代码,返回的歌曲名称保持静态 var temp; function scrollon(f) { temp = f.substring(0,1); f += temp; f = f.substring(1,f.length); document.wow.display.value = f.substring(0,f.length); setTimeout("scrollon()",200); } 而这会根据需要滚动 var temp; var f = "Closing Time
var temp;
function scrollon(f) {
temp = f.substring(0,1);
f += temp;
f = f.substring(1,f.length);
document.wow.display.value = f.substring(0,f.length);
setTimeout("scrollon()",200);
}
而这会根据需要滚动
var temp;
var f = "Closing Time is now playing ";
function scrollon() {
temp = f.substring(0,1);
f += temp;
f = f.substring(1,f.length);
document.wow.display.value = f.substring(0,f.length);
setTimeout("scrollon()",200);
}
关于我做错了什么有什么建议吗?试着从
setTimeout("scrollon()",200);
到
因为您创建了带有参数的函数。您需要再次传递参数。不要将字符串传递给
setTimeout
。更好的解决方案是setTimeout(scrollon.bind(this,f),200)
。如果字符串包含一个“
”,您的解决方案将失败。正如Felix所指出的,在我找到一首标题中带有“的歌曲之前,@Sky一直在工作。这是字符串上的一个常见问题。示例$f=“天空时代”;函数将类似于scrollon('Sky's Era'),它不会运行,因为字符串被“”提前终止。一种方法是用`替换'使用$f.replace(“'”,“`”);在调用setTimeout之前。
setTimeout("scrollon('"+f+"')", 200);