Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.06.2020, 20:23
Аспирант
Отправить личное сообщение для zulfukar Посмотреть профиль Найти все сообщения от zulfukar
 
Регистрация: 10.06.2020
Сообщений: 43

Почти тоже самое, о чем я писал ранее. При обновлении страницы меню в раскрытом виде стоит слева. После клика на toggle переходит в правцю часть. Еще раз кликаем на toggle и меню заходит за правый край сайта, но не исчезает. Его можно увидеть прокрутив сайт вправо.
Но при клике в другие места оно уже не исчезает.

Я вставил Ваш код, можете посмотреть на сайте.
Ответить с цитированием
  #12 (permalink)  
Старый 10.06.2020, 20:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это с кодом который я публиковал - https://youtu.be/wiUeL81S6m0

Добавьте вывод в консоль в своем коде параметров меню, будут понятны баги, почему так у вас происходит.
Ответить с цитированием
  #13 (permalink)  
Старый 10.06.2020, 20:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Даю пояснение к:

w = parseInt(m.css('width')); //ширина меню определенная в CSS, равная 300px
             
b.on('click', function() {
    m.toggleClass('show').stop().animate({
        [set.position]: 
            -w //к ширине меню взятой с отрицательным знаком
            + w * m.hasClass('show') //прибавляем ширину меню умноженную на булево значение m.hasClass('show')
//которое в начальном состоянии равно false (равно 0 в контексте умножения)
//поэтому -300 + 300 * 0 = -300
//а если меню открыто, то будет true (равно 1 в контексте умножения)
//поэтому -300 + 300 * 1 = 0
    }, 300);
});
Ответить с цитированием
  #14 (permalink)  
Старый 10.06.2020, 20:58
Аспирант
Отправить личное сообщение для zulfukar Посмотреть профиль Найти все сообщения от zulfukar
 
Регистрация: 10.06.2020
Сообщений: 43

Сообщение от laimas Посмотреть сообщение
Это с кодом который я публиковал - https://youtu.be/wiUeL81S6m0
у меня так: http://webmark.com.ua/mobile/?url=ht...ew.313news.net

Цитата:
Добавьте вывод в консоль в своем коде параметров меню, будут понятны баги, почему так у вас происходит.
извините, не совсем понимаю, что мне нужно сделать.
Ответить с цитированием
  #15 (permalink)  
Старый 10.06.2020, 21:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от zulfukar
не совсем понимаю, что мне нужно сделать
Проверять нужно все, путаница какая-то, которая вполне может быть от того, что вы взяли "чужое", и оно не работает должным образом в вашей "среде". Смотрите поведение меню в отладчике в разных устройствах (смотрите какая ширина экрана) - https://youtu.be/QtlDCcAchkU
Ответить с цитированием
  #16 (permalink)  
Старый 10.06.2020, 21:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Для просмотра отображения на моб. устройствах не обязателен какой-то сервис, это сейчас могут делать и браузеры в отладчике. Выше видео, это в отладчике Opera. А вот как выглядит в отладчике FF https://youtu.be/Jraq1morMzQ

Таких огрехов как в Opera нет, но это не значит, что их нет вообще. Если оставить строки, о которых я говорил, то на моб. устройствах при смене ориентации (а это и есть изменение размера) меню торчит сбоку сразу.

В общем, либо $(window).resize(и тут корректируем, но должным образом), либо, что лучше, через CSS. В этом меню вообще можно многим управлять посредством CSS.
Ответить с цитированием
  #17 (permalink)  
Старый 10.06.2020, 21:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Кнопку как я говорил выше, можно сразу добавить, а управлять ее видимостью средствами бутстрапа (у вас не нем верстка), определив для каких разрешений она должна быть скрыта. Как это сделать можно прочесть в документации для соответствующей версии.
Ответить с цитированием
  #18 (permalink)  
Старый 10.06.2020, 22:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Напишу на CSS выдвижение меню, более не буду ничего смотреть, некогда.

В CSS:
#menu > ul {
		width: 300px;
	background: #778899;
	background: rgba(119, 136, 153);
		text-align: left;
		position: absolute !important;
        top: 48px;
        /* добавили это */
        right: -300px;
        transition: right 0.5s;
	}
    
    /* и добавили это */
    #menu > ul.show {
        right: 0;
    }


В коде страницы сразу добавляем кнопку скрытой для большого разрешения (hidden-md)

<div class="core" id="menu">
	    <div class="navbar hidden-md">
            <strong>
                <!-- значение атрибутов расставите -->
                <a href="#">
                    <img src="#" alt="#" />
                </a>
            </strong>
            <button class="toggle" title="Меню">
                <span></span><span></span><span></span>
            </button>
        </div>
.....


В JS:

(function($) {
	$.fn.menu = function() {
        
        //передавать параметр right не надо, он определяется в CSS 
		var b = this.find('button'), //кнопка
            m = this.children('ul'); //меню

		this.each(function() {
			
            //управляем анимацией меню
            b.on('click', function() {
				m.toggleClass('show')
            });

//код далее


PS. Я бы это b = this.find('button'), //кнопка, заменил на this.children('.navbar'), //кнопка, ибо не понять зачем strong с содержимым, а если нужен, то почему по нему нельзя меню показывать.

Последний раз редактировалось laimas, 10.06.2020 в 23:33.
Ответить с цитированием
  #19 (permalink)  
Старый 11.06.2020, 02:46
Аспирант
Отправить личное сообщение для zulfukar Посмотреть профиль Найти все сообщения от zulfukar
 
Регистрация: 10.06.2020
Сообщений: 43

Сообщение от laimas Посмотреть сообщение
Напишу на CSS выдвижение меню, более не буду ничего смотреть, некогда.
Извините за отнятое время. Я сделал как Вы описали, жаль, что опять не сработало.
Ответить с цитированием
  #20 (permalink)  
Старый 11.06.2020, 02:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

На css не работает?! Значит вы где-то в чем-то допускаете ошибку.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь яваскриптеров espltd Элементы интерфейса 2 03.03.2017 10:38
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17