2012-11-16 17 views
8

Wie kann ich die Möglichkeit des horizontalen Scrollen durch Klicken mit dem Mausrad und deaktivieren Sie es im Element mit Überlauf-x: versteckt (mit JavaScript oder jQuery)? Scrollen ist in Firefox nicht möglich, aber in IE, Chrome und Safari möglich. Code-Beispiel:Deaktivieren Sie das horizontale Scrollen durch Klicken des Mausrads in das Element mit Überlauf-x: versteckt

<div style="overflow-x:hidden; overflow-y:auto;">...</div>

Screenshots:

Firefox Chrome Safari IE

+0

Wenn mehr Inhalt als Platz vorhanden ist, können Sie entweder eine Bildlaufleiste einfügen oder Sie können sie mit "overflow: hidden" abschneiden. Wie können Sie die Bildlaufleiste deaktivieren und den Inhalt nicht ausblenden? –

+0

Mach dir keine Sorgen darüber. Ich bin mir nicht einmal sicher, ob es möglich ist, und wenn es das ist, würde es mich nur verärgern, wenn ich mich entscheide, mich mit der Mausfunktionalität zu beschäftigen. –

+1

Sieh dir meine Antwort an: http://stackoverflow.com/questions/13058202/disable-the-body-scroll-but-keep-it-on-individual-div-elements-which-are-greate/13058634#13058634 I habe Scroll auf Body-Element deaktiviert, ändere einfach das Script, um deine Bedürfnisse zu erfüllen – motivast

Antwort

2

Perfekt möglich, aber nicht best practice (ich nehme an, Sie haben einen wirklich guten Grund für den Wunsch, es zu tun , obwohl):

$('#yourDivId').on('scroll', function(){ 
    $('#container').scrollLeft(0); 
});​ 

Siehe http://jsfiddle.net/q5CTS/3/ für ein funktionierendes Snippet.

0

können Sie es mit jQuery disble:

$(document).ready(function(){ 
    $('.parent').bind('mousewheel', function(event, delta) { 
    return false; 
}); 

}); 

Die Klasse Parant ist Elternteil div.

Verwandte Themen