Only open accordion once, but still call onclick each time, when button clicked in jquery

时间:2016-07-11 22:02:19

标签: javascript jquery

I am using jquery accordion animation:

$('.accordion').click(function() {
       $(this).next().toggle("fold", 1000);
       return false;
  }).next().hide();

along with a button for expanding the div below:

<button class="accordion" onclick="my_method()">EXPAND</button>
    <div  class="panel">
        ...contents to expand here
    </div>

This works great. But I only want to allow the accordion to open once (unless page refreshed obviously), although the onclick event should call the method every time the button is clicked.

1 个答案:

答案 0 :(得分:4)

You can use one() method.

$('.accordion').one('click', function() {
  $(this).next().toggle("fold", 1000);
  return false;
}).next().hide();

CODEPEN