Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Inserimento setTimeout

  1. #1
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560

    Inserimento setTimeout

    ciao, devo inserire setTimeout (seguente codice)
    codice:
    setTimeout(doInteresting, 3000);
    all'interno di questo codice:

    codice:
        var $j = jQuery.noConflict();
        $j(document).ready(function () {
            $j('.ei-run-autoimport').click(function () {
                $j.blockUI({message: $j('#ei_waiting_products')});
            });
        });

    ho provato così ma non funziona:

    codice:
    var $j = jQuery.noConflict();
    var doInteresting = function () {    
    $j(document).ready(function () {
            $j('.ei-run-autoimport').click(function () {
                $j.blockUI({message: $j('#ei_waiting_products')});
            });
    }
    setTimeout(doInteresting, 3000);
    });
    cosa sbaglio?
    grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, vedo degli errori di sintassi. Prova a controllare la console del tuo browser (F12 per aprirla), quindi verifica se saltano fuori errori nello script.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Ciao, grazie per la risposta, mi da questo errore: Uncaught SyntaxError: missing ) after argument list
    Non riesco a capire cosa manca... qualche apice? parentesi?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Cerco di re-indentare il tuo codice con un po' di criterio: vedrai subito che c'è qualquadra che non cosa.

    codice:
    var $j = jQuery.noConflict();
    var doInteresting = function () {    
       $j(document).ready(
          function () {
             $j('.ei-run-autoimport').click(
                function () {
                   $j.blockUI({message: $j('#ei_waiting_products')});
                }
             );
          }
          setTimeout(doInteresting, 3000);
    }
    );
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Niente da fare...dalla console di firefox mi da sempre errore:

    codice:
    var $j = jQuery.noConflict();
    var doInteresting = function () {    
       $j(document).ready(
          function () {
             $j('.ei-run-autoimport').click(…
    
    Uncaught SyntaxError: missing ) after argument list

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E che te l'ho pure reindentato... che ci vuole a vederlo? Segui le indentazioni e le relative aperture/chiusure di tonde e graffe.

    codice:
    var $j = jQuery.noConflict();
    var doInteresting = function () {                                   // Aperta graffa (1)
       $j(document).ready(                                               // Aperta tonda  (2)
          function () {                                                 // Aperta graffa (3)
             $j('.ei-run-autoimport').click(                            // Aperta tonda  (4)
                function () {                                           // Aperta graffa (5)
                   $j.blockUI({message: $j('#ei_waiting_products')});
                }                                                       // Chiusa graffa (5)
             );                                                         // Chiusa tonda  (4)
          }                                                             // Chiusa graffa (3)
          setTimeout(doInteresting, 3000);
    }                                                                   // Chiusa graffa ??
    );                                                                  // Chiusa tonda  ??
    Ultima modifica di LeleFT; 27-07-2023 a 12:11
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    codice:
    var $j = jQuery.noConflict();
    var doInteresting = function () {                                   // Aperta graffa (1)
       $j(document).ready(                                               // Aperta tonda  (2)
          function () {                                                 // Aperta graffa (3)
             $j('.ei-run-autoimport').click(                            // Aperta tonda  (4)
                function () {                                           // Aperta graffa (5)
                   $j.blockUI({message: $j('#ei_waiting_products')});
                }                                                       // Chiusa graffa (5)
             );                                                         // Chiusa tonda  (4)
          }                                                             // Chiusa graffa (3)
          setTimeout(doInteresting, 3000);
    )                                                                   // Chiusa tonda  (2)
    };                                                                  // Chiusa graffa (1)
    così? non funziona...sempre stesso errore..

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E per forza.
    Ti sembra sensato?

    codice:
    $j(document).ready(function() {...} setTimeOut(...);)
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Lele sta cercando di indirizzarti sulla causa dell'errore ma evidentemente (senza alcuna offesa) ti mancano dei concetti di base per comprendere dove andare a correggere.
    Giusto per chiarire, parliamo di un linguaggio di programmazione, non di un'insalata di riso. Ogni cosa va scritta nel modo corretto, secondo le specifiche richieste dal linguaggio stesso.

    Alla funzione/metodo ready() va passato un singolo argomento che deve essere una funzione la quale sarà richiamata come callback del relativo evento gestito attraverso ready().

    Vedi la documentazione https://api.jquery.com/ready/

    La forma deve essere questa:
    codice:
    .ready( handler )

    dove handler sarà la funzione da passare come argomento.

    Nel tuo script hai sbagliato la forma perché sostanzialmente risulta una cosa del genere:
    codice:
    .ready( handler tonno_e_pomodorini )

    chiaramente verrà dato un errore perché l'interprete non riesce a capire dove finisce l'argomento che va passato a ready(), infatti tonno_e_pomodorini (cioè il tuo setTimeout) è del codice che non può stare in quel punto.

    Non è nemmeno tanto chiaro come vuoi che funzioni quel setTimeout, perché va a richiamare la funzione doInteresting, nella quale hai impostato il gestore ready(), ma il ready avviene quando il DOM è pronto e quel setTimeout sta addirittura dentro la stessa funzione doInteresting che va a richiamare. Quale è l'intenzione?

    Penso vada rivista meglio la logica così da capire magari dove (e se) va inserito quel setTimeout.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Buongiorno, grazie dei consigli, studierò meglio la situazione del mio codice e dove inserire setTimeout. Per adesso non ho risolto..vediamo se troverò una soluzione.

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.