คำถามติดแท็ก settimeout

setTimeout เป็นวิธีการของ JavaScript ทั่วโลกที่ใช้ในการเรียกใช้ฟังก์ชันหรือโค้ดบางส่วนหลังจากการหน่วงเวลาที่กำหนด

12
วิธีทำให้ "setInterval" ทำงานในการซิงค์มากขึ้นหรือจะใช้ "setTimeout" แทนได้อย่างไร
ฉันกำลังทำงานกับโปรแกรมเพลงที่ต้องใช้องค์ประกอบ JavaScript หลายตัวเพื่อซิงค์กับรายการอื่น ฉันใช้อยู่setIntervalซึ่งใช้งานได้ดีในตอนแรก อย่างไรก็ตามเมื่อเวลาผ่านไปองค์ประกอบต่างๆก็ค่อยๆไม่ตรงกันซึ่งไม่ดีในรายการเพลง ฉันอ่านออนไลน์ที่setTimeoutถูกต้องกว่าและคุณสามารถมีsetTimeoutลูปได้ อย่างไรก็ตามฉันไม่พบเวอร์ชันทั่วไปที่แสดงให้เห็นว่าสิ่งนี้เป็นไปได้อย่างไร โดยทั่วไปฉันมีฟังก์ชั่นบางอย่างเช่นนี้: //drums setInterval(function { //code for the drums playing goes here }, 8000); //chords setInterval(function { //code for the chords playing goes here }, 1000); //bass setInterval(function { //code for the bass playing goes here }, 500); มันทำงานซุปเปอร์ดี แต่แรก setIntervalแต่ในช่วงประมาณนาทีที่เสียงกลายเป็นเห็นได้ชัดออกจากซิงค์เป็นฉันได้อ่านที่เกิดขึ้นกับ ฉันอ่านแล้วว่าsetTimeoutสามารถแม่นยำมากขึ้นอย่างต่อเนื่อง ใครช่วยแสดงตัวอย่างพื้นฐานของการใช้setTimeoutวนซ้ำไปเรื่อย ๆ …

13
หาเวลาที่เหลือใน setTimeout ()?
ฉันกำลังเขียน Javascript ที่โต้ตอบกับรหัสไลบรารีที่ฉันไม่ได้เป็นเจ้าของและไม่สามารถเปลี่ยนแปลงได้ (อย่างสมเหตุสมผล) จะสร้างการหมดเวลาของ Javascript ที่ใช้สำหรับแสดงคำถามถัดไปในชุดคำถามที่ จำกัด เวลา นี่ไม่ใช่รหัสจริงเพราะมันสับสนเกินความหวังทั้งหมด นี่คือสิ่งที่ห้องสมุดกำลังทำ: .... // setup a timeout to go to the next question based on user-supplied time var t = questionTime * 1000 test.currentTimeout = setTimeout( showNextQuestion(questions[i+1]), t ); ฉันต้องการที่จะนำแถบความคืบหน้าบนหน้าจอที่เติมต่อโดยการสอบสวนการจับเวลาที่สร้างขึ้นโดยquestionTime * 1000 setTimeoutปัญหาเดียวคือดูเหมือนว่าจะไม่มีทางทำเช่นนี้ มีgetTimeoutฟังก์ชันที่ฉันขาดหายไปหรือไม่? ข้อมูลเดียวเกี่ยวกับการหมดเวลาของ Javascript ที่ฉันสามารถพบได้นั้นเกี่ยวข้องกับการสร้างผ่านsetTimeout( function, time)และการลบผ่านclearTimeout( id )ไฟล์. …

4
เหตุใดการตั้งค่าคุณสมบัติ CSS โดยใช้ Promise แล้วไม่เกิดขึ้นจริงในบล็อกนั้น
โปรดลองและเรียกใช้ตัวอย่างต่อไปนี้จากนั้นคลิกที่กล่อง const box = document.querySelector('.box') box.addEventListener('click', e => { if (!box.style.transform) { box.style.transform = 'translateX(100px)' new Promise(resolve => { setTimeout(() => { box.style.transition = 'none' box.style.transform = '' resolve('Transition complete') }, 2000) }).then(() => { box.style.transition = '' }) } }) .box { width: 100px; height: 100px; border-radius: 5px; background-color: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.