Autor | Zpráva | ||
---|---|---|---|
MartinXYZ Profil * |
#1 · Zasláno: 7. 1. 2016, 19:03:20
Ahoj,
mám PHP+jQuery skript na odesílání emailů z formuláře na webu. Poté, co se podaří email odeslat, je DIV obsahující formulář (<div class="schovat_po_odeslani"><form>...</form></div>) nahrazen odstavcem P, který obsahuje potvrzovací text. request.done(function (response, textStatus, jqXHR){ $('.schovat_po_odeslani').html('<p class="rv_odeslano">Vaše zpráva byla úspěšně odeslána, děkuji.</p>'); }); Jenže nahrazení proběhne "okamžitě a stránka jakoby poskočí". Šlo by do této části kódu vložit animaci překryvu? Něco jako slideToggle nebo podobně? Předem moc děkuju za pomoc, M. |
||
Keeehi Profil |
#2 · Zasláno: 7. 1. 2016, 19:44:01
MartinXYZ:
Jasně že šlo. Napozicuj si to pod to a ten formulář co bude na tím skryješ pomocí .fadeOut() |
||
MartinXYZ Profil * |
#3 · Zasláno: 8. 1. 2016, 18:07:41
Odpovím si sám, kdyby se to někomu hodilo.
.html() se nedá animovat, pouze nahradí jeden prvek druhým, resp. vloží do zvoleného DIVu odstavec P, kterým nahradí vše, co v tom DIVu bylo. Řešením je toto (animací se skryje původní prvek, nahradí se novým skrytým prvkem, a ten se pak zase animací zobrazí): request.done(function (response, textStatus, jqXHR){ $('#prvek_ktery_se_nahradi').slideToggle(1000, function(){ var replace = $('<p class="rv_odeslano">Vaše zpráva byla úspěšně odeslána, děkuji.</p>').hide(); $(this).replaceWith(replace); $('.rv_odeslano').slideToggle(1000); }); }); M. |
||
Keeehi Profil |
#4 · Zasláno: 8. 1. 2016, 18:10:39
MartinXYZ:
To je víceméně to, co jsem psal. |
||
Časová prodleva: 8 let
|
0