Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с мобильной версией. (https://javascript.ru/forum/misc/41176-problemy-s-mobilnojj-versiejj.html)

Gasherez 03.09.2013 09:51

Проблемы с мобильной версией.
 
Доброе утро!
Вот такой фрагмент разметки.
<div class="zakaz">
            <div class="container">
                <h2 class="shashka visible">
                    <a class="on-shashka" href="#" onclick="this.className = (this.className == 'on-shashka off-shashka' ? 'on-shashka' : 'on-shashka off-shashka')">Заказ такси</a>
                </h2>
                <h2 class="shashka-940 invis">
                    Заказ такси
                </h2>
                <div class="row" id="zakaz">
                ...
                </div>
            </div>
        </div>

Нажимаешь на .shashka, #zakaz сворачивается, вот js код:
$(function() {
    $(".shashka").click(function() {
        $("#zakaz").slideToggle("slow");
        $(this).toggleClass("active"); return false;
    });
});

Проблема в том, если свернешь этот блок в мобильной версии (< 940px начинается мобильная версия), а потом развернешь окно браузера (=> 940px), то этот блок остается свернутым и приходится обновлять страницу. Можно добавить условие, чтобы этот скрипт не сворачивался (или не работал) на ширине =>940px?????

tsigel 03.09.2013 12:08

есть 2 способа решения таких проблем:
1) определять тип устройства на сервере, и подкючать другие скрипты/передавать переменные

2) определять тип устройства на клиенте.

1-й способ лучше и проще.
Для определения типа устройства на клиенте есть библиотеки. Если вы будете привязываться к размеру экрана будете постоянно ловить такие глюки.

В конце концов для мобильных устройств лучше подключать jQuery mobile.

Gasherez 03.09.2013 16:27

Спасибо за информацию!
Это получается, забить на эту фигню???))

tsigel 03.09.2013 17:13

По крайней мере на такую реализацию.


Часовой пояс GMT +3, время: 03:50.