需要帮助通过jquery计时事件

问题描述

| 这是我的代码
        tripper = 2;
    $(\"#topheader\").mousewheel(function(event,delta) {
        if (tripper == 2){
            startPlace = $(\"#content\").scrollLeft();
            startCounter = something;
            tripper = 1;
        } else {
            currentPlace = $(\"#content\").scrollLeft();
            if(startCounter < 100){ // milliseconds
            distanceMoved = currentPlace - startPlace;
                if(distanceMoved > 100){
                    slideRight();
                } else if(distanceMoved < -100){
                    slideLeft();
                }
            } else {
                tripper = 2;
            }
        }
    }
第一次通过此功能检查100毫秒是否已过去的正确方法是什么?在代码的第5行中,我具有变量“ something”,该变量需要用某种类型的计数器替换。也许我正在以一种完全错误的方式来解决这个问题。有什么建议吗?     

解决方法

您可以像这样实例化\“ Date \”对象:
var then = new Date();
稍后您可以再制作一个:
var now = new Date();
减法以毫秒为单位:
var elapsed = now - then;
(当两个日期值出现在减法运算符的任一侧时,从\“ Date \”到\“ Number \”的强制转换是隐式的。转换就像调用\“ now.getTime()\”一样。)     ,以下代码未经测试,但基本上,在100毫秒后,应将
timeout
重置为空,并最终将
tripper
设置为2;
tripper = 2;
timeout = null;
$(\"#topheader\").mousewheel(function(event,delta) {
    if (tripper == 2){
        startPlace = $(\"#content\").scrollLeft();
        if (!timeout) {
            setTimeout(function() {
                timeout = null
            },100);
        }
        tripper = 1;
    } else {
        currentPlace = $(\"#content\").scrollLeft();
        if(timeout){ // milliseconds
            distanceMoved = currentPlace - startPlace;
            if(distanceMoved > 100){
                slideRight();
            } else if(distanceMoved < -100){
                slideLeft();
            }
        } else {
            tripper = 2;
        }
    }
}