инициировать изменение класса jquery из элемента на другой странице

#jquery #class #hyperlink #onclick

#jquery #класс #гиперссылка #onclick

Вопрос:

У меня есть веб-сайт, который я только что взял на себя обслуживание. Предыдущий разработчик создал простой скрипт jquery, чтобы скрыть / сделать видимыми элементы li на одной веб-странице на основе применяемого класса .active. Проблема, с которой я сталкиваюсь, заключается в том, чтобы выяснить, как запустить скрипт, чтобы сделать видимыми выбранные скрытые элементы при переходе с другой страницы по гиперссылке. Прямо сейчас при переходе на страницу автоматически загружается первый элемент li, а остальные скрываются.

 var cooki = Cookies.get('Tab');
// var cooki=getCookie("Tab");
console.log(cooki);
//alert(cooki);
$(document).ready(function() {
  cooki;
  var id = '#'   cooki;
  if (id == "#Biofeedback") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   0   ")").addClass("active");
  } else if (id == "#hrv") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   1   ")").addClass("active");
  } else if (id == "#Neurofeedback") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   2   ")").addClass("active");
  } else if (id == "#muscle-rehabilitation") {
    //alert('success');
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   3   ")").addClass("active");
  } else if (id == "#peak-performance") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    $(id).addClass('active');

    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   4   ")").addClass("active");
  } else if (id == "#Continence-training") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   5   ")").addClass("active");
  } else if (id == "#Research") {
    $('html, body').animate({
      scrollTop: $("div").offset().top
    }, 10);
    //alert('success')
    $(id).addClass('active');
    $('.nacc li.active').removeClass('active');
    $(".naccs ul").find("li:eq("   6   ")").addClass("active");

  }

});
  

Ответ №1:

На удаленной странице вы можете настроить ссылку так, чтобы она имела /link#hash или /link#example

И на вашей текущей странице вы можете сделать что-то вроде:

 if(window.location.hash == '#example') {
  // do some JS/Jquery magic
}
  

Комментарии:

1. Обратите внимание на местоположение. хэш также будет включать "#" в качестве первого символа