gpt4 book ai didi

javascript - 为什么这个文字效果不起作用?

转载 作者:行者123 更新时间:2023-12-02 20:35:50 26 4
gpt4 key购买 nike

我正在尝试修改 here 中的脚本处理多个跨度。

我已经尝试过这个,但它似乎用相同的文本覆盖两个范围。

<html>
<head>
<script>
var got;
var chars;

function change(decSpan,encSpan)
{
var randstring = "";
var rslength = chars.length - got.length;

var decrypted = document.getElementById(decSpan);
var encrypted = document.getElementById(encSpan);

for(var x=0;x<rslength;x++)
{
i = Math.floor(Math.random() * chars.length);
randstring += chars.charAt(i);
}

if(randstring.charAt(0) == chars.charAt(got.length))
{
got += randstring.charAt(0);
decrypted.innerHTML = got;
}
else
{
encrypted.innerHTML = randstring;
}

if(chars.length > got.length)
{
setTimeout("change('"+decSpan+"','"+encSpan+"')", 10);
}
else
{
encrypted.innerHTML = "";
}
}
function startdecrypt()
{
var decodeSpans = ["decoded","decoded2"];
var encodeSpans = ["encoded","encoded2"];
for(var z in decodeSpans)
{
decSpan = decodeSpans[z];
encSpan = encodeSpans[z];
var decrypted = document.getElementById(decSpan);
var encrypted = document.getElementById(encSpan);

chars = decrypted.innerHTML;
decrypted.innerHTML = "";
got = "";
setTimeout("change('"+decSpan+"','"+encSpan+"')", 10);
}
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<input type="button" value="go" onClick="javascript:startdecrypt()"><br>
<span id="decoded">Test1</span><span id="encoded"></span><br>
<span id="decoded2">Test2</span><span id="encoded2"></span>
</body>
</html>

最佳答案

问题在于该脚本使用全局 JavaScript 变量:charsgotstartdecrypt 中设置,并在稍后的 change 中使用 函数。因此,循环的下一次迭代将覆盖先前设置的值。

最好的解决方案可能是将它们包含在 change 函数的 js 调用中,就像使用 ids 一样。

此外,请确保将所有 js 变量声明为本地以避免此类副作用:var got = ""

关于javascript - 为什么这个文字效果不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3276257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com