首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript clearInterval问题

javascript clearInterval问题
EN

Stack Overflow用户
提问于 2012-01-06 03:55:40
回答 1查看 582关注 0票数 0

所以我想做一个页面,当鼠标移动100px到浏览器窗口的边缘时,可以左右水平滚动。我写了以下脚本,但当鼠标移动到页面中间时,它拒绝清除间隔。

编辑:很抱歉没有在这里粘贴整个js,startScrollLeft和..Right已经定义为全局变量。我做了一个虚拟页面here。您可以查看页面以及我的代码是如何(不)工作的。

代码语言:javascript
复制
$(document).mousemove(function(e){

        var cursorX = e.pageX;

        if (cursorX > windowW - 100){
            startScrollLeft = setInterval(scrollLeft, 50);
        }else {
            clearInterval(startScrollLeft);
        }

        if (cursorX < 100){
            startScrollRight = setInterval(scrollRight, 50);
        }else{
            clearInterval(startScrollRight);
        }

    });
    var scrolledAmount = 20;
    function scrollLeft(){
        if($('.content').width() > scrolledAmount + contentW +  windowW - 400){
            $('.content').animate({
                left: '-='+20+'px'
            },70, 'linear');
            scrolledAmount = scrolledAmount+20;
        }
    }
    function scrollRight(){
        if(scrolledAmount > 20){
            $('.content').animate({
                left: '+='+20+'px'
            },70,'linear');
            scrolledAmount = scrolledAmount-20;
        }
    }

需要帮助解决这个问题:/

EN

回答 1

Stack Overflow用户

发布于 2012-01-06 04:02:31

代码语言:javascript
复制
var cursorX = e.pageX;

if (cursorX > windowW - 100){
    window.startScrollLeft = setInterval(scrollLeft, 50);
}else {
    clearInterval(window.startScrollLeft);  
}

if (cursorX < 100){
    window.startScrollRight = setInterval(scrollRight, 50);
}else{
    clearInterval(window.startScrollRight);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8748862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档