Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Pojawianie/Znikanie obrazka
Forum PHP.pl > Forum > Przedszkole
b_chmura
Witam
Kto potrafi znaleźć odpowiedź na fakt, że kod js działający w Mozilli FF nie działa pod IE?
Jeszcze gdyby całkiem nie działał... a nie działa druga część czyli chowanie obrazka.

Odrobinę kodu:

  1. <?php
  2. <script>
  3. function ShowIt(input)
  4. {
  5.  theobject = input;
  6.  SetShow   = setInterval("show(theobject)",60);
  7.  clearInterval(SetHide);
  8. }
  9. function HideIt(input)
  10. {
  11.  theobject = input;
  12.  SetHide   = setInterval("hide(theobject)",60);
  13.  clearInterval(SetShow);
  14. }
  15.  
  16. function show(input)
  17. {
  18.  if(input.style.MozOpacity < 1)
  19.  {
  20.    input.style.MozOpacity = parseFloat(input.style.MozOpacity) + 0.1;
  21.  }
  22.  else if(input.filters&&input.filters.alpha.opacity < 100)
  23.  {
  24.    input.filters.alpha.opacity += 10;
  25.  }
  26.  else if(window.SetShowg)
  27.  {
  28.    clearInterval(SetShow);
  29.  }
  30. }
  31. function hide(input)
  32. {
  33.  
  34.  if(input.style.MozOpacity != 0)
  35.  {
  36.    input.style.MozOpacity = parseFloat(input.style.MozOpacity) - 0.1;
  37.  }
  38.  else if(input.filters&&input.filters.alpha.opacity != 0)
  39.  {
  40.    input.filters.alpha.opacity -= 10;
  41.  }
  42.  else if(window.SetHide)
  43.  {
  44.    clearInterval(SetHide);
  45.  }
  46. }
  47. </script>
  48.  
  49. <div style="background: url(); height: 425px; width: 340px;">
  50.  <img src="http://www.informel.pl/~bchmura/al_bundy.jpg" style="filter:alpha(opacity=0); opacity: 0; -moz-opacity:0; height: 425px; width: 340px;" onmouseover="ShowIt(this)" onmouseout="HideIt(this)">
  51. </div>
  52. ?>


I przykład działania: link


PS: nie wiem jak sprawa wygląda pod operą i starszym IE...

Pozdrawiam
mecenas
zauważ, że korzystasz z MozOpacity... I to raczej na pewno tu tkwi przyczyna.

Chcąc, aby witryna działała pod innymi przeglądarkami powinieneś (musisz) skorzystać z rozwiązań bardziej uniwersalnych. Tym bardziej, że można to spokojnie zrobić w js, a już na pewno przy użyciu jQuery.

Rozumiem, że chodzi Ci o efekt fade'ingu? Czy o proste znikanie?
Jakby coś - pisz, znajdziemy rozwiązanie smile.gif
b_chmura
Cytat
zauważ, że korzystasz z MozOpacity... I to raczej na pewno tu tkwi przyczyna.


Nie do końca, jeśli prezglądarka obsługuje MozOpacity korzysta z MozOpacity, jeśli nie to z pozostałych smile.gif

Cytat
Rozumiem, że chodzi Ci o efekt fade'ingu? Czy o proste znikanie?

Dobrze rozumiesz smile.gif o stopniowe znikanie.


PS. Zauważ, że pojawianie się w IE działa...
mecenas
Wybacz, nie doczytałem może zbyt dokładnie kodu smile.gif

Tak czy siak to już reguła, że ie wycina człowiekowi numery. Nie jestem wielkim znawcą tematu, niemniej ja coś podobnego robiłem w jQuery - łącznie jakieś 13 linijek kodu, śmiga także pod ie. Oczywiście pozostaje pytanie o sens dorzucania jQ dla jednej funkcji na stronie winksmiley.jpg

Jeśli interesuje Cię to rozwiązanie - zajrzyj na docs.jquery.com. Odpowiednia manipulacja fadeIn(), fadeOut() i zabawa z czasem rozwiązuje problem smile.gif no, chyba że interesuje Cię gotowiec...

W razie pytań - wal śmiało
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.