JQuery SlideToggle()在缓动的每一步执行函数

时间:2016-04-14 12:38:40

标签: javascript jquery easing

每次在slideToggle()函数的缓动动画中发生修改时,有没有办法在javascript上执行已定义的函数?

示例:

SlideToggle("1000", "linear", functiontoexecute())

我希望functiontoexecute()执行它在“线性”缓动中发生的每一步。

我已经查看了.slideToggle()的JQuery网页,并尝试使用“进度”或“步骤”选项......但要么它们没有按预期执行,要么我没有正确使用它们。

有关详细信息,我使用的是JQuery 1.9.1

1 个答案:

答案 0 :(得分:5)

关于如何使用这些参数的jQuery文档并不是最好的,因为没有一个示例将它用于其全部功能。以下是使用progress函数的示例,但希望您可以根据需要调整它: -

$("#book")
  .slideToggle({
    duration: 400,
    progress: functionToExecute,
    complete: function () {
      console.log('animation completed');
    }
  });

function functionToExecute(animation, progress, remainingMs) {
  $('p').text('here and progress count is ' + progress);
}
.wrap {
  height: 100px;
  width: 200px;
  margin: 10px 10px 10px 10px;
  background-color: #2d8cd0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="wrap" id="book">
  <h2>1</h2>
</div>

<p>Progress: <span id="progress">0</span></p>