Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2019, 14:11
Аспирант
Отправить личное сообщение для AleksSergSB Посмотреть профиль Найти все сообщения от AleksSergSB
 
Регистрация: 20.11.2016
Сообщений: 74

возможно ли запретить скролинг при внутренней ссылке
Добрый!

фабула.
Есть accordion(раздвигающаяся вертикально меню) построенный на :target. После верстки в дизайн сайта, выяснилось, что "прыжки" по внутренним id при клике не соответствуют задумке.

Убрать их нельзя, так как аккордион построен на :target.

Решил перенаправить по клике на нужный id. Но оказывается скрипт выполняется после "прыжка", как следствие на глаз мерцание экрана, так как скроллинг сначала приходит согласно html id, а уже потом его скрипт переводит на другой id.

Собственно я повешал такие обработчики на нужные ссылки
$(document).ready(function(){
          $(window).scrollTop(0);
         });
Если убрать "$(document).ready" то скролл не отрабатывается.

Возможно ли иное решение?
Есть ли возможность вообще заблокировать на этой странице изменение фокуса при переходе по внутренней ссылке?
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2019, 14:45
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

AleksSergSB, и как, собственно говоря, всё это выглядит? Очень сложно что-то сказать без примера! (По крайней мере мне!)
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2019, 14:54
Аспирант
Отправить личное сообщение для AleksSergSB Посмотреть профиль Найти все сообщения от AleksSergSB
 
Регистрация: 20.11.2016
Сообщений: 74

Сообщение от Malleys Посмотреть сообщение
AleksSergSB, и как, собственно говоря, всё это выглядит? Очень сложно что-то сказать без примера! (По крайней мере мне!)
Привет!
Форкнул решение которое внедряю.

https://codepen.io/Aleksandr_/pen/pMexXq

Я добавил нижний div на 1000px.
Теперь попробуйте пощелкать. Особенно последний и предпоследний раздел. Все улетает наверх.
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2019, 15:00
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

AleksSergSB, а вам важно, чтобы в адресной строке добавлялся hash c id? Например, при нажатии на первое добавляется #vertabout. Если такую ссылку скопировать и отправить кому-то, то при открытии в браузере увидят первый раздел открытым! Это важно или можно без hash?
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2019, 15:12
Аспирант
Отправить личное сообщение для AleksSergSB Посмотреть профиль Найти все сообщения от AleksSergSB
 
Регистрация: 20.11.2016
Сообщений: 74

Сообщение от Malleys Посмотреть сообщение
AleksSergSB, а вам важно, чтобы в адресной строке добавлялся hash c id? Например, при нажатии на первое добавляется #vertabout. Если такую ссылку скопировать и отправить кому-то, то при открытии в браузере увидят первый раздел открытым! Это важно или можно без hash?
Это не важно. Эстетика на много важней.
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2019, 15:18
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от AleksSergSB
Это не важно. Эстетика на много важней.
Тогда можно и при помощи :focus (вместо :target), ссылки тогда не нужны, удалил. А к каждому section нужно добавить tabindex="0"

Κοιτάξτε! https://codepen.io/Malleys/pen/voxQbr?editors=1100

Последний раз редактировалось Malleys, 30.07.2019 в 15:28.
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2019, 15:34
Аспирант
Отправить личное сообщение для AleksSergSB Посмотреть профиль Найти все сообщения от AleksSergSB
 
Регистрация: 20.11.2016
Сообщений: 74

Сообщение от Malleys Посмотреть сообщение
Тогда можно и при помощи :focus (вместо :target), ссылки тогда не нужны, удалил. А к каждому section нужно добавить tabindex="0"

Κοιτάξτε! https://codepen.io/Malleys/pen/voxQbr?editors=1100
Оу!! Все методами css.
Спасибо огромное! Надо бы еще почитать про псевдоселекторы.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запретить срабатывание события дочернего элемента, при перемещении родительского Danil jQuery 4 09.10.2011 10:53
Див при переходе по ссылке Andrejs Элементы интерфейса 6 27.04.2011 21:40
Текст, появляющийся в определённом месте страницы при клике по ссылке denisnb Элементы интерфейса 2 20.03.2011 07:24
Двойное действие при клике по ссылке spider Элементы интерфейса 5 10.11.2009 10:43
Как запретить submit при пустом текстовом поле? Bad Request Events/DOM/Window 5 05.10.2008 15:40