每次在slideToggle()函数的缓动动画中发生修改时,有没有办法在javascript上执行已定义的函数?
示例:
SlideToggle("1000", "linear", functiontoexecute())
我希望functiontoexecute()
执行它在“线性”缓动中发生的每一步。
我已经查看了.slideToggle()的JQuery网页,并尝试使用“进度”或“步骤”选项......但要么它们没有按预期执行,要么我没有正确使用它们。
有关详细信息,我使用的是JQuery 1.9.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>