Мы используем приведенный ниже код, чтобы иметь возможность ссылаться на конкретную c вкладку на нашем веб-сайте .
Так как в настоящее время это сделано, это позволяет нам ссылаться на укажите c вкладку, добавив #member-tabs|3
к URL-адресу, где члены-вкладки - это класс, 3 - это вкладка, которую нужно открыть, и они разделены знаком «|».
Проблема : символ "|" не поддерживается во многих случаях, включая пример ниже. "|" меняется на "# 7 C". Как мне адаптировать код для использования другого разделяющего символа (например, двоеточия или знака и)?
Пример: https://test.radacutlery.com/fundraising/tabs/#member -tabs | 3
<script>
function _setTab() {
// get current hash value
var curHash = window.location.hash.substr(1);
// only continue if hash provided and scoped to member tabs
if (!curHash || !curHash.match('member-tabs')) {
return false;
}
// split and int val tab num
curHash = parseInt(curHash.split('|')[1]);
// ignore if tab is current state
if (curHash === window._tabSelected) {
return false;
}
// set current tab to window
window._tabSelected = curHash;
// add click event to tab selected
switch (curHash) {
case 0:
case 1:
case 2:
case 3:
case 4:
jQuery('#member-tabs .et_pb_tab_' + curHash + ' a').click();
break;
default:
return false;
break;
}
// scroll to tabs container
_scrollToTabs();
}
// scroll to member tabs container with 50px offset
function _scrollToTabs() {
var oTabs = jQuery('#member-tabs');
if (oTabs.length > 0) {
jQuery('html,body').animate(
{
scrollTop: oTabs.offset().top - 50,
},
1000,
);
}
return false;
}
// set falsey state for tab selected on load
window._tabSelected = false;
// attach to window load because the tabs are initialized later in document
jQuery(window).on('load', function() {
// check for initial hash state
_setTab();
// add hash change window listener
jQuery(window).on('hashchange', function() {
_setTab();
});
})
</script>