js 中setTimeout()无效

今天使用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);


你可能感兴趣的:(web,js,setTimeout)