以下のスクリプトでは、「toggleExtras」スパンの最初のクリックが機能します。しかし、その後のクリックは何もしません。on('click')メソッドをtoggleClassと一緒に使用して、切り替えられた状態と切り替えられていない状態の両方のイベントを定義しようとしています。
jQuery(document).ready(function()
{
jQuery('.toggleExtras').on('click', function(e)
{
//jQuery('.extras').slideToggle(); //This works but bounces twice.
jQuery('.extras').show();
jQuery('.toggleExtras').text('Hide Advanced Options');
jQuery('.toggleExtras').toggleClass('toggleExtras toggleExtrasHide');
});
jQuery('.toggleExtrasHide').on('click', function(e)
{
jQuery('.extras').hide();
jQuery('.toggleExtrasHide').text('Show Advanced Options');
jQuery('.toggleExtrasHide').toggleClass('toggleExtrasHide toggleExtras');
});
});
HTML:
<span class="toggleExtras">Show Advanced Options</span>