<div id="tmp"><img src="http://s.segmentfault.com/img/logo.png"></div>
<script>
$("#tmp").hide();
setTimeout(function(){
$("#tmp").slideDown(2000);
},1000);
</script>
图片默认是hide隐藏的,setTimeout 1s后显示图片
我现在想1s后显示10s后再次隐藏
能否在slideDown(2000,callback)
callback在写个setTimeout函数变成这样
<div id="tmp"><img src="http://s.segmentfault.com/img/logo.png"></div>
<script>
$("#tmp").hide();
setTimeout(function(){
$("#tmp").slideDown(2000, setTimeout(function(){
$("#tmp").slideUp(2000);
},10000);
);
},1000);
</script>
测试是失败的
错误的:
$("#tmp").hide();
setTimeout(function() {
$("#tmp").slideDown(2000, setTimeout(function() {
$("#tmp").slideUp(2000);
}, 10000););
}, 1000);
正确的:
$("#tmp").hide();
setTimeout(function() {
$("#tmp").slideDown(2000, function(){
setTimeout(function() {
$("#tmp").slideUp(2000);
}, 10000);
});
}, 1000);
slideDown 第二个参数接受的是一个函数,而你直接写setTimeout
当时就会执行,返回结果是一个整数(numerical ID of the timeout)
。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。