this.mouseOverStar.bind(this)
не равно this.mouseOverStar.bind(this)
и неравно this.mouseOverStar
function test(){
console.log("test");
}
// проверим
console.log(test===test.bind(this)); // false
console.log(test.bind(this)===test.bind(this)); //false
// а как тогда?
const test_bind = test.bind(this);
console.log(test===test); // true
console.log(test_bind===test_bind); //true
<script src="assets/js/listeners.js" defer></script>
<script src="assets/js/ajax_popup.js" defer></script>
document.querySelector('.notification').addEventListener("click", e => {
send_request(e);
}, false);
document.querySelector('.event__button span').addEventListener("click", hide_popup, false);
document.querySelector('.popup__close').addEventListener("click", hide_popup, false);
drawGame(...)
). Как бонус - данный пример работает в несколько десятков раз быстрее, и позволяет ставить блоки нестандартного размера)))Тут такое дело, встроеная Date не является классом как таковым, поэтому все неверные варианты убрал под спойлер
class ServerDate extends Date {
construcror(...args) {
super(...args);
if (args.length === 0) {
// если аргументов конструктора нет то получаем время от сервера
fetch("url роутера на сервере отдающего время в миллисекундах")
.then((response) => {
return response.json();
})
.then((data) => {
this.setTime(data.time)
})
}
}
}
const date = new ServerDate();
super(...args);
. Если да, то можно попробовать сделать такclass ServerDate extends Date {
construcror(...args) {
// super(...args);
if (args.length) {
this.setTime(Date.now());
}else{
// если аргументов конструктора нет то получаем время от сервера
fetch("url роутера на сервере отдающего время в миллисекундах")
.then((response) => {
return response.json();
})
.then((data) => {
this.setTime(data.time)
})
}
}
}
const date = new ServerDate();
console.log(date)
const date = new ServerDate();
будет содержать время клиента // переменная, в которую запоминаем время
let pressedTime = Date.now();
...
// при нажатии
pressedTime = Date.now();
...
// при отжатии
const passedTime = Date.now()-pressedTime;
console.log("С момента нажатия прошло", passedTime, "миллисекунд");
console.log("С момента нажатия прошло", passedTime/1000, "секунд");
// при отрисовке внутри цикла window.requestAnimationFrame(loop);
if( кнопка нажата ){
const passedTime = Date.now()-pressedTime;
style.margin = (parseInt(style.margin)+passedTime/100) + 'px';
}