Открывать таб по ссылке на нужной вкладке
Здравствуйте! Есть сайт, сделанный на каком-то хитроумном конструкторе (Webflow) с огромным файлом скриптов. Разбираться со всеми этими скриптами нет ни желания, ни, тем более, умения - все работает, ну и ладно...
Суть проблемы в следующем: На одной из страниц, есть таб, который переключается путем добавления класса "w--current" в заголовки табов. Выглядит это примерно так: <div class="tabs w-tabs"> <div class="tabs-menu w-tab-menu"> <a id="tab1" data-w-tab="Tab 1" class="tab_link w--current">Заголовок 1</a> <a id="tab2" data-w-tab="Tab 2" class="tab_link">Заголовок 2</a> <a id="tab3" data-w-tab="Tab 3" class="tab_link">Заголовок 3</a> </div> <div class="tabs-content w-tab-content"> <div data-w-tab="Tab 1" class="w-tab-pane w--tab-active"> <div class="tab_wrap"> Вкладка 1 </div> </div> <div data-w-tab="Tab 2" class="w-tab-pane"> <div class="tab_wrap"> Вкладка 2 </div> </div> <div data-w-tab="Tab 3" class="w-tab-pane"> <div class="tab_wrap"> Вкладка 2 </div> </div> </div> </div> Мне нужно на другой странице сделать ссылки на эту страницу с табами, таким образом, что бы открывался нужный таб, т.е. получается как-то через ссылку передавать какому блоку присваивать класс "w--current"... Воможно ли это? |
<a href="topagewithtabs.html#tab1">tab1link</a>
<a href="topagewithtabs.html#tab2">tab2link</a> <a href="topagewithtabs.html#tab3">tab3link</a> потом, при открытии страницы с табами <script> var hash = location.hash.substr(1); hash && document.getElementById(hash).classList.add('w-current') </script> |
Цитата:
А можно сделать, что бы якорь (#tab2) не отображался в конце url в адресной строке? |
сменить location без перезагрузки страницы
https://stackoverflow.com/questions/...ading-the-page |
Цитата:
|
SuperZen,
а если так? <script> var hash = location.hash; hash && document.querySelector(hash).classList.add('w-current') </script> |
document.addEventListener('DOMContentLoaded', function () { var hash = location.hash.substr(1); hash && document.getElementById(hash).classList.add('w-current') history.replaceState(null, null, window.location.href.replace(/#.*$/, ''));//replace state }) это будет работать только если перейти с другой страницы, и если браузер поддерживает HTML5 |
hash remove
Цитата:
<script> var hash = location.hash; if(hash){ document.querySelector(hash).classList.add('w-current'); history.replaceState({}, document.title, location.href.replace(hash, '')); } </script> |
юзай пример рони )
|
Цитата:
|
Часовой пояс GMT +3, время: 11:23. |