Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Zwinięcie, zmiana zawartości i rozwinięcie

JS  Założony przez  Supryk.

Chyba już dziś za dlugoo siedzę w kodzi bo nie mogę znaleźć rozwiązania, które pewnie jest banalne.

A więc tak, potrzebuje zwinąć element przy użyciu slideToggle('slow')
Później zamienić zwjany div replaceWith(editcomment)
i rozwinąć slideToggle('slow')

Czyli coś za zasadzie, co nie zgubi animacji

$("div#"+cid+".statusupdate_comment").slideToggle('slow');
                    $("div#"+cid+".statusupdate_comment").replaceWith(editcomment);
                    $("div#"+cid+".statusupdate_comment").slideToggle('slow');

Jakieś pomysły? druga wersja diva ta na którą zamieniam ma display: none, klasy i id zostają bez zmian
Może warunek "jeżeli jest  styl display:none wykonaj $("div#"+cid+".statusupdate_comment").replaceWith(editcomment);"?

Druga propozycja, która nie wiem czy jest możliwa(nie testowałem).

if($("div#"+cid+".statusupdate_comment").slideToggle('slow')){

 
         $("div#"+cid+".statusupdate_comment").replaceWith(editcomment);
 
         $("div#"+cid+".statusupdate_comment").slideToggle('slow');

Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
no niestety brak animacji chowania, dzięki za chęci :)
Musi poczekać aż skończy pierwszą zamienić i zacząc drugą
Nie jestem pewny czy da się tak zrobić przy użyciu slideToggle. Wydaje mi się, że kiedy rozwiniemy diva, który zostanie zmieniony to wszelkie operacje, które zostały na nim wykonane zostają z zapomniane/skasowane, przez to funkcja slideToggle zapomina, że dokonała już rozwinięcia i zamiast zwinąć slideToggle probuje rozwinąć ten element. Nie prościej byłoby zmienić tylko zawartość elementu funkcją text() lub html() ?
Hmm chyba dobrze kombinowalem.
http://stackoverflow.com/questions/17975...e-complete
Zobacz jako parametr mozna podac funkcje ktora wykona sie po animacji. Czy moze zle to zrozumialem?
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
brawo bravissimo !!!
wygląda na to że funkcja jeszcze jakoś unikalnie rozróżnia dyivy

dzięki

(14.04.2016, 21:45)NiespecjalnieUzdolniony napisał(a): Zobacz jako parametr mozna podac funkcje ktora wykona sie po animacji. Czy moze zle to zrozumialem?


dobrze zrozumiales
Jeśli chcesz zamienić tylko tekst w divie, to poniżej masz przykład.
https://jsfiddle.net/glover/kxx4g1k7/

Funkcja replaceWith(); zamienia całą zawartość wybranego selektora i przez to traci się "efekt animacji".
(15.04.2016, 07:42)gloverek napisał(a): Jeśli chcesz zamienić tylko tekst w divie, to poniżej masz przykład.
https://jsfiddle.net/glover/kxx4g1k7/

Funkcja replaceWith(); zamienia całą zawartość wybranego selektora i przez to traci się "efekt animacji".
chcialem zamienic caly div
replaceWith() zamienia caly element, nie zawartosc

ostatecznie z replace dziala tez tak

$("div#"+cid+".statusupdate_comment").slideToggle("slow", function()
                    {
                        $("div#"+cid+".statusupdate_comment").replaceWith(editcomment);
                        $("div#"+cid+".statusupdate_comment").hide();
                        $("div#"+cid+".statusupdate_comment").slideToggle("slow");
                    });



Użytkownicy przeglądający ten wątek:

2 gości