首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在点击触发时复制jquery动画,而不是在一定持续时间后

防止在点击触发时复制jquery动画,而不是在一定持续时间后
EN

Stack Overflow用户
提问于 2012-01-28 07:26:35
回答 1查看 329关注 0票数 0

我有一个在页面顶部出现的通知栏,然后在xx秒后执行一次slideOut。我也有一个图标,可以点击它来加速slideOut。

问题是,如果按下按钮,动画就会发生两次。单击后消失,然后在xx秒后出现并再次执行slideOut。

我想我需要用不同的方式来写这段代码来绑定事件?或者我需要添加一个if语句?

代码语言:javascript
复制
<script type="text/javascript">
Ext.onReady(function() {
  hideNotification.defer(7000);
});
var hideNotification = function () {
  Ext.get('notification-bar').slideOut('t', {duration:0.5, easing:'easeOut'});
  Ext.get('notification-hide-button').setDisplayed(false);
}
$("#notification-hide-button").click(function() {
  hideNotification();
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-28 07:43:37

您可以只使用window.setTimeout function..like

代码语言:javascript
复制
var hideTimeout = window.setTimeout(hideNotification, 700);

然后将这个添加到hideNotification函数中

代码语言:javascript
复制
window.clearTimeout(hideTimeout);

这将在您单击按钮后删除方法的延迟调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9041430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档