Замыкание Js( Help )
Проблема такая я обьявил переменную глобально
let have = false; далее идет функция наведения мыши где я ее переопределяю $(".hover_2").mouseover(function () { have = true; setTimeout(function () { $(".sheme-in").css({ "display": "none" }); $(".sheme-in2").css({ "display": "block" }); }, 100); }) после проверка if (have == true ) { console.log('trueee') } else { setInterval(randFunc, 6500); } но при наведении мыши если я в консоле вывожу console.log(have) он выдает false то есть она глобально не поменялось на true как мне внутри функции ее изменить на true чтобы она изменилась глобально |
Цитата:
Если у вас реально есть элемент .hover_2, то после наведения переменная поменяется на true, можете проверить |
Может что то я путаю, но при наведении на .hover_2 have должен меняется на true; и должно срабатывать console.log('trueee'); в этой проверке (if (have == true ) {
console.log('trueee') } else { setInterval(randFunc, 6500); }) но срабатывает ветка else |
Задача у меня такая.Есть схема где проходят определенные анимации при наведении на какую нибудь часть схемы эта часть закрашивается реализовал таким кодом
const nine = function () { $(".layer10").css({ "display": "none" }); $(".layer11").css({ "display": "none" }); $(".sheme-in").css({ "display": "none" }); $(".sheme-in2").css({ "display": "block" }); $(".layer10-hover").css({ "display": "block" }); $(".layer11-hover").css({ "display": "block" }); }; $(".hover_8").mouseover(function () { have8 = true; setTimeout(nine, 100); }); теперь же нужно когда мышка не наведена на эту схему рандомная область закрашивалась const arrFunc = [one, two, three, four, five, six, seven, eight, nine]; randFunc = () => { arrFunc[Math.floor(Math.random() * arrFunc.length)](); } if (have1 == true || have2 == true || have3 == true || have4 == true || have5 == true || have6 == true || have7 == true || have8 == true || have9 == true) { console.log('true') } else { setInterval(randFunc, 6500); В итоге рандомное закрашивание срабатывает, мне нужно чтобы когда наводилась мышка на область схемы не работала рандомное закрашивание я подумал сделать через условие если хотя бы один have true то ничего не произойдет если же все false то сработает функция закрашивания setInterval(randFunc, 6500); В итогу у меня при наведении have всегда false |
Фаниль,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Часовой пояс GMT +3, время: 01:08. |