第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么setInterval只執(zhí)行一次?

為什么setInterval只執(zhí)行一次?

富國滬深 2023-09-25 17:20:40
setInterval只執(zhí)行一次。我還嘗試使用setTimeout并將其放置在函數(shù)內(nèi)以引起循環(huán),但這給出了相同的結(jié)果。我正在使用括號,如果這有影響的話,它是實時預(yù)覽。const buttons = document.getElementsByTagName('button');setInterval(charChange, 1000);function charChange(){    let string;    let chars = ['#', '!', '@', '$', '%', '&', '+', '?'];    for(i = 0; i < buttons.length; i++){        string = buttons[i].textContent;        let char = chars[Math.floor(Math.random() * 7)];        string = string.replace(/_/, char);        buttons[i].textContent = string;    }}<button id = 'title'>help_</button>
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊

您的函數(shù)運(yùn)行正確,問題出在函數(shù)代碼本身,而不是在setInterval.


這樣做:


string = string.replace(/_/, char);

你總是試圖更換_角色。從第二次調(diào)用函數(shù)時起,該字符將不再存在,因為它被第一次調(diào)用所替換。


如果您希望最后一個字符不斷變化,您有多種選擇:


string = string.substrstring.replace(/.$/, char);

// or

string = string.substrstring.slice(0, -1) + char;

// or even just

buttons[i].textContent = 'help' + char;

正則表達(dá)式.$匹配字符串中最后一個位置的任何字符($匹配字符串的末尾),但它可能是最慢的選項。


工作片段:

const buttons = document.getElementsByTagName('button');


setInterval(charChange, 1000);


function charChange(){

    let string;

    let chars = ['#', '!', '@', '$', '%', '&', '+', '?'];

    for(i = 0; i < buttons.length; i++){

        let char = chars[Math.floor(Math.random() * 7)];

        buttons[i].textContent = 'help' + char;

    }

}

<button id = 'title'>help_</button>


查看完整回答
反對 回復(fù) 2023-09-25
  • 1 回答
  • 0 關(guān)注
  • 109 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號