2013-01-15 34 views
10
<div class="factuuradres"></br><h3></h3></div> 
<div class="factuuradresbutton">Meer Informatie</div>   

<script type="text/javascript"> 
    $(".factuuradresbutton").toggle(function(){ 
     $(".factuuradres").animate({ 
      height: "310px" 
     }, 500); 
     complete: function() { 
      $(".factuuradresbutton").html("Toch geen factuuradres") 
      $(".factuuradres").html('<h2>Factuuradres</h2><div class="title_textbox3"><h3>Postcode:</h3></div><div class="textbox3"><input type="text" class="postcode" name="Postcode" value=""/></div><div class="title_textbox4"><h3>Huisnummer:</h3></div><div class="textbox4"><input type="text" class="huisnummer" name="Huisnummer" value=""/></div><div class="title_textbox"><h3>Straat:</h3></div><div class="textbox"><input type="text" class="field" name="Straat" value=""/></div><div class="title_textbox"><h3>Plaats:</h3></div><div class="textbox"><input type="text" class="field" name="Plaats" value=""/></div>') 
     } 
    }, 

    function(){ 
     $(".factuuradres").animate({ 
      height: "160px" 
     }, 500); 
     $(".factuuradresbutton").html("Ander factuuradres?") 
     $(".factuuradres").html("Factuuradres") 
    }); 
</script> 

Zastanawiam się dlaczego complete: function() nie działa, ktoś, kto może mi dać rady?jquery animować kompletny

Również ten skrypt działa, ale znika po kliknięciu przycisku. Po drugiej lub dwóch działa tak, jak zamierzano.

<script type="text/javascript"> 
    $(".factuuradresbutton").toggle(function(){ 
    $(".factuuradres").animate({ 
     height: "610px" 
    }, 500); 
    $(".factuuradresbutton").html("Toch geen factuuradres") 
    $(".factuuradres").html('<h2>Factuuradres</h2><div class="title_textbox3"><h3>Postcode:</h3></div><div class="textbox3"><input type="text" class="postcode" name="Postcode" value=""/></div><div class="title_textbox4"><h3>Huisnummer:</h3></div><div class="textbox4"><input type="text" class="huisnummer" name="Huisnummer" value=""/></div><div class="title_textbox"><h3>Straat:</h3></div><div class="textbox"><input type="text" class="field" name="Straat" value=""/></div><div class="title_textbox"><h3>Plaats:</h3></div><div class="textbox"><input type="text" class="field" name="Plaats" value=""/></div>') 
    }, 
    function(){ 
    $(".factuuradres").animate({ 
     height: "160px" 
    }, 500); 
    $(".factuuradresbutton").html("Ander factuuradres?") 
    $(".factuuradres").html("Factuuradres") 
    }); 
    </script> 
+1

gdzie jesteś powołując pełną funkcję? twoje połączenie anime zostanie zamknięte); po 500 – ryadavilli

+1

Sprawdź konsolę. Twoją odpowiedzią będzie błąd składni. –

+1

Twoja składnia jest nieprawidłowa. Uruchom swój kod przez [JSHint] (http://jshint.com). – brianpeiris

Odpowiedz

25

właśnie widział swój komentarz i zmienił moją odpowiedź do tego: http://jsfiddle.net/t3ttW/1/

$(".factuuradresbutton").toggle(function() { 
     $(".factuuradres").animate({ 
     height: "610px" 
     }, { 
     duration: 500, 
     complete: function() { 
      $(".factuuradresbutton").html("Toch geen factuuradres") 
      $(".factuuradres").html('<h2>Factuuradres</h2><div class="title_textbox3"><h3>Postcode:</h3></div><div class="textbox3"><input type="text" class="postcode" name="Postcode" value=""/></div><div class="title_textbox4"><h3>Huisnummer:</h3></div><div class="textbox4"><input type="text" class="huisnummer" name="Huisnummer" value=""/></div><div class="title_textbox"><h3>Straat:</h3></div><div class="textbox"><input type="text" class="field" name="Straat" value=""/></div><div class="title_textbox"><h3>Plaats:</h3></div><div class="textbox"><input type="text" class="field" name="Plaats" value=""/></div>'); 
     } 
     }); 
    }, 

    function() { 
     $(".factuuradres").animate({ 
     height: "160px" 
     }, 500); 
     $(".factuuradresbutton").html("Ander factuuradres?") 
     $(".factuuradres").html("Factuuradres") 
    }); 
+0

Używam przełącznika, więc jeśli kliknę przycisk, tekst, który znajduje się wewnątrz div "factuur", będzie widoczny, ale przy tym skrypcie przycisk nie działa. (sprawdź główny wpis, zaktualizowany działający skrypt, ale chciałbym mieć pełną funkcję, –

+0

właśnie zaktualizował odpowiedź: – Jai

+0

Niesamowite Jai, to jest to, czego potrzebowałem! –

5
$(".factuuradres").animate({ 
     height: "310px" 
    }, 500, function() { 
     $(".factuuradresbutton").html("Toch geen factuuradres") 
     $(".factuuradres").html('<h2>Factuuradres</h2><div class="title_textbox3"><h3>Postcode:</h3></div><div class="textbox3"><input type="text" class="postcode" name="Postcode" value=""/></div><div class="title_textbox4"><h3>Huisnummer:</h3></div><div class="textbox4"><input type="text" class="huisnummer" name="Huisnummer" value=""/></div><div class="title_textbox"><h3>Straat:</h3></div><div class="textbox"><input type="text" class="field" name="Straat" value=""/></div><div class="title_textbox"><h3>Plaats:</h3></div><div class="textbox"><input type="text" class="field" name="Plaats" value=""/></div>') 
    }); 
+0

Sposób "animowania" ma nieprawidłowy oddzwonienie. @Jay odpowiedź jest poprawna. –

+0

Przepraszamy! Myliłem się; to też działa! –

2

Funkcja oddzwaniania do wywołania kiedy animacja uzupełnia to parametr do funkcji ożywionej. Obecnie kod nie przekazuje funkcji jako parametru.

+0

Każdy pomysł, jak rozwiązać ten problem? –

+0

@RinkeDoeser Podoba mi się rozwiązanie Jamesa Donnelly'ego, demonstrujące to, co sugeruje mój głos. –