2013-01-15 18 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> 

Mi chiedo perché il complete: function() non funziona, chi può darmi consigli?jquery animate completo

Anche questo è lo script di lavoro, ma si interrompe dopo aver fatto clic sul pulsante. Dopo un secondo o due funziona come previsto.

<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

dove stai invocano la funzione completa? la tua chiamata animata viene chiusa con); dopo il 500 – ryadavilli

+1

Controllare la console. La tua risposta sarà l'errore di sintassi lì. –

+1

La sintassi non è corretta. Esegui il tuo codice attraverso [JSHint] (http://jshint.com). – brianpeiris

risposta

25

appena visto il tuo commento e cambiato la mia risposta a questa: 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

Im utilizzando interruttore, quindi se faccio clic sul pulsante, il testo che cosa è all'interno del div "factuuradres" sta diventando visibile, ma con questo script il pulsante non funziona più. (controlla il post principale, aggiornato uno script di lavoro, ma mi piacerebbe avere la funzione completa –

+0

appena aggiornato la risposta – Jai

+0

Awesome Jai, questo è quello che mi serviva! –

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

Il modo "animato" sta avendo il suo callback sbagliato. @ La risposta è giusta. –

+0

Siamo spiacenti! Mi sbagliavo; funziona anche! –

2

La funzione di callback da chiamare quando un'animazione completa è un parametro alla funzione animato. Attualmente il codice non sta passando la funzione come parametro.

+0

Qualche idea su come risolvere questo? –

+0

@RinkeDoeser Mi piace la soluzione di James Donnelly, che dimostra ciò che suggerisce la mia verbosità. –