2012-11-16 12 views
8

Jak określić możliwość przewijania w poziomie, klikając kółko myszy i wyłączając je w elemencie z overflow-x: hidden (używając JavaScript lub jQuery)? Przewijanie jest niemożliwe w Firefoksie, ale jest możliwe w IE, Chrome i Safari. Przykładowy kod:Wyłącz przewijanie w poziomie, klikając kółko myszy w elemencie z nadmiarem-x: ukryte

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

ekranu:

Firefox Chrome Safari IE

+0

Jeśli jest więcej treści niż jest miejsce, możesz albo umieścić pasek przewijania, albo możesz go wyłączyć za pomocą 'overflow: hidden'. Jak wyłączyć pasek przewijania i nie ukrywać zawartości? –

+0

Nawet się nie martw. Nie jestem nawet pewien, czy to możliwe, a jeśli tak, to po prostu wkurzyłby mnie ktoś, kto zdecydowałby się na śrubę z funkcjonalnością myszy. –

+1

Spójrz na moją odpowiedź: http://stackoverflow.com/questions/13058202/disable-the-body-scroll-but-keep-it-on-individual-div-elements-which-are-greate/13058634#13058634 I wyłączyłem przewijanie elementu na ciele, wystarczy zmienić skrypt, aby pasował do twoich potrzeb. – motivast

Odpowiedz

2

całkiem możliwe, ale nie najlepsze praktyki (Przypuszczam, że masz naprawdę dobry powód chcąc zrobić , chociaż):

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

Aby uzyskać fragment roboczy, patrz http://jsfiddle.net/q5CTS/3/.

0

można disble go z jQuery:

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

}); 

Klasa parant jest nadrzędny div.

Powiązane problemy