2013-05-19 20 views
13

voglio disabilitare lo scorrimento per la mia pagina web, ma completamente, non solo disattivare le barre di scorrimento in mododisabilitare completamente lo scorrimento della pagina web

overflow: hidden 

non funzionerà.

Anche questa soluzione alternativa non si applica ai computer Mac a causa del "soft-scroll" sui bordi. Mostrerà una terribile animazione traballante:

window.onscroll = function() { 
window.scrollTo(0,0); 
} 

C'è qualche altro metodo per disabilitare completamente lo scorrimento?

+2

si può mostrare perché 'overflow: hidden' non funziona per voi? Fornire un codice di esempio. – Brad

+0

overflow: nascosto rimuove solo la barra di scorrimento ma non disabiliterà lo scorrimento con la rotella di scorrimento (sto parlando di scorrimento verticale) –

+0

overflow: di solito nascosta funziona perfettamente per me. Penso che dovresti fornire qualche esempio come ha detto @Brad. –

risposta

37

Presumendo il codice HTML è semplificata:

<html><body><div class=wrap>content...</div></body></html> 

Set sia il corpo, html in altezza: 100%;

body, html {height:100%;} 

mettere un div all'interno del corpo, e impostarlo allungarsi per tutta l'altezza del corpo:

div.wrap {height:100%; overflow:hidden;} 

Questo consentirà di evitare finestra da scorrere in modi strani, come, premendo la rotella del mouse e spostandolo, usando ancore, ecc

Per rimuovere la barra di scorrimento in sé (visivamente), si dovrebbe anche aggiungere:

body {overflow: hidden; } 

Per disabilitare lo scorrimento tramite premendo i tasti freccia sulla tastiera:

window.addEventListener("keydown", function(e) { 
    // space, page up, page down and arrow keys: 
    if([32, 33, 34, 37, 38, 39, 40].indexOf(e.keyCode) > -1) { 
     e.preventDefault(); 
    } 
}, false); 
Problemi correlati