Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    jquery problema call back

    uso questo codice per animare l'apertura di un div,alla fine di tale apertura vorrei che l'intera pagina scrollasse verso il basso per fare vedere che si è aperto, quindi intendevo mettere una funzione di scroll nel callbcak della funzione animate ma testando il tutto con una funzione che genera un alert me la lancia prima dell'animazione facendo così non funzionare un eventuale scroll down che dovrebbe partire ad animazione terminata... come posso fare?

    ho provato con jquery 1.3.2 e 1.2.6 con gli stessi risultati.

    Codice PHP:
          $(document).ready(function(){
            $(
    'a#tech').click(function() {
            $(
    '#scheda_tecnica').animate({"height""toggle"}, { duration500ease"linear"callbackmostra()});
            return 
    false;
            });
            
                function 
    mostra(){
                    
    alert('ciao');
                }
          }); 

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non dovrebbe essere cosi'?

    $('#scheda_tecnica').animate({"height": "toggle"}, { duration: 500, ease: "linear" }, function(){ mostra(); } );

    Tipo l'esempio che c'e' qua: http://docs.jquery.com/Effects/animate

  3. #3
    ho provato, non dà errori ma alla fine dell'animazione non lancia la funzione mostra();

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    E' dovuto ad Animate, per qualche motivo non fa eseguire dopo. Non ho avuto tempo di controllare ben il preche' ma provando con toggle per esempio senza Animate la call back viene eseguita alla fine. Se non hai provato:
    Codice PHP:
                function mostra(){
                    
    alert('ciao');
                }                          
        
    $(
    document).ready(function() {        
    $(
    'a#tech').bind('click', function(event) {                                        
    $(
    '#scheda_tecnica').toggle( function(){mostra()});                            
    }); 

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non sono un esperto jquery (esatto contrario) comunque sicuro del nome del elemento
    sia cosi $('a#tech').click(function() invece di $('#atech').click(function() o è un errore di trascrizione.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    E' giusto a#tech a sta per TAG <a> #tech cerca il tag a avente tech come id.

  7. #7
    si può mettere sia a#nomeId che #nomeId, è lo stesso.

    Comunque ci sto impazzendo e non ne vengo fuori, qualcuno è in grado di indicarmi un sito dove ci sia un div che si apre e la pagina scrolla per farlo vedere?

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    sto imparando jquery da poco (sono mootoolsiano ) ed ecco come ho risolto il problema così come ho trovato sulla documentazione...

    codice:
    $(document).ready(function(){ 
        $('a#tech').click(function() { 
            $('#scheda_tecnica').animate(
                {"height": "toggle"}, 
                500,
                'linear',
                mostra()
                );
            }); 
     
        function mostra(){ alert('ciao'); } 
        });
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    Originariamente inviato da dottwatson
    sto imparando jquery da poco (sono mootoolsiano ) ed ecco come ho risolto il problema così come ho trovato sulla documentazione...

    codice:
    $(document).ready(function(){ 
        $('a#tech').click(function() { 
            $('#scheda_tecnica').animate(
                {"height": "toggle"}, 
                500,
                'linear',
                mostra()
                );
            }); 
     
        function mostra(){ alert('ciao'); } 
        });
    avevo provato anche io così, senza successo, ho riprovato lo stesso con il tuo codice e confermo che non funziona in quanto sia su firefox che explorer che opera lancia la funzione mostra(); prima dell'animazione di apertura del div invece di lanciarla alla fine dell'animazione come desidero, comunque grazie lo stesso.

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ultima possibilità...

    codice:
    $(document).ready(function(){ 
        $('a#tech').click(function() { 
            $('#scheda_tecnica').animate(
                {"height": "toggle"}, 
                500,
                'linear',
                function(){mostra();}
                );
            }); 
     
        function mostra(){ alert('ciao'); } 
        });
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.