如何在等待css3转换结束时使此脚本延迟350毫秒?
<script type="text/javascript">
$(document).ready(function() {
var last = "";
$("#thumbs a").click(function() {
event.preventDefault();
var graphic = $(this).attr("href");
if(last != graphic) {
$("#placeholder").before( "<img src=\"" + graphic + "\" />" );
$("#mask").css("marginTop","-=450px");
last = graphic;
}
});
});
</script>
基本上,当你点击它时,它应该检查它是否在最后350毫秒内被点击了,如果有的话,什么都不做。
我听说过transitionend
函数,但我无法弄清楚如何实现它。
答案 0 :(得分:0)
我会做这样的事情:
var clickable = true;
var timer;
$('#thumbs a').click(function(event){
event.preventDefault();
if(clickable){
do stuff!
}else{
clearTimeout(timer);
}
clickable = false;
timer = setTimeout(function(){
clickable = true;
}, 350);
});
答案 1 :(得分:0)
在document.ready之后,将您的代码包含在函数中。也许“function wait(){... code here ...}然后使用settimeout,例如var t = setTimeout(wait,350);
希望这会有所帮助。如果没有,请尝试向CSS转换对象添加一个加载处理程序,然后在加载回调函数中放入一个setTimeout函数。它应该等待加载对象,并设置一个计时器以在加载对象350毫秒后启动你的函数。