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