如何解决需要帮助通过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;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。