Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykrywanie scrollowania
lolo
post 29.10.2005, 19:15:20
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

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


Wlasnie sie zastanawiam nad czyms takim... Otoz czy da sie jakos wykryc scrollowanie jakiegos obiektu? Chodzi mi glownie o <textarea>. Widzialem to kiedys w jakiejs aplikacji (nie webowej) i tam bylo to wykorzystywane do sprawdzania, czu uzytkownik przeczytal warunki uzytkowania - jezeli scrollowal do konca to wtedy mozna bylo kliknac "dalej". Teraz sie tak zaczalem zastanawiac czy da sie cos takiego przelozyc na JS?
Oczywiscie nie widze wiekszego sensu w uzywaniu tego z tego powodu, ze moze to byc denerwujace/wprowadzajace w blad dla uzytkownika. Ale jako czysto teoretyczne zadanie jest to ciekawe. A wiec moja proba wyglada tak:

Kod
function checkIfRulesRead()
{
    do
    {
        document.forms[0].elements[1].disabled = true;
     }
     while( document.forms[0].elements[0].scrollHeight != document.forms[0].elements[0].scrollTop )
     document.forms[0].elements[1].disabled = false;
}


Oczywiscie potem jest

  1. <body onLoad="checkIfRulesRead()">


No coz... oczywiscie jest to nieskonczona petla, przegladarka ja wykonuje, pozera zasoby i sie zawiesza. Wiec w ta strone sie nie da. Jakies pomysly?

Pozdrawiam

Ten post edytował lolo 29.10.2005, 19:17:05


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
ghostrider
post 31.10.2005, 18:03:46
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


  1. function check(elem)
  2. {
  3. if ( elem.scrollHeight == elem.scrollTop+elem.clientHeight ){
  4. elembtn = document.getElementById("btn");
  5. elembtn.disabled = false;
  6. }
  7. }
  8.  
  9. <textarea onmousemove="check(this)" cols="60" rows="15">
  10. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean in nisi. Quisque dictum justo laoreet elit. Curabitur in eros. Vestibulum ultrices varius sapien. Suspendisse et odio. Phasellus tincidunt porta lorem. Donec vestibulum euismod ante. In tempus lacus vitae metus. Vestibulum sit amet ipsum. Donec facilisis. Pellentesque vel mi sit amet massa tempus cursus. Fusce a nibh id magna blandit fringilla. Quisque sit amet felis. Quisque nibh. Mauris sit amet lectus.
  11.  
  12. Proin pulvinar, velit non imperdiet placerat, augue dolor varius felis, eu fringilla elit risus a purus. Mauris eros. Nunc purus. Sed porta, est venenatis placerat auctor, ipsum est feugiat sapien, eget pulvinar justo enim et neque. Donec blandit, risus in viverra scelerisque, mauris nunc rutrum urna, elementum cursus nibh nisl ut tellus. Praesent condimentum, dolor in aliquet mattis, leo orci pellentesque orci, id elementum sem felis eu dui. Nam et eros. Vestibulum et arcu. Donec mollis. Ut purus pede, convallis et, aliquam quis, interdum ac, metus. Maecenas quis augue. Duis cursus, ante id gravida pretium, nulla turpis hendrerit nibh, et lacinia tellus odio vel enim. Pellentesque cursus lorem eu massa. Duis ultrices aliquet magna. Curabitur ac odio. Suspendisse egestas, dolor ac rhoncus ornare, tortor sapien scelerisque sem, eget pharetra magna nisi ac dui. Quisque dolor. </textarea>
  13. <input id="btn" type="button" name="x" value="do" disabled="disabled" />


no i jest.


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
lolo
post 1.11.2005, 18:27:43
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

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


No niezle. Powiedzial bym nawet ze genialnie proste, po prostu genialne. Dzieki! Ale skoro tak dobrze poszlo, to trudniejszy orzech do zgryzienia: da sie to samo zrobic takze przy textarea ktore jest disabled? (Twoj przyklad wtedy nie dziala - przynajmniej w ff 1.0.7)

Pozdrawiam


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
ghostrider
post 2.11.2005, 10:28:10
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


oszukiwanie "disabled"

  1. <textarea onmousemove="check(this)" cols="60" rows="15" onFocus="this.blur()">


można tak, i chyba będzie OK


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:49