Добрый День! Столкнулся с проблемой, JS никак не может понять стиль и выдает ошибку в console.log каждый раз. Кто знает, в чем может заключаться проблема?
function closeDialog(fromMask) {
if (fromMask === undefined){
fromMask = false;
}
console.log("TEST mask", fromMask);
if (canncellable === true) {
$("#mask").fadeOut(300);
$(popup_id).fadeOut(300);
document.getElementById(popup_id).style.display = "none"
} else if(fromMask === false){
canncellable = true;
closeDialog(false);
}
resetIconToHidden()
}
function resetIconToHidden() {
let popupContainer = document.getElementById(popup_id);
popupContainer.getElementsByClassName("icon")[0].style.display = "none";
}
document.getElementById(popup_id) возвращает undefined. Это значит, что нет в документе элемента у которого id совпадает со значением, которое хранится в переменной popup_id.
Для начала выведите в лог значение popup_id и убедитесь, что там находится то, что Вы ожидаете
Судя по строке
$(popup_id).fadeOut(300);
в popup_id находится значение, начинающееся с символа #, который в jQuery обозначает, что в строке содержится id элемента, а для метода getElementById этот символ не нужен, и браузер считает, что Вы ищете элемент с id #xxx
А вообще, раз Вы уже нашли этот элемент при помощи jQuery, так и продолжайте работать с ним
$(popup_id).fadeOut(300).css({display: none});
Но смысла ставить display: none нет никакого. Т.к. jQuery.fadeOut(..) сам это сделает по окончанию своей работы
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости