Показать сообщение отдельно
  #12 (permalink)  
Старый 28.01.2017, 19:31
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 .spoiler_body {
  display: none;
}
.active{
  display: block;
}
 
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 
  <script>
$(function() {
    $(".spoiler_head").click(function() {
        $(".spoiler_body.active").html('');
        var a = $(this).next(".spoiler_body");
        $(".spoiler_body").not(a.toggleClass("active")).removeClass("active")
    })
});
});
  </script>
</head>
 
<body>
<div class="spoiler_head">Спойлер №1 (кликните для открытия/закрытия)</div>
<div class="spoiler_body"><script>alert('1');</script></div>
<div class="spoiler_head">Спойлер №2 (кликните для открытия/закрытия)</div>
<div class="spoiler_body"><script>alert('2');</script></div>
<div class="spoiler_head">Спойлер №3 (кликните для открытия/закрытия)</div>
<div class="spoiler_body">Текст спойлера 3</div>
<div class="spoiler_head">Спойлер №4 (кликните для открытия/закрытия)</div>
<div class="spoiler_body">Текст спойлера 4</div>
</body>
</html>


Скрипты. Это из-за скриптов у меня вопрос возникает. Скрипт должен выполнятся, если спойлер раскрывается. Каждый раз при раскрытии спойлера, находящийся в нем скрипт должен срабатывать. Скрипты других спойлеров работать не должны - это нелогично, это накладно.

При первой загрузке страницы скрипты выполнятся не должны. Только при раскрытии спойлера, только скрипт спойлера, многократно.
Ответить с цитированием