Javascript.RU

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

Прокрутка фиксированного(плавающего) блока(элемента) если он больше окна браузера
Никто не помогает в теме http://javascript.ru/forum/showthrea...644#post443644
в интернете информации по нулям. обращаюсь к специалистам.

Есть фиксированное(плавающее) меню ( https://jsfiddle.net/e7gtubLs/10/ ) . оно многоуровневое. если окно браузера(размер экрана) небольшое, то выбрать нижние выпадающие пункты меню НЕВОЗМОЖНО, так как прокручивается страница, а не эти пункты.

Нужно - чтобы ЕСЛИ эти выпадающие пункты меню больше окна браузера, то прокрутка основной страницы (body) остановилась, и включилась прокрутка ТОЛЬКО этого выпадающего меню (стандартными полосами прокрутки (сбоку и снизу(если нужно) окна браузера))

(кнопка меню чтобы оставалась закрепленной, а выпадающее меню можно было прокручивать)

робота там небольшая, нужен только рабочий скрипт, оформления никакого не нужно. так как денег нет, оплата символическая 300 рублей на карту (реального бабла нет, нигде не зарабатываю, так как верстаю свой сайт) помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 08.02.2017, 12:17
Интересующийся
Отправить личное сообщение для greenseer Посмотреть профиль Найти все сообщения от greenseer
 
Регистрация: 06.02.2017
Сообщений: 23

ладно, одолжу 200 рублей в придачу итого символическая награда 500 рублей. Пожалуйста помогите
Ответить с цитированием
  #3 (permalink)  
Старый 08.02.2017, 14:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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

greenseer,
надо не блокировать прокрутку окна документа, ибо как можно при этом использовать его управление, а изменять функционал меню: если размер раскрываемой панели выходит за рамки клиентской области, то она привязывается к родительской опции не по перовой опции, а по последней. То есть панель открывается либо вверх, либо вниз, либо центрируется.
Ответить с цитированием
  #5 (permalink)  
Старый 08.02.2017, 15:56
Интересующийся
Отправить личное сообщение для greenseer Посмотреть профиль Найти все сообщения от greenseer
 
Регистрация: 06.02.2017
Сообщений: 23

Спасибо хоть какие то ответы.
laimas,
Я понял тебя, но так же не очень красиво будет. Тем боле что есть пункты, которые сами по себе очень длинные в окно например 1024 x 600 или 800*600 не поместятся вовсе.
Есть идея при клике на кнопку меню сделать так что бы список раскрываемого меню помещался на страницу в незакрепленном виде (not fixed) но что бы этот список появлялся ПОД фиксированной кнопкой (даже после прокрутки)
Короче появление незафиксированного блока, под зафиксированным - Можно ли такую проблему решить?
https://jsfiddle.net/e7gtubLs/14/ - типа вот так, но здесь подменю не появляется под кнопкой, после прокрутки

Последний раз редактировалось greenseer, 08.02.2017 в 16:01.
Ответить с цитированием
  #6 (permalink)  
Старый 08.02.2017, 16:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от greenseer
Я понял тебя, но так же не очень красиво будет.
Это почему? Так обычно и решается. А если даже отцентрированный блок субменю не помещается в клиентской области, то это уже не меню. Ну сами подумайте, что это за меню, которое требует прокрутки не только по вертикали, но и по горизонтали.

Меняйте CSS меню так, чтобы если открытая и отцентрированная панель не помещается по высоте в клиентской области, то опции этого меню автоматом будут в две, три колонки. В помощь flex, хотя для стареньких браузеров можно и без него обойтись.
Ответить с цитированием
  #7 (permalink)  
Старый 08.02.2017, 19:10
Интересующийся
Отправить личное сообщение для greenseer Посмотреть профиль Найти все сообщения от greenseer
 
Регистрация: 06.02.2017
Сообщений: 23

Прокрутка по горизонтали это я погорячился. Такой прокрутки нет. Меню сделано под 960 px (в раскрытом виде оно 940px).
Это меню отлично подходит под мой сайт. Оно удобное, практичное и легкое. без 4х уровней не обойтись, так как это очень большой сайт с кучей разных тем. Я делал это меню месяц. Не в плане оформления и кода, а в плане сортировки и расстановки пунктов на места.

осталось только сделать чтобы оно(.m1) в незафиксированном виде появлялось под кнопкой меню даже после прокрутки.

То есть нужно что отследить перемещение fixed кнопки(.m0) и при клике на нее что бы меню 1го уровня(.m1) появлялось под этой кнопкой в незафиксированном виде. и все станет на свои места
https://jsfiddle.net/e7gtubLs/14/ - сдесь нужно только сделать так что бы пункты меню(.m1) появлялись под кнопкой(.m0) даже после перемещения

короче говоря нужно что бы под зафиксированным блоком появился незафиксированный
Это все решает, только как это сделать? в нете инфу ищу уже 2рой день.
Ответить с цитированием
  #8 (permalink)  
Старый 08.02.2017, 19:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от greenseer
Меню сделано под 960 px
По вертикали?

Сообщение от greenseer
Я делал это меню месяц. Не в плане оформления и кода, а в плане сортировки и расстановки пунктов на места.
Слишком долго, если дерево меню описывается в базе, по которому строится автоматически.

Последний раз редактировалось laimas, 08.02.2017 в 19:59.
Ответить с цитированием
  #9 (permalink)  
Старый 08.02.2017, 21:11
Интересующийся
Отправить личное сообщение для greenseer Посмотреть профиль Найти все сообщения от greenseer
 
Регистрация: 06.02.2017
Сообщений: 23

по горизонтали 960. по вертикали не определено (все зависит от количества подпунктов)

Сообщение от laimas Посмотреть сообщение
Слишком долго, если дерево меню описывается в базе, по которому строится автоматически.
да с деревом проблем не было. я имею в виду название тем, страниц, товаров.. я сортировал темы


та что на счет "что бы под зафиксированным блоком появился незафиксированный"
Ответить с цитированием
  #10 (permalink)  
Старый 08.02.2017, 21:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от greenseer
та что на счет "что бы под зафиксированным блоком появился незафиксированный"
Я уже говорил об этом "если размер раскрываемой панели выходит за рамки клиентской области, то она привязывается к родительской опции не по перовой опции, а по последней. То есть панель открывается либо вверх, либо вниз, либо центрируется."
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смещение блока при изменении размера окна браузера sedovat Элементы интерфейса 1 07.10.2014 14:51
Как проверить, что верхняя граница окна браузера пересекает элемент? Hurray Элементы интерфейса 2 04.04.2014 01:07
Высота страницы по высоте окна браузера Николян (X)HTML/CSS 4 16.01.2014 20:12
Как запретить применение css при изменении окна браузера east (X)HTML/CSS 7 12.10.2012 21:23
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19