Показать сообщение отдельно
  #11 (permalink)  
Старый 25.11.2014, 22:49
Новичок на форуме
Отправить личное сообщение для learner Посмотреть профиль Найти все сообщения от learner
 
Регистрация: 15.11.2014
Сообщений: 9

Хотите верьте, хотите нет. Написал как Вы предложили:
myFnc = function(){
    var div  = document.getElementById("nav");
        if (window.innerWidth <= 320) {
            div.style.width = window.innerHeight + "px";
        }             
}   //здесь нужна точка с запятой?
window.onload = myFnc();
window.onresize = myFnc();

Всё работало, и при подключении скрипта в head и из внешнего файла, при чём так:
window.onload = window.onresize = myFnc(); тоже работало.
Потом решил попробовать перестроить дизайн и изменил ширину экрана для начала трансформации nav с <= 320 на <= 600 и уже никак не работает, не из head, не из внешнего файла. Вернул на <= 320, хотя это уже шаманство, не заработало. В итоге работает только так:
window.onload = function(){
    var div  = document.getElementById("nav");
        if (window.innerWidth <= 320) {
            div.style.width = window.innerHeight + "px";
        }             
}

window.onresize = function(){
    var div  = document.getElementById("nav");
        if (window.innerWidth <= 320) {
            div.style.width = window.innerHeight + "px";
        }             
}

Как же с этим быть, если в скриптах повторятся? Редактор и меня phpDesigner8 в связке с Denver3.
Что же касается способа удаления стилей навешанных через js:
if (window.innerWidth > 320) {
    div.style.width = window.innerHeight + "px";
}
else {
    div.removeAttribute('style');
}

то при увеличении ширины окна nav это срабатывает, но если отыграть назад, то nav уже не растягивается на всю высоту окна, причём то же и при ресайзе окна по высоте. Перезагрузка страницы не помогает, выходит, что вариант с удалением атрибута 'style' вообще блокирует работу скрипта. Перепробовал все варианты:
div.removeAttribute('style');
div.removeAttribute('style.width');
div.removeAttribute('width');
div.removeAttribute('window.innerHeight);

Последний раз редактировалось learner, 25.11.2014 в 22:51.
Ответить с цитированием