У меня есть код ниже, который будет запускать объект на холсте, который я создал, после нажатия кнопки (на основе разных предположений). Однако я хочу, чтобы между нажатием кнопки и запуском объекта на холст была задержка в 5 секунд, я просто не уверен, где это ввести в моем коде.
Я предполагаю, что мне нужна функция setTimeout, но не уверен. Я понимаю, что приведенный ниже код ничего не сделает в данный момент, но кто-нибудь может сказать мне, где в моем коде мне нужно было бы поместить функцию setTimeout. Я пробовал во многих местах, но безрезультатно.
Спасибо.
trigger = function() {
reset();
var effect_size = .8;
localStorage.setItem("value mac", document.getElementById('demo'));
localStorage.setItem("direction", direction);
//var y = document.getElementById("myCanvas")
//const context = y.getContext('2d');
//context.clearRect(0, 0, y.width, y.height);
console.log(direction);
console.log ('check????')
var y = document.getElementById("myCanvas");
var cir = y.getContext("2d");
var value_global = document.getElementById('myRange').value;
console. log(value_global)
var min_val = (value_global > 1) * ((value_global-1)*.1 - .05);
if(value_global>1 && value_global<9){
var range_val = 0.3;
}else if(value_global==1 || value_global==9){
var range_val = 0.25;
}else{
var range_val = 0.15;
}
if (direction === 'east') {
var cen_x = 480-150*value_global/100;
var cen_y = 300;
min_val = min_val * effect_size;
}else if(direction === 'north'){
var cen_x = 300;
var cen_y = 70+200*value_global/100;
min_val = min_val * .2;
}else if(direction === 'west'){
var cen_x = 240-150*value_global/100;
var cen_y = 300;
min_val = min_val * .2;
}else if(direction === 'south'){
var cen_x = 300;
var cen_y = 322+200*value_global/100;
min_val = min_val * .2;
}else{
alert("Error: Invalid direction.")
}
cir.globalAlpha = Math.random()*range_val + min_val;
console.log(cir.globalAlpha)
cir.beginPath();
cir.arc(cen_x, cen_y, 20, 0, 2 * Math.PI);
cir.fillStyle = "red";
cir.fill();
cir.stroke();
}