Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно открыть первый спойлер при загрузке (https://javascript.ru/forum/misc/54284-nuzhno-otkryt-pervyjj-spojjler-pri-zagruzke.html)

ruslan_mart 12.03.2015 14:58

Вариант на скорую руку. ;)

http://learn.javascript.ru/play/fqkLOb

<!DOCTYPE HTML>
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>  
    <style type="text/css">
      .spoiler:not(:first-child) > div {
          display: none;
       }
    </style>
  </head>
  <body>
    
    <section class="spoiler">
      <a href="#">Спойлер 1</a>
      <div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
    </section>
    
    <section class="spoiler">
      <a href="#">Спойлер 2</a>
      <div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
    </section>
    
    <section class="spoiler">
      <a href="#">Спойлер 3</a>
      <div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
    </section>
    

    <script type="text/javascript">
      $(function() {
        var activeSpoiler = $('.spoiler:first > a');
        $(document).on('click', '.spoiler > a', function() {
          var self = $(this)
          if(this == activeSpoiler[0]) self.next().slideToggle();
          else {
            activeSpoiler.next().slideUp();
            self.next().slideDown();
            activeSpoiler = self;
          }
        });
      });
    </script>

  </body>
</html>

karakym 12.03.2015 15:15

Цитата:

Сообщение от Ruslan_xDD (Сообщение 360918)
Вариант на скорую руку. ;)

http://learn.javascript.ru/play/fqkLOb

Хороший вариант, спасибо!
А мог бы ты пожалуйста, подогнать мне его под <tr>
Вот у меня можно увидеть, что жмется только средний столбик для открытия спойлера, а пользователи пытаются нажимать на строку <tr></tr> полностью и иногда из за этого заблуждаются и уходят!

ruslan_mart 12.03.2015 15:18

karakym, ну так просто вставляй спойлер в ячейку. :)

рони 12.03.2015 15:33

karakym,
$(document).ready(function() {
    var tr = $('.table-wrapper tbody tr');
    tr.click(function() {
        tr.not(this).find('.splCont').slideUp('normal');
        $('.splCont', this).slideToggle('normal')
        return false;
    }).eq(0).click();
});

karakym 12.03.2015 19:21

Цитата:

Сообщение от рони (Сообщение 360923)
karakym,
$(document).ready(function() {
    var tr = $('.table-wrapper tbody tr');
    tr.click(function() {
        tr.not(this).find('.splCont').slideUp('normal');
        $('.splCont', this).slideToggle('normal')
        return false;
    }).eq(0).click();
});

Это крутой вариант спасибо!:dance:


Часовой пояс GMT +3, время: 19:20.