Autor Zpráva
Enrique
Profil *
Udělal jsem si jednoduchý přehazovač obrázků:
$(document).ready(function() {
  // pokud jsme na stránce se sliderem
  if ($("#header-bannery").length>0) {
  
    $("#header-bannery p:first").show();
  
    function zmena() {
  
      var pristi=$("#header-bannery p:visible").next("#header-bannery p");
      
      // pokud další takový element neexistuje, vrátíme se na začátek  
      if (pristi.length==0) { pristi=$("#header-bannery p:first"); }
      
      $("#header-bannery p").hide(0, function() { $(pristi).fadeIn(300); });
  
    }
  
    var opakovani=window.setInterval(zmena, 5000);

  }
});

HTML:
<div id="header-bannery">
<p><a><img...></a></p>
...
</div>

CSS:
#header-bannery p {
  display: none;
}

Problém je, že se fadeIn provede dvakrát, obrázek tedy jako by problikne. Nevíte proč? :( Díky.
Chamurappi
Profil
Reaguji na Enrique:
Pokud jsou na stránce dva $("#header-bannery p"), ty na obou zavoláš hide a do callbacku dáš nějakou funkci, zavolá se tato funkce očividně dvakrát, pro každý skrývaný element jednou. A jelikož si jQuery rádo dělá fronty, naskládají se fadeIny za sebe.
Enrique
Profil *
Aha, super, díky :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: