let el = document.getElementById('a');
function func(){
let timeId;
const handleScroll = () => {
let scrollPos = window.pageYOffset;
document.getElementById('z').innerHTML = scrollPos;
if(scrollPos > 600) {
if(!el.classList.contains('timer')) {
el.classList.add('timer');
let b = 60;
timeId = setInterval(() => {
b--;
el.innerHTML=b;
if(b == 0){
el.classList.remove('timer');
clearInterval(timeId);
alert('Отлично!');
}
}, 1000);
}
} else {
console.warn('stop');
clearInterval(timeId);
}
}
window.addEventListener('scroll', handleScroll);
}
func();
Вопрос: насколько это правильное решение? Не замедляю ли я таким образом код? Ведь я заставляю его постоянно вызывать функцию. Может быть это как-то сказывается на ОЗУ?
Почему раньше, когда я видела js код, постоянно писали getElementById или getElementsByClassName
Подскажите, как быть с функцией, которая бы делала forEach?
qsf('.elements', el => el.classList.add("red"));
qsf('.elements').addClass('class-name');
onClick={(e)=>{paginatorPage(e)}}
onClick={paginatorPage}
setArrItems(arrItems=[...arrList])
let [itemsPerButton] = useState(10)
setFinishIndex(finishIndex=basicNum*10)
for (var prop in deliveryDatesObj) {
var value = deliveryDatesObj[prop];
///......
}
for (var prop in deliveryDatesObj) {
var value = deliveryDatesObj[prop];
deliveryDates.options[deliveryDates.options.length] = new Option(value, prop );
}
console.log(`${user2}`); // Выведет 20 10, т.к. будет вызов user2.toString()
console.log(+user1); // Выведет 20 10 т.к. будет вызов user1.valueOf();
console.log(+user2); // Вывезет 20 10, у user2 нет valueOf, будет произведен вызов функции toString, результат которой будет преобразован в число.