Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]FADE w JS
Forum PHP.pl > Forum > Przedszkole
RoysoN
Witam! Zrobiłem coś takiego:
  1.  
  2. <head>
  3.  
  4. </head>
  5.  
  6. <body>
  7. function In() {
  8. for (i=0; i<255; i++)
  9. setTimeout("document.body.style.color = 'rgb(0,10,"+i+")'", i+100);
  10. document.body.style.color = 'rgb(0,10,255)';
  11. }
  12.  
  13. function Out()
  14. {
  15. var p;
  16. for (u=0; u<255; u++)
  17. p = u - 255;
  18. setTimeout("document.body.style.color = 'rgb(0,10,"+p+")'", u+200);
  19. }
  20. </script>
  21.  
  22. <p OnMouseOver="In()" OnMouseOut="Out()"><font size=90>tekst</font></p>
  23.  
  24.  
  25.  
  26. </body>
  27.  
  28. </html>

Lecz po najechaniu tekst zamiast płynnie się zmieniać po prostu wariuje. Ktoś ma jakiś pomysł na to?
Rid
Pierwszy raz widzę twór +i+,ale człowiek się uczy:
Nie wiem,może się przyda ale znalazłem skrypt jechany na kolorach,może się tam Panu coś przyda:
http://www.botzilla.com/blog/archives/ChartThrob.jsx
maviozo
Polub jQuery, który ma takie funkcje gotowe, lub jest szalenie wygodniej zrobić taką własną.

Wzór +i+ to konkatenacja łańcucha tekstowego i to jest w porządku.

Możliwe że skrypt wariuje, bo jak najeżdżasz i się poruszasz myszką, to nie przerywasz poprzedniej animacji. Dlatego spróbuj dodać przed funkcją

Kod
timer=0;


potem w obu funkcjach:
Kod
clearTimeout(timer);
timer=setTimeout(...);

co pozwoli Ci za każdym razem przerwać poprzednią niekompletną animację i uruchomić następną. W obecnej formie one się nakładają na siebie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.