2013-03-01 9 views
1

Фиксированные благодаря помощникам ниже, увидеть его в действии здесь: http://bit.ly/15npgSCJQuery - Раздвижные вкладку контента, слайды открытия/закрытия по щелчку

Я учусь JQuery и столкнулись с проблемой, которую я не могу найти исправление. У меня есть ползунок контента, который при нажатии кнопки открывается, а при повторном нажатии кнопки он закрывается. Все в порядке, проблема заключается в том, что слайдер открывается автоматически при загрузке страницы, причем не только при нажатии. Как я могу сохранить его закрытым при загрузке страницы и открыть его только при нажатии? После этого он отлично работает, а именно, когда страница загружается, она открывается. Я попытался поставить $(document).click(function() { в начале, который работал, но затем, щелкнув, он откроется, а затем закроется сразу после открытия без щелчка. Я вернулся к jQuery-коду ниже, но теперь у меня проблема с открытием, когда страница загружается снова.

$(document).ready(function() { 
    $('.pull-me').click(function() { 
     $('.panel').slideToggle('slow'); 
    }); 
    $('a').toggle(function() { 
     $(this).html("Click to close!");}, 
     function() { $(this).html("Click to open!"); 
    }).click(); 
}); 

Если вы в состоянии решить эту проблему, не могли бы вы объяснить, почему это происходит с моим текущим кодом и почему исправление останавливается, что происходит, пожалуйста? Спасибо, Рафа.

Извините за не размещение в HTML код и раньше, но это он:

<div class="panel"> 
<br /> 
<br /> 
    <p>Now you see me!</p> 
</div> 
<div> 
    <p class="slide"><a href="#" class="pull-me">Click to open!</a></p> 
</div> 
+0

Опубликован ваш html – phnkha

+0

Этот элемент присваивает '.pull-me' класс' a'-element? В качестве альтернативы, пожалуйста, покажите нам свой html или настройте jsfiddle или что-то подобное, что демонстрирует вашу проблему. – jfd

+0

что вы пытаетесь сделать с тегами ? можете ли вы опубликовать JsFiddle? – henser

ответ

0

Потому что вы не размещать HTML, так что я предполагаю, что «.Снять-я» является „а“ элемент.

Pls попробовать ниже код (удалить .click()):

$(document).ready(function() { 
    $('.pull-me').click(function() { 
     $('.panel').slideToggle('slow'); 
    }); 

    $('a').toggle(function() { 
     $(this).html("Click to close!");}, 
     function() { $(this).html("Click to open!"); 
    }); // modified here 
}); 

Вы запускающее событие щелчка, когда страница первой загрузки.

+0

Это отлично работает! –

0

Попробуйте это:

// HTML

<div class="pull-me"> 
    Click here! 
    </div> 

<div class="panel"> 
    show/hide 
</div> 

// JQuery

$(document).ready(function() { 
    $('.pull-me').click(function() { 
     $('.panel').slideToggle('slow'); 
    }); 
     $('a').toggle(function() { 
     $(this).html("Click to open!");}, 
     function() { $(this).html("Click to close!"); 
    }); 
}); 

чек здесь, в этом JsFiddle ->http://jsfiddle.net/GXCuz/1/

+0

Я не уверен, что это вы намеревались сделать ... но я надеюсь, что это поможет – henser