Чтение параметра из CSS файла
Доброго времени.
Подскажите, как прочитать параметр из css файла. Меню сайта скрыто параметром - display:none; . По клику оно открывается, все просто. Функция тоже простейшая - function open_div(id) { var elem = document.getElementById(id); if (elem.style.display=='none') { elem.style.display = ''; } else { elem.style.display = 'none'; } } Если прописать в теге div параметр - style="display:none"; - то все отлично работает. Но в текущей задаче нельзя прописать такое значение, его нужно получить из css-файла. Спасибо. |
Grendel,
что мешает поменять условие ... function open_div(id) { var elem = document.getElementById(id); if (elem.style.display) { elem.style.display = ''; } else { elem.style.display = 'block'; } } и прочитайте это https://learn.javascript.ru/styles-and-classes |
Для css, в котором уже есть display:block у элемента, команда display='' будет тождественна команде display='block', поэтому командовать надо явно:
elem.style.display=(elem.style.display=='block')?'none':'block'; Или нарисовать в глобальном файле стилей нечто вроде d-block{display:block!important;} И втыкать его через elem.classList.toggle('d-block'); Что сразу открывает способ скрыть все открытое таким стилем function hide_all(){ var elems=document.querySelectorAll('d-block'); for var(i=0,el;el=elems[i];i++) el.classList.remove('d-block') } |
Спасибо, рони)), то что нужно. И статью тоже спасибо.
Можно было бы воспользоваться - getComputedStyle(elem).display, но твой вариант проще. ================================================== ========================== warren buffet, спасибо за подробное пояснение)), с тернарным оператором функция еще короче)) Удачи всем =) |
Часовой пояс GMT +3, время: 18:17. |