Я создаю симулятор дымовой системы и дыма для окиси углерода, с помощью гнезда. Но когда я нажимаю кнопку (щелчок), внутреннее кольцо не станет синим, как предполагается. Это говорит, поскольку я использовал Отзывчивый, но он просто не загорается! Вот мой (незавершенный) код.Javascript img change statement срабатывает слишком рано
<script src="http://code.responsivevoice.org/responsivevoice.js"></script>
<script>
function delay(millis) {
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
function press() {
document.getElementById("unit").src = "assets/img/blue.jpg";
delay(500);
responsiveVoice.speak("Ready. In the Living Room. Press to test.");
delay(500);
document.getElementById("unit").src = "assets/img/idle.jpg";
}
</script>
Вы должны действительно использовать 'setTimeout' вместо жесткой задержки, поскольку JavaScript работает в одном потоке, и если выполнение JavaScript застревает в цикле while, страница замерзнет. – yvesmancera