Чтение параметра из 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, время: 09:09. |