Ответы пользователя по тегу JavaScript
  • Как правильно передать тяжёлый массив в другой скрипт?

    Itachi261092
    @Itachi261092 Автор вопроса
    Веб-разработчик, писатель, геймер...
    Нашёл выход. обращаться аяксом на ту же страницу с гет-параметром, и по условию наличия этого параметра выдавать результат.
    Ответ написан
    Комментировать
  • Как сопоставить hover с touchstart?

    Itachi261092
    @Itachi261092 Автор вопроса
    Веб-разработчик, писатель, геймер...
    Помог совет Евгения, но допёр как всё сделать, я не сразу. В итоге получился вот такой код:
    // Проверка на тач девайсы
        function is_touch_device() {
            return !!('ontouchstart' in window);
        }
        if (is_touch_device() == true){
            // Функция меню для тач девайсов
            $('.menu-fallback').on('touchstart click', function(e) {
                // Если нету класса active
                if (!$(this).hasClass('active')){
                    // Если у пункта есть подменю, отключить ссылку
                    if ($(this).children().is('.fallback')){
                        e.preventDefault();
                    }
                    // Если есть другие активные пункты, отключаем их
                    $('.menu-fallback.active').each(function () {
                        $(this).find('.fallback').stop().slideUp('fast');
                        $(this).removeClass('active');
                    });
                    // Делаем активным текущий пункт
                    $(this).find('.fallback').stop().slideDown('fast');
                    $(this).addClass('active');
                }
            });
        }
        // для мыши
        else{
            $('.menu-fallback').hover(function () {
                $(this).find('.fallback').stop().slideDown('fast')
                $(this).addClass('active');
            }, function () {
                $(this).find('.fallback').stop().slideUp('fast');
                $(this).removeClass('active');
            });
        }
    Ответ написан
    Комментировать