Javascript функция переключения моей версии

Я нашел эту функцию переключения JS вчера. Это работало отлично, но сегодня... это просто не работает. У меня есть новостная лента, и я хотел, чтобы каждая новость была в новом контейнере.... первая открывается по умолчанию, остальные закрываются. Это сработало, но сегодня, когда я открываю div, оно просто снова закрывается. И если я закрою первый div, который открывается по умолчанию, он не открывается снова...

JAVASCRIPT FILE

$(document).ready(function() {
$('#news').show();
$('a#sprozilec').click(function() {
    if (!$('#news').is(':visible')) {
        $('.prikaz').hide(400);
    }
    $('#news').slideToggle(400);
});
});

$(document).ready(function() {
   $('#news2').hide();
     $('a#sprozilec2').click(function() {
       if (!$('#news2').is(':visible')) {
           $('.prikaz').hide(400);
      }
      $('#news2').slideToggle(400);
   });
});

ФАЙЛ НОВОСТЕЙ

 <a href="#" id="sprozilec" class="button">New official video!</a>
            <div id="news" class="prikaz">
                    </div>
  <a href="#" id="sprozilec2" class="button">Bla Bla Bla!</a>
            <div id="news2" class="prikaz">
                    </div>

2 ответа

Перепишите свой JS как,

$(document).ready(function()
{
    $('#news').show();
    $('a#sprozilec').click(function()
    {
        if (!$('#news').is(':visible'))
        {
            $('.prikaz').hide(400);
        }
        $('#news').slideToggle(400);
    });

    $('#news2').hide();
    $('a#sprozilec2').click(function()
    {
        if (!$('#news2').is(':visible'))
        {
            $('.prikaz').hide(400);
        }
        $('#news2').slideToggle(400);
    });
});

Вам просто нужно document.ready(), И это будет делать.

Вложите свой код в один document.ready, потому что если вы создадите несколько document.ready, оба будут выполнены одновременно. В вашем случае последовательность выполнения вашего кода имеет значение!

$(document).ready(function(){
    $('#news').show();
    $('a#sprozilec').click(function() {
        if (!$('#news').is(':visible')) {
            $('.prikaz').hide(400);
        }
        $('#news').slideToggle(400);
    });


    $('#news2').hide();
         $('a#sprozilec2').click(function() {
           if (!$('#news2').is(':visible')) {
               $('.prikaz').hide(400);
          }
          $('#news2').slideToggle(400);
    });
);

Демо jsFiddle

Другие вопросы по тегам