Autor Zpráva
4ever
Profil
Nevíte v čem může být chyba, když mi tento .slideIp() nefunguje?

Ve firebugu mi to nehlásí žádnou chybu.

  var checkit = function (that){
    var parent = $(that).parent().parent();
    var s = parent.attr("name").replace(/\key_/g,"");
    var span = parent.find("span");
    
    if (answers["valued"][s]){
span.empty().append("OK").removeClass('span_incorrect').addClass('span_right');
    }
    else
    {        
span.empty().append("ŠPATNĚ!").removeClass('span_right').addClass('span_incorrect');
    }
//    console.log( $(parent) ) ; // objekt s divem
    $(parent).slideUp("slow");
  }


html část
<div>
<div>
<input class=submit type='button' onclick='checkit(this)' value='OK'>
</div>
</div>


Slovem "parent" by to být nemělo, nefunguje ani po přejmenování.
4ever
Profil
Navíc jsem teď zjistil:

$(that).slideUp("slow");


Skryje tlačítko

$(that).parent().slideUp("slow");


Skryje tlačítko div, ve kterém se nachází tlačítko

$(that).parent().parent().slideUp("slow");


neudělá nic.
4ever
Profil
Zkusil jsem to nahradit za

$(that).parent().parent().animate({height: "0"},3000);


Což funguje (), ale po skončení animace se div vrací do původní velikosti.

Je toto chování u animate normální? Nebo je to tím, že uvnitř divu je obsah? Pokud to druhé, jak udělat, aby se těsně před ukončením animace spustila funkce (která vymaže obsah těch divů nebo prostě divu nastaví display:none)?

Edit:
Animaci jsem už vyřešil:

$(that).parent().parent().animate({height: "0"},2000).queue(
function() { $(this).empty().css("display", "none"); }
);


Takže po skončení animace už to nevyskakuje.

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:

0