JQuery код перестает работать при добавлении нового блока кода - PullRequest
0 голосов
/ 30 марта 2019

У меня есть этот код jquery на странице php.

<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>

Я только случайный кодер. Я надеюсь, что кто-то может указать мне, почему он перестает работать при добавлении аналогичного кода рабочего с единственным отличием кода ключа.

Это было закодировано несколько лет назад. это уже устарело и не поддерживается новыми браузерами?

...