Включить клик js в ссылку

129
09 августа 2019, 03:40

На одной странице сайта есть ссылка-спойлер, то есть при клике на нее под ней появляется блок: с помощью js кода идет подмена стиля с display:none на display:block.

Нужно сформировать такую ссылку, чтобы она вела на эту страницу сайта с открытым спойлером, как это можно сделать?

<a href="javascript:void(0);" class="btn_ico btn_order" ><span>Открыть спойлер</span></a>

JS код не буду приводить так как он там большой и запутан. Думаю, вопрос и так понятен.

Answer 1

Добавлять к ссылке какое-нибудь значение и на нужной странице обрабатывать.

В JS не шарю, напишу на JQ. Как бы глупо не звучало..

// Код не связанный с ответом 
$('a').on('click',function(){ 
  console.info('Типо браузер перешёл по ссылке '+$(this).attr('href')); 
  // Далее имитации $(window).onload(); 
  windowOnload(); 
  return false; 
}); 
 
function windowOnload() { 
  let thisUrl = location.href; // Т.к. код в сниппете, то этот метод не сработает, по этому имитируем и его. 
  thisUrl = 'ссылка?spoiler=test'.split('?')[1].split('='); //Сразу разобъём его по разделителю и на действия. (слишком некорректное действие, но для наглядности пойдёт) 
  let act = thisUrl[0], // действие, в нашем случае "spoiler" 
      actID = thisUrl[1]; // ну и ID спойлера. 
  if(act == 'spoiler') { // Ну думаю понятно 
    let elem = $('#'+actID+'.spoiler'); // определим, как должен "выглядеть" блок спойлера с его IDом. 
    if(elem.length) { // Если такой блок есть, то.. 
      // Выполняйте Ваш скрипт на открытие, я просто заменю "Закрыт" на "Открыт". 
      $(elem).text('Открыт'); 
    } 
  } 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
 
<a href="ссылка?spoiler=test">Ссылка</a> 
 
<div id="test" class="spoiler">Закрыт</div> 
 
<!-- 
ссылка - адрес документа. Ваш кэп. 
? - разделитель 
spoiler - "идентификатор" действия 
test - в нашем случае, идентификатор спойлера 
 
Ссылка работать не будет, по этому сделаю имитацию. 
Дальше будет блок 
-->

Надеюсь смысл понятен..

READ ALSO
Как передать id button-а из html в js объект?

Как передать id button-а из html в js объект?

Помогите пожалустаИмею такую ситуацию, есть две кнопки с разными id в HTML файлe, мне нужно взять все id всех кнопок с классом

131
Сумма в зависимости от значения

Сумма в зависимости от значения

есть 2 слайдера(input range) подскажите, как в зависимости от значений month и cash менять значение формулыДумал функцию создать и передавать параметры,...

95