Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Переход на нужную вкладку таба по href (https://javascript.ru/forum/jquery/81649-perekhod-na-nuzhnuyu-vkladku-taba-po-href.html)

Vaska 07.01.2021 18:17

Цитата:

Сообщение от рони (Сообщение 532401)
добавлено пост #17, 200 строка 43 изменить на нужное

Добавил, работает.
Однако как-то странно работает.
Первый тайтл таба отличается от ожидаемого результата при нажатии.
Если страницу прокрутить вверх и табы соприкоснутся с верхом браузера и нажать на первый тайтл таба, то от top отступ в 2 раза больше, чем указано в параметре. У других тайтлов таба и меню, реагирует одинаково и соответствует заданному параметру.
Если страница только загрузилась и нажать на первый тайтл таба, то ничего не происходит, а другие реагируют правильно, страница подтягивается вверх с указанным отступом в параметре.
Если страницу прокрутить немного вверх и снова нажать на первый тайтл таба, то страница уходит вниз а не на верх.
Снова нажать на первый тайтл таба - страница снова вниз продвигается. И так каждый раз при нажатии.

рони 07.01.2021 19:31

Vaska,
скопируйте код снова #17, если будут проблемы, строка 44 число 200 -- попробуйте изменить от 50 до 500

Vaska 07.01.2021 20:09

Цитата:

Сообщение от рони (Сообщение 532409)
Vaska,
скопируйте код снова #17, если будут проблемы, строка 44 число 200 -- попробуйте изменить от 50 до 500

Поменял, проблем нет никаких. Всё работает как надо.
Большое спасибо и уважение!

рони 07.01.2021 20:28

Vaska,
:victory:

Vaska 07.01.2021 20:46

Цитата:

Сообщение от рони (Сообщение 532409)
Vaska,
скопируйте код снова #17, если будут проблемы, строка 44 число 200 -- попробуйте изменить от 50 до 500

Одна проблема всё-таки есть.
На панели табов есть тайтл таба, называется: Пожаловаться на товар.
<li class="fr">
  <div class="tab-inner">
    <a href="javascript:login_dialog();" class="inform">Пожаловаться на товар</a>
  </div>
</li>

Эта ссылка вызывает диалоговое всплывающее окно, которое теперь стало открываться и сразу двигаться вверх, прокручивая страницу вниз. Довольно сильно прокручиват страницу вниз и диалоговое окно уходит под верхнюю часть браузера. На сколько оно туда уходит, зависит от параметра, который делает отступ от top. Чем больше отступ, тем дальше уходит всплывающее окно под верх браузера.

laimas 07.01.2021 20:57

Странно однако, так и осталось впечатление, что неудачная верстка заставляет иметь какой-то вычурный js-код. Почему "едет вверх", если есть это?

рони 07.01.2021 21:37

Vaska,
можно только гадать как устроена ваша страница, и что вы хотите сделать. возможно надо, что -то где-то исключить типа ...
menu.on('click', 'li:not(.fr)',

Vaska 07.01.2021 21:48

Цитата:

Сообщение от laimas (Сообщение 532415)
Странно однако, так и осталось впечатление, что неудачная верстка заставляет иметь какой-то вычурный js-код. Почему "едет вверх", если есть это?

Ну я стараюсь. Многого не знаю.
Цитата:

Сообщение от рони (Сообщение 532418)
Vaska,
можно только гадать как устроена ваша страница, и что вы хотите сделать. возможно надо, что -то где-то исключить типа ...
menu.on('click', 'li:not(.fr)',

Применил. Проблема решена. Спасибо!
Постараюсь всё запомнить.

Vaska 06.10.2021 16:39

рони,
можете помочь добавить код, чтобы можно было с другой страницы сайта, по ссылке https://site.com/Goods/index=141#dsGoods2 попасть на страницу того же сайта, на которой расположен таб id="tabGoods2" и его вкладка id="dsGoods2"?

Если я просто иду по ссылке https://site.com/Goods/index=141#dsGoods2, то открывается страница как обычно, на вкладку не переносит.

На странице, на которой есть табы и вкладки, есть ваш код, в том числе:
$('[href="#dsGoods2"]').click(() => $('#tabGoods2').click());

Но это не работает, если приходить по ссылке с другой страницы.

рони 06.10.2021 17:42

Vaska,
как вариант добавить следом
if(window.location.hash == '#dsGoods2') $('#tabGoods2').click();


Часовой пояс GMT +3, время: 06:32.