$(document).ready(function() { ... });
jQuery
внутрь функции в виде аргумента $
. position: fixed;
, положение его менять программно по событию "scroll".document.addEventListener('scroll', () => {
let offset = window.scrollY;
const start = 685; // начало стоп-зоны в px
const stop = 1000; // конеч стоп-зоны
if (offset >= start && offset < stop) {
offset = start; // стоим на месте
} else if (offset >= stop) {
offset -= (stop - start); // продолжаем движение
}
content.style.top = `-${offset}px`; // позиционируем контент
});
function checkResult() {
const data = {
hash: hash,
}
$.ajax({
url: 'result.php',
dataType: "json",
data: data,
success: (result) => {
const ok = result.ok;
if (ok != 1) {
// перезвоните через секунду
setTimeout(checkResult, 1000);
}
},
error: (response) => { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
checkResult();
event.stopPropagation();
document.body.addEventListener('click', () => {
if (newdiw.classList.contains("active")) newdiw.classList.remove("active");
});
requestAnimationFrame()
– что передаётся в него аргументом – это понадобится для реалистичной плавности на всех устройствах от быстрого компа до слабого телефонаinnerHTML
заменит собой все, что было ранее. А createElement()
позволяет заранее навесить слушателей событий прямо на создаваемый элемент.завершающий callback
const waitFor = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function test() {
await waitFor(1000);
return 1;
}