2015-03-12 7 views
8

Ho un div con overflow: scroll; E vorrei mettere un pulsante. Quando lo si preme, il contenuto degli scorre div.Javascript: funzione scrollBy eseguita su un div

Qualcosa di simile:

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>

Questo funziona in FF, ma non in Chrome. In Chrome Ottengo

Uncaught TypeError: undefined is not a function

La funzione scrollBy sembra essere definito come window funzione, quindi credo che questo è il problema, e sta funzionando in FF non dalla norma.

Ma c'è un altro modo per farlo? Non sto usando jQuery, e preferirei di no.

risposta

20

Si può provare questo:

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

Sì, questo funziona perfettamente! Grazie per aver dedicato del tempo per aiutare – Jeni

+0

Sì, questo funziona perfettamente! puoi dirti come tornare indietro a destra dopo essere andato a sinistra document.getElementById ("d"). scrollLeft + = 100; – nilesh