2015-03-12 36 views
8

Tôi có một div với overflow: scroll; Và tôi muốn đặt một nút. Khi bạn nhấn, nội dung của các cuộn.Javascript: scrollBy chức năng thực hiện trên một div

Cái gì như:

function scrollDiv() { 
 
    document.getElementById("d").scrollBy(100, 100); 
 
}
<div id="d"> 
 
    <p>Click the button to scroll by 100px.</p> 
 
    <button onclick="scrollDiv()">Click me to scroll!</button> 
 
</div>

này hoạt động trong FF, nhưng không phải trong Chrome. Trong Chrome tôi nhận được

Uncaught TypeError: undefined is not a function

Chức năng scrollBy dường như được định nghĩa là window chức năng, vì vậy tôi đoán đây là vấn đề, và nó làm việc trong FF không theo tiêu chuẩn.

Nhưng có cách nào khác để làm điều đó không? Tôi không sử dụng jQuery, và tôi không muốn.

Trả lời

20

Bạn có thể thử này:

function scrollDiv(){ 
    document.getElementById("d").scrollTop += 100; 
    document.getElementById("d").scrollLeft += 100; 
} 
+0

Vâng, đây hoạt động hoàn hảo! Cảm ơn bạn đã dành thời gian để giúp đỡ – Jeni

+0

Có, điều này hoạt động hoàn hảo! bạn có thể cho biết làm thế nào để đảo ngược trở lại ngay sau khi đi trái document.getElementById ("d"). scrollLeft + = 100; – nilesh

Các vấn đề liên quan