如何使用jquery使div在键上上下滚动

时间:2017-03-09 07:11:50

标签: javascript jquery

以下是JSFIDDLE的链接。我尝试使用向上和向下键在对话框中滚动。我可以使用鼠标滚动,但后来知道如何使用键向上和向下滚动。这是我到目前为止所做的尝试。

var element = document.getElementById("scroll-to-here");
        element.scrollIntoView({block: "end", behavior: "smooth"});

其实我试图滚动15px;或者上下键上下20px。

2 个答案:

答案 0 :(得分:2)

使用scrollTop功能:

$("#yourElement").scrollTop(10);

在您的情况下,根据按下的按钮增加或减少滚动顶部。

var $el = $("#yourElement");
$el.scrollTop($el.scrollTop() - 10); //move the scrollbar upwards

见这个例子:

https://jsfiddle.net/po6bokz6/

答案 1 :(得分:0)

试试这个:

$("#dialog-message").dialog({
   modal: true,
   draggable: false,
   resizable: false,
   position: ['center', 'top'],
   show: 'blind',
   hide: 'blind',
   width: 400,
   dialogClass: 'ui-dialog-osx',
   buttons: {
      "I've read and understand this": function() {
          $(this).dialog("close");
      }
   }
});

$(document).keydown(function(e) {
 switch(e.which) {

    case 38: // up
    var y = $('#to-scroll').scrollTop();  //your current y position on the page
    $('#to-scroll').scrollTop(y-150);


    break;

    case 39: // right
    break;

    case 40: // down
     var y = $('#to-scroll').scrollTop();  //your current y position on the page
       $('#to-scroll').scrollTop(y+150);


    break;

    default: return; // exit this handler for other keys
}
//e.preventDefault(); // prevent the default action (scroll / move caret)
});

见这个例子:

http://jsfiddle.net/db5SX/9488/