Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cykliczne powiększanie diva - animacja
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
yaro
Chce zrobić żeby div powiększał sie do określonej wielkości i żeby to była animacja, czyli nie od razu żeby miał maksymalną wielkość. Tylko że nie wiem czemu ale nawet nie powiększa sie.

Oto kod:
Kod
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title></title>
<script>
var animeInt;    
function doUBAnimation() {
  var obj = document.getElementById("UBsearchAdv");
  obj.style.width = parseInt(obj.style.width) + 10 + 'px';
   if (parseInt(obj.style.width) > 200)
  {
    window.clearInterval(animeInt);
  }
}
function showUBsearchAdv() {
    var obj = document.getElementById("UBsearchAdv");
    obj.style.display = "block";
    setInterval("doUBAnimation()", 1000);
}
</script>
</head>

<body>
  <div id="UBsearchAdv" style="display:none; background-color:#006699; width:20px;">dfg</div>
</body>
</html>
revyag
No dobra, a gdzie wywołujesz funkcję showUBsearchAdv() ?
smile.gif
yaro
Zapodział sie gdzieś link jak kopiowałem na forum.
Wywołuje to w taki sposób:
Kod
<a href="#" onclick="showUBsearchAdv()">zaawansowane</a>


Ale oczywiście nie to jest problemem, bo i tak nie działa sad.gif
revyag
Prześledź wszystko dokładnie. Przetestowałem dla pewności przed chwilą ten kod i jest ok. Div się wydłuża.
yaro
No rzeczywiście div sie wydluża ala nagle, od razu przecież go widać dużego. Ja chce żeby powoli sie powiekszal, zeby to było wiidać
revyag
Jak to nagle ? Najpierw go nie widać, potem widać jakieś 20px a potem wydłuża się co 10px.
yaro
No rzeczywiście działa tak jak chciałem.
Sprawdzałem wczoraj i nie działało, coś musiałem pokręcić.
Dzięki ~revyag
jastu
Nie mogę zatrzymać tego skryptu .... owszem powiększa się prawidłowo ohmy.gif

Poprawiony
Kod
<script>
var animeInt;    
function doUBAnimation() {
  var obj = document.getElementById("UBsearchAdv");
  

     obj.style.width = parseInt(obj.style.width) + 10;
      if (parseInt(obj.style.width) > 30)
        {
          window.clearInterval(animeInt);
        }
  
}
function showUBsearchAdv() {
    var obj = document.getElementById("UBsearchAdv");
    obj.style.display = "block";
    animeInt = setInterval("doUBAnimation()", 1000);
}
</script>


setInterval nie przekazywał wartości identyfikatora dzięki któremy możemy zatrzymać animację , gra!
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.