Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery меню пропадает при прокрутке страницы 
:(
    Опции темы
zulfukar
Дата 11.6.2020, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.6.2020

Репутация: нет
Всего: нет



Здравствуйте. Есть код меню который нужно чуть подкорректировать. Дело в том, что при нажатии на кнопку toggle справа выезжает меню. Если на компе или телефоне пытаться прокрутить сайт ниже или при нажатии/клике в любое место на экране, меню тут же исчезает (заезжает на свое место). Т.е. если в меню много пунктов, то нижние пункты невозможно просмотреть, меню просто исчезает.
Помогите пожалуйста изменить код так, чтобы меню заезжало на свое место только при клике на кнопку toggle.
посмотреть на работу меню: _http://new.313news.net
Код

(function($) {
    $.fn.menu = function(opt) {

        var pos = $(this), set = $.extend({
            position: 'right'
        }, opt);

        this.each(function() {
            pos.prepend('<div class="navbar"><strong><a href="'+$.url+'"><img src="/template/'+$.temp+'/images/logo-min.png" alt="'+$.site+'" /></a></strong><button class="toggle" title="Меню"><span></span><span></span><span></span></button></div>');

            var m = $('.navbar').next('ul');
            function isMenu() {
                if ($(window).width() <= 900) {
                    m.css({'right':'-300px'}).removeClass('show').hide();
                }
                if ($(window).width() > 900) {
                    m.show();
                }
            }
            $(document).ready(isMenu); $(window).resize(isMenu);
            m.css({'right':'-300px'}).removeClass('show').hide();

            var n = $('.toggle');
            $(this).find(".toggle").on('click', function() {
                if (m.hasClass('show')) {
                        m.removeClass('show').stop().animate({'right':'-300px'}, 300, function() {
                            m.hide();
                        });
                } else {
                        m.show().addClass('show').stop().animate({'right':'0px'});
                }
            });
            $(document).mouseup(function (e){
                if ( ! m.is(e.target) && ! n.is(e.target) &&  m.has(e.target).length === 0 && $(window).width() <= 900) {
                        m.removeClass('show').stop().animate({'right':'-300px'}, 300, function() {
                            m.hide();
                        });
                }
            });
            pos.find('li ul').parent().addClass('ins');
            pos.find(".ins").prepend('<span class="item"></span>');
            function Res() {
                if ($(window).width() <= 900) {
                    $('.item').siblings('ul').slideUp().removeClass('show');
                } else {
                    $('.item').siblings('ul').slideDown();
                }
            }
            $(document).ready(Res); $(window).resize(Res);
            $(this).find('.item').on('click', function() {
                if ($(this).siblings('ul').hasClass('show')) {
                    $(this).removeClass('open');
                    $(this).siblings('ul').slideUp(50).removeClass('show');
                } else {
                    $(this).addClass('open');
                    $(this).siblings('ul').slideDown(50).addClass('show');
                }
            });
        });
    };
})(jQuery);

PM MAIL   Вверх
zulfukar
Дата 12.6.2020, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.6.2020

Репутация: нет
Всего: нет



 никто не знает? 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1150 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.