Javascript 谁能帮我解释一下为什么.substring()不是';t使用设置间隔展开文本?
其思想是针对文档中包含文本的预定义不可见p元素,并使其展开并再次可见(不包括在body load事件中使文本不可见的函数) 我已经对不使用substring方法的代码行进行了注释Javascript 谁能帮我解释一下为什么.substring()不是';t使用设置间隔展开文本?,javascript,html,substring,setinterval,Javascript,Html,Substring,Setinterval,其思想是针对文档中包含文本的预定义不可见p元素,并使其展开并再次可见(不包括在body load事件中使文本不可见的函数) 我已经对不使用substring方法的代码行进行了注释 var tally = 0; //global. var rollTextOut = function(x){ //make re-usable for all roll-outs. var anim = setInterval(function(){sequence()}, 50); function
var tally = 0; //global.
var rollTextOut = function(x){ //make re-usable for all roll-outs.
var anim = setInterval(function(){sequence()}, 50);
function sequence(){
tally++;
if(x===1){
var pHidden1 = document.getElementById("roll1");
pHidden1.style.background="#fff";
pHidden1.style.zIndex="2";
pHidden1.style.visibility="visible";
var text = pHidden1.innerHTML; //targets the p text inside html doc.
pHidden1.innerHTML = text.substring(0, tally); //<why doesn't this work?
}
else if(x===2){
var pHidden2 = document.getElementById("roll2");
pHidden2.style.background="#fff";
pHidden2.style.zIndex="2";
pHidden2.style.visibility="visible";
pHidden2.innerHTML = tally;
}
else if(x===3){
var pHidden3 = document.getElementById("roll3");
pHidden3.style.background="#fff";
pHidden3.style.zIndex="2";
pHidden3.style.visibility="visible";
pHidden3.innerHTML = tally;
}
else{
var pHidden4 = document.getElementById("roll4");
pHidden4.style.background="#fff";
pHidden4.style.zIndex="2";
pHidden4.style.visibility="visible";
pHidden4.innerHTML = tally;
}
if(tally===15){
clearInterval(anim);
tally=0;
}
};
};
var-tally=0//全球的。
var rollTextOut=函数(x){//使所有转出可重用。
var anim=setInterval(函数(){sequence()},50);
函数序列(){
理货++;
如果(x==1){
var pHidden1=document.getElementById(“roll1”);
pHidden1.style.background=“#fff”;
pHidden1.style.zIndex=“2”;
pHidden1.style.visibility=“可见”;
var text=pHidden1.innerHTML;//以html文档中的p文本为目标。
pHidden1.innerHTML=text.substring(0,tally);//删除默认文本,因此无法增加下一个字母,因为它已不存在。因此请存储对它的引用
var pHidden1 = document.getElementById("roll1");
if (!pHidden1.myDefaultText) {
pHidden1.myDefaultText = pHidden.textContent || pHidden.innerText;
}
var text = pHidden1.myDefaultText;
pHidden1.innerHTML = text.substring(0, tally);
您如何期望子字符串(0,计数)
如果tally==0,则获取任何文本??因为你替换了文本,所以下次它不在那里!tally在全局范围chsdk中,所以它一直在增加?epascarello,你能理解我的意思吗?我想我明白你的意思了。你的代码不容易阅读,你真的应该将其放入for循环中,并使用数组而不是多个pHidden变量ables。调用substring时,tally
似乎是1,所以我不知道问题出在哪里。但是,第二次循环时,它不会起作用,因为当你得到innerHTML时,它只会是你放回的一个字符。你在第一次迭代时替换文本,这样innerHTML就只有一个字母,下一次迭代,你需要y来增加它,但是你删除了默认文本,所以你不能添加更多字符,因为它们不在那里。好的,干杯!我想我明白了。大量帮助。gunna返回并调整代码。