Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Event w momencie najechania ekranem
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Ciężko mi nazwać ten event jeżeli to jest w ogóle event ale chodzi mi o wykonanie akcji gdy użytkownik zobaczy (dosłownie) dany element.
Rozumiem przez to aktywną kartę i przewinięcie strony jeżeli dany element nie jest widoczny.

Coś w stylu FB gdzie po przewinięciu strony na dół tablica automatycznie się wydłuża.
Kiedyś podobnie widziałem wykorzystane to na stronie jQuery do wyświetlania komentarzy (domyślnie ukryte).


--------------------
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


onscroll + warunek badający długość i pozycję paska przesuwania


--------------------
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


W jQuery: .scroll(), .srollTop() lub ewentualnie plugin scrollTo().
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Dziękuje, wystarczyło mi tylko naprowadzenie (metodę).
Troszkę poobserwować wartości i mamy algorytm.
Odległość od góry za pomocą offset().top oraz dodać do tego wysokość okna (inaczej trzeba by całą stronę przewinąć).

Kod, który spłodziłem:

  1. $(document).scroll(function() {
  2.  
  3. var height = $(window).height();
  4. var myTop = $("#tenElement").offset().top;
  5. var scrollTop = $(document).scrollTop() + height ;
  6.  
  7. if (scrollTop > myTop) {
  8. alert('bum');
  9. }
  10.  
  11. })


Zastnawiam się tylko czy jest też jakaś metoda, która pozwoli zareagować na przełączenie karty w przeglądarce - gdy użytkownik nie będzie musiał przewijać strony aby zobaczyć ten element (element dodawany dynamicznie więc onLoad nic nie da).


--------------------
Go to the top of the page
+Quote Post
kamil4u
post
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Cytat
Zastnawiam się tylko czy jest też jakaś metoda, która pozwoli zareagować na przełączenie karty w przeglądarce - gdy użytkownik nie będzie musiał przewijać strony aby zobaczyć ten element (element dodawany dynamicznie więc onLoad nic nie da).

Opisz dokładniej co ma się dziać przy przełączaniu kart, bo nie do końca rozumiem problem.


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Za pomocą ajaxa pojawiają się kolejne wypowiedzi w konwersacji.
W momencie gdy pojawią się nowe wiadomości wyświetlany jest komunikat.
Komunikat chciałbym aby był wyświetlany 3 sekundy od momentu gdy użytkownik go zobaczy.
Może go zobaczyć na dwa sposoby:
- usłyszy dźwięk i przełączy kartę
- usłyszy dźwięk i przewinie stronę.


--------------------
Go to the top of the page
+Quote Post
kamil4u
post
Post #7





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Kod
<!DOCTYPE html>
<html lang="pl">
    <head>
        <script>
            onfocus = function(){
                document.body.innerHTML += "test<br>";
            }
        </script>
    </head>
    <body>
    </body>
</html>


Nie dawaj alerta, bo skutki nie są zbyt ciekawe wink.gif


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Faktycznie fajny trik,

teraz by należało połączyć obie metody bo jeżeli jest już na tej stronie to trzeba sprawdzić czy ma odpowiednią wysokość żeby zobaczyć komunikat, jeżeli nie to oczekiwać, że przewinie i to wychwycić.

Ogólnie dużo kodu dla pierdółki więc się jeszcze zastanowie czy w to brnąć w ogóle.
Ale lekcja ciekawa.

Ten post edytował markonix 7.01.2012, 16:38:01


--------------------
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: 19.08.2025 - 09:24