Установка моего кода curHa sh для использования «:» вместо «|» - PullRequest
0 голосов
/ 20 марта 2020

Мы используем приведенный ниже код, чтобы иметь возможность ссылаться на конкретную 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...