getElementById().style
Приветствую.
Есть задача менять куски оформления js'ом Вроди задача тривиальная, но толи лыжи не едут, толи я *****..... Чего есть: Код:
#SearchBar {
if ("%SEARCH-ENABLED%" == '1') {
document.getElementById('quickdial').style.margin = '10px auto';
document.getElementById('SearchBar').style.width = '40px';
}
Реакции - 0. Пихаю туда alert () - работает. Что еще интересно: Рядом есть вот это:
if ("%IMG_BACKGROUND%" == '') {
document.getElementById("html").style.background = 'url("qrc:html/bg.svg")';
document.getElementById("html").style.backgroundSize = 'cover';
}
Этот кусок работает О_О Где я не прав? |
Шаблонизатор под js какой-то используется что-ли?
Если условие выполняется, то возможно на странице в момент выполнения условия нет элементов с id "quickdial" и "SearchBar". |
diablopc,
:-? |
Да страница чуть-ли не статическая....
там-же, чуть ниже:
<div class="SearchBar" id="SearchBar">
<div id="SearchBarToggle" onClick="searchToggle()">
</div>
</div>
<div id="quickdial">
</div>
searchToggle() переключает переменную %SEARCH-ENABLED% и делает location.reload() |
Цитата:
|
Цитата:
|
сс
Цитата:
function searchToggle() {
if ("%SEARCH-ENABLED%" == '1') {
external.speedDial.setsearchEnabled(false);
} else {
external.speedDial.setsearchEnabled(true);
};
location.reload();
}
Которая возвращается вот этим: Код:
searchEnabled = settings.value("searchEnabled", true).toBool();Если на страницу вставить <div>%SEARCH-ENABLED%</div>, то по searchToggle() оно переключается (Показывая посреди страницы или '0' или '1')... Весь прикол именно в стилях Зы Ну да, логично, здесь это строка =) ...только ее содержание меняется)) |
Цитата:
Цитата:
Если "%SEARCH-ENABLED%" действительно переменная, скиньте пару ссылок почитать о таких переменных, крайне интересно. |
По сути в JS это строка, подменяемая на некое значение (в данном случае 0 или 1) внешним программным кодом.
Причем снаружи она подменяется отлично, так-же как и %IMG_BACKGROUND% может возвращать null, а может нечто типа file:///ololo.png. |
Попробуйте:
if ("%SEARCH-ENABLED%" == '1') {
if(!document.getElementById('quickdial'))
alert('quickdial нет на странице');
if(!document.getElementById('SearchBar'))
alert('quickdial нет на странице');
document.getElementById('quickdial').style.margin = '10px auto';
document.getElementById('SearchBar').style.width = '40px';
}
|
Nexus, Фух, таки да.... Как оказалось там сотней строк далее кусок <body> тоже js'ом генерился, и до этого момента в доке quickdial и SearchBar не появлялись %) А id="html" был по той простой причине что это <html id="html">, соответственно правила касательно этого id работали, а остальные нет
Спасибо =) |
| Часовой пояс GMT +3, время: 19:13. |