创建不同的延迟动画在第一次和第二次点击+链接延迟
Creating different delays for animations on first and second click + chaining delays
由于篇幅不足,我的标题不是很能说明问题,所以我会更具体一些。我经常有一些想法需要像代码的第一部分或第二部分这样的概念。我直说吧。我觉得对这两种情况使用setTimeout是不合适的。如果没有clearartimeout,它会造成巨大的重叠混乱,而且看起来不太对。这就是我问社区的地方:除了我正在努力实现的目标,还有什么其他选择?除了settimout和setinterval,是否有任何替代的,更有效的方式做事情时,做复杂的动画链接或注册多次点击像下面的例子?
下面是一个点击的例子:document.getElementById("example").addEventListener("click", function(){
clicked = false;
if (clicked = false){
clearTimeout(t2);
var t1 = setTimeout(function(){
// animate 1
}, 1000);
}
else {
clearTimeout(t1);
var t2 = setTimeout(function(){
// animate 1
}, 2000);
}
clicked = !clicked
};
或者存在链接内容的问题:
setTimeout(function(){
// does stuff
setTimeout(function(){
// does stuff
setTimeout(function(){
// does stuff
}, 1000);
}, 1000);
}, 3000);
我会考虑在动画完成时触发自定义事件,这就是实现动画链接的方式。为触发链中的下一个动画的自定义事件创建一个侦听器。这是已经被构建到新的Web动画标准中的东西。如果你想要与不支持的浏览器向后兼容,该API还有一个javascript shim。
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 单击仅在第二次单击后有效
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 第二次点击具有不同功能的按钮并更改文本
- 更改第二次推送时不起作用的元素高度
- 在第二次选择中选择2更改属性
- on(“点击”)仅在第二次点击后触发
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- java脚本中的谷歌地图在第二次点击时不起作用
- 更改类名后,将第二次单击事件附加到元素
- 提交按钮只能在onchange调用输入文本后第二次点击时工作
- 将音频第二次转换为分钟和秒格式
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- 在连续第二次单击时禁用href
- 正在给用户第二次尝试
- jQuery:将悬停延迟到第二次
- 创建不同的延迟动画在第一次和第二次点击+链接延迟