JavaScript - ネイティブ JS を使用してコンピューターのタイピング効果をシミュレートする際に問題が発生しました。助けを求めてください。
怪我咯
怪我咯 2017-05-19 10:16:52
0
4
528

<!--下のコードをコピーして貼り付け、ブラウザで実行して問題を確認してください-->
<!DOCTYPE html>
<html>
<頭>

リーリー

</head>
<body>
<p id='main'></p>
<script type="text/javascript">
var context='このプログラムは、最初にすべてのテキストを 1 つずつ入力し、3 秒後にすべてのテキストを 1 つずつ削除したいのですが、実行してみると、削除しても再度削除されることがわかります。助けてください、ありがとう! '
//console.log(a.length)
var contextLength=Number(0)
var writecontext=document.querySelector('#main')
functionloop(){

リーリー

}

loop().then(関数(値){

リーリー

})
</script>
</body>
</html>

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(4)
曾经蜡笔没有小新

問題はlp()関数にあります

リーリー

ここで判定されるのはvalueですが、操作はcontextLengthなのでlp()関数は無限ループを引き起こします。

2回削除する理由を説明します:主にslice()メソッドです

'string'.slice(0,n);

n が正の数の場合、通常の順序で実行されます。n が負の数の場合、n は実行中に文字列長 + n に置き換えられます。詳細については MDN を参照してください。
そのため、lop() の最初の実行で文字列が 0 に削除された後、contextLength は 1 ずつ減り続け、その結果、視覚的に 2 つの削除が行われます

いいねを押す +0
Ty80

あなたが書いたものlp函数其实是无限循环函数来的,需要把lp函数下的contextLength--改为value--,且需要把value > 0改为value >= 0

いいねを押す +0
某草草

リーリー

いいねを押す +0
刘奇

単語を配列に保存し、配列を追加および削除します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート