Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mouse scroll, prośba o jedną, prostą zmianę w kodzie
melior
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

Ostrzeżenie: (0%)
-----


Znalazłem kod do obsługi mouse scrolla. Trochę nie rozumiem na jakiej zasadzie działa wheelDelta event, a dokładniej jakie wartości przyjmuje, jaki ma zakres...
W tym momencie kod wyświetla na ekranie 1: up jeżeli użyję mouse scrolla w jedną stronę, lub -1: down jeżeli w drugą.
Jak zmodfikować kod by dowolnie zwiększyć ten zakres? np. od -n do +n Tak by delta przyjmowała wartości nie tylko 1/-1.

Dzięki za pomoc

Kod
<script type="text/javascript">

var delta = 0;

function handle(delta) {
    var s = delta + ": ";
    if (delta < 0)
        s += "down";
    else
        s += "up";
    document.getElementById('delta').innerHTML = s;
}

function wheel(event){    
    if (!event) event = window.event;
    if (event.wheelDelta) {
        delta = event.wheelDelta/120;
        if (window.opera) delta = -delta;
    } else if (event.detail) {
        delta = -event.detail/3;
    }
    if (delta)
        handle(delta);
}

/* Initialization code. */
if (window.addEventListener)
    window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

</script>


EDIT:
Problem rozwiązany i aż mi głupio, że nie mogłem sobie z tym poradzić. Ale to wczesna pora i człowiek nie myśli jeszcze dobrze. Widząc cały czas 1 na ekranie, gdy kręciłem scrollem, jakoś nie dotarło do mnie, że delta jednak się zmienia za każdym razem od 0 do 1. Więc wystarczy dać s+=delta; Heh... Wiem, wiem, należy mnie wychłostać smile.gif

Ten post edytował melior 26.03.2010, 08:15:56
Go to the top of the page
+Quote Post
janek9
post
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 2
Dołączył: 22.03.2009

Ostrzeżenie: (0%)
-----


Cytat(melior @ 26.03.2010, 07:15:47 ) *
Znalazłem kod do obsługi mouse scrolla. Trochę nie rozumiem na jakiej zasadzie działa wheelDelta event, a dokładniej jakie wartości przyjmuje, jaki ma zakres...
W tym momencie kod wyświetla na ekranie 1: up jeżeli użyję mouse scrolla w jedną stronę, lub -1: down jeżeli w drugą.
Jak zmodfikować kod by dowolnie zwiększyć ten zakres? np. od -n do +n Tak by delta przyjmowała wartości nie tylko 1/-1.

Dzięki za pomoc

Kod
<script type="text/javascript">

var delta = 0;

function handle(delta) {
    var s = delta + ": ";
    if (delta < 0)
        s += "down";
    else
        s += "up";
    document.getElementById('delta').innerHTML = s;
}

function wheel(event){    
    if (!event) event = window.event;
    if (event.wheelDelta) {
        delta = event.wheelDelta/120;
        if (window.opera) delta = -delta;
    } else if (event.detail) {
        delta = -event.detail/3;
    }
    if (delta)
        handle(delta);
}

/* Initialization code. */
if (window.addEventListener)
    window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

</script>


EDIT:
Problem rozwiązany i aż mi głupio, że nie mogłem sobie z tym poradzić. Ale to wczesna pora i człowiek nie myśli jeszcze dobrze. Widząc cały czas 1 na ekranie, gdy kręciłem scrollem, jakoś nie dotarło do mnie, że delta jednak się zmienia za każdym razem od 0 do 1. Więc wystarczy dać s+=delta; Heh... Wiem, wiem, należy mnie wychłostać smile.gif



Pozwolę sobie na odświeżenie tematu. Używam dokładnie tego samego kodu. Niestety przewijanie nie działa i mogę przewinąć albo raz do góry lub na dół. Posiedziałem trochę i nic nie wymyśliłem, w którym miejscu mógłbym dodać s+=delta.. Czy jest ktoś w stanie mi pomóc lub nakierować ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:29