添加新的代码块时,jQuery代码停止工作

时间:2019-03-30 05:48:01

标签: jquery smooth-scrolling autoscroll

我在php页面上有这个jquery代码。

<script type="text/javascript">
$(window).load(function() {

    $(document).keydown(function(e){
        if (e.keyCode == 38 && (e.metaKey || e.ctrlKey))  
            $('div').animate({scrollTop:"-=400"},'2500', 'linear')
        else if  (e.keyCode == 40 && (e.metaKey || e.ctrlKey))  
            $('div').animate({scrollTop:"+=400"},'2500', 'linear')
        else if (e.keyCode == 38)  
            $('div').animate({scrollTop:"-=40"},'2500', 'linear')
        else if (e.keyCode == 40)  
            $('div').animate({scrollTop:"+=40"},'2500', 'linear')
    });
    $(document).keyup(function(r){
        if (r.keyCode == 38){
            $('div').clearQueue();
            $('div').stop(true);
        }
        if (r.keyCode == 40){
            $('div').clearQueue();
            $('div').stop(true);
        }
    });
});
</script>

当按住向上或向下箭头键时,此代码向上或向下滚动div。

松开向上或向下箭头键时滚动会停止

现在,我尝试添加数字键以根据按下的数字以不同的速度触发滚动。这是现在的代码

<script type="text/javascript">
$(window).load(function() {

    $(document).keydown(function(e){
        if (e.keyCode == 38 && (e.metaKey || e.ctrlKey))  
            $('div').animate({scrollTop:"-=400"},'2500', 'linear')
        else if  (e.keyCode == 40 && (e.metaKey || e.ctrlKey))  
            $('div').animate({scrollTop:"+=400"},'2500', 'linear')
        else if (e.keyCode == 38)  
            $('div').animate({scrollTop:"-=40"},'2500', 'linear')
        else if (e.keyCode == 40)  
            $('div').animate({scrollTop:"+=40"},'2500', 'linear')
    });

    $(document).keypress(function(n){
        if (n.keyCode == 105)  
            $('div').animate({scrollTop:"+=400"},'2500', 'linear')
    });
    $(document).keypress(function(n){
        if (n.keyCode == 104)  
            $('div').animate({scrollTop:"+=350"},'2500', 'linear')
    });

    $(document).keydown(function(r){
        if (r.keyCode == 13){
            $('div').clearQueue();
            $('div').stop(true);
        }
        if (r.keyCode == 40){
            $('div').clearQueue();
            $('div').stop(true);
        }
    });
});
</script>

这就是我添加jquery的方式

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

我只是偶尔的编码员。我希望有人指出我为什么在添加工作代码相似的代码而唯一的关键代码不同时却停止工作。

这是几年前编码的。已经过时了,新的浏览器不支持吗?

0 个答案:

没有答案