今天使用setTimeout遇到一个小问题,场景是关闭弹框5s后,让屏幕滚到下一页
function close(){
setTimeout(scrollToNext(1,4000),5000);
}
function scrollToNext(){
var content = $(".content").width() * x ;
swipe.scrollTo(content,time);
}
var content = $(".content").find(":first");
var swipe = {};
var swipe.scrollTo = function(x,speed){
//执行动画移动
content .css({
'transition-time-function':'linear',
'transition-duration':speed + 'ms',
'transform':'translate3d(-' + x + 'px,0px,0px)'
})
}
一开始很头痛为什么没有效果,后来发现是自己搞错了,setTimeout的定义和用法如下:
定义和用法:
setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
语法:
setTimeout(code,millisec);
参数 | 描述 |
code | 必需。要调用的函数后要执行的JavaScript代码串 |
millisec | 必需。在执行代码钱需等待的毫秒数。 |
注意:第一个参数是code,所以上面的代码是不正确的,应该传递JavaScript代码字符串,而不能直接写函数。
setTimeout("scrollToNext(1,4000)",5000);