Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82

    [JQuery] utilizzare delay() con proprie funzioni

    Ciao a tutti,

    sto lavorando su un tema wordpress. Nel file javascript ho creato due funzioni utilizzando jQuery; vorrei poi poter richiamare queste funzioni nel file ponendo un delay fra la prima e la seconda.

    Tuttavia ottengo come errore il seguente:

    Cannot call method 'delay' of undefined

    vi riporto il mio codice:

    codice:
    function headerSlides() {
    	var arr = headerPortfolio.split(',');
    	jQuery(".page-template-page-portfolio-php #slider").backstretch(arr, {duration: 3000, fade: 750});
    	var arr = headerBlog.split(',');
    	jQuery(".blog #slider").backstretch(arr, {duration: 3000, fade: 750});
    }
    
    function boxFadeIn() {
    	jQuery('article.type-portfolio, article.type-post').each(function() {
    		jQuery(this).fadeIn(300);
    	});
    }
    
    jQuery(document).ready(function(jQuery){
    
    	headerSlides().delay(800)boxFadeIn();
    });
    Avete suggerimenti sul perché?

    Grazie!!!

    [TrGh]
    [TrGh]

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    headerSlides().delay(800).boxFadeIn(); <--qui manca un punto, comunque dubito che puoi applicare il dalay alle funzioni create da te, l'ho sempre visto associato alle funzioni iquery (fadeIn(), fadeOut(), etc...)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    Ciao,

    grazie per la risposta, verissimo per il punto, errore mio nello riscrivere la funzione.

    Ho provato a passare boxFadeIn() come callback di headerSlides() mettendo un setTimeout per ritardarne l'esecuzione, ma benché il setTimeout funzioni i box appaiono non in modo graduale, ma di colpo.

    Dopo qualche prova ho notato essere perché al caricamento della pagina parte istantaneamente l'effetto di fadein(), ma il setTimeout li fa ovviamente apparire dopo.

    Quindi il flusso sarebbe:

    - Si carica la pagina
    - Parte la funzione headerSlides() ed insieme parte boxFadeIn() inteso come computo del tempo necessario per mostrare i box, ma non li mostra
    - Si attende in setTimeout e poi i box appaiono di colpo.

    Spero di essermi spiegato bene

    Grazie ancora

    [TrGh]
    [TrGh]

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Fatico a seguire la logica in oltre c'è questa funzione backstretch che non conosco, prova a mettere una demo online e riporta qui il link
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    Ciao,

    grazie mille, ti riporto qui di seguito il codice ed il link:

    http://dev.galgario.com/slurp

    codice:
    function headerSlides(callback) {
    	var arr = headerPortfolio.split(',');
    	jQuery(".page-template-page-portfolio-php #slider").backstretch(arr, {duration: 3000, fade: 750});
    	var arr = headerBlog.split(',');
    	jQuery(".blog #slider").backstretch(arr, {duration: 3000, fade: 750});
    	
    	setTimeout('boxFadeIn()', 3000);
    }
    
    function boxFadeIn() {
    	jQuery('article.type-portfolio, article.type-post').each(function() {
    		jQuery(this).fadeIn(300);
    	});
    }
    
    jQuery(document).ready(function(jQuery){
    
    	headerSlides();
    A presto e grazie

    Nicola
    [TrGh]

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho guardato (velocemente) il sito e ho visto che ci sono diversi script jquery/js "gestiti" da wp che un modo tutto suo di gestire il javascript, con l'ultimo codice inserito mi sembra che un mino d'effetto delay ci sia (almeno con firefox 18) se non quello che vuoi, credo che sistemare sarebbe complesso valuta se ne vale la pena
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    Grazie mille
    [TrGh]

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 © 2026 vBulletin Solutions, Inc. All rights reserved.