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

    funzione setTimeout non funziona con passagio di oggetto

    salve ragazzi maneggio poco con js e cmq non riesco a fa funzionare una funzione please vedete dove sbaglio:

    codice:
    function scroll_title(scroll) {
      		    scroll = scroll.substring(1, scroll.length) + scroll.substring(0, 1);
      		    setTimeout(scroll_title(), 500);
     		    return scroll;
    		}

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Re: funzione setTimeout non funziona con passagio di oggetto

    Originariamente inviato da serdominik
    salve ragazzi maneggio poco con js e cmq non riesco a fa funzionare una funzione please vedete dove sbaglio:

    codice:
    function scroll_title(scroll) {
      		    scroll = scroll.substring(1, scroll.length) + scroll.substring(0, 1);
      		    setTimeout(scroll_title(), 500);
     		    return scroll;
    		}

    la funzione scroll_title si aspetta un argomento (scroll)
    che non passi nel setTimeout
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    si ho notato ma come devo fare?

    in una funzione assegno a una variabile

    var testo = scroll_title("Titolo da scrollare");

    essendo che il titolo cambia per ogni immagine richiamo la funzione e gli passo ciò che mi serve.
    codice:
    function scroll_title() {
                        scroll= "Testo da scrollare";
      		    scroll = scroll.substring(1, scroll.length) + scroll.substring(0, 1);
      		    setTimeout(scroll_title(), 500);
     		    return scroll;
    		}
    cos' la funzione che lancio mi funziona benissimo ma io devo per forza passargli il testo e il setTimeout mi serve proprio per farlo scrollar perchè ogni 500 millesicondi mi fa sempre la codesta funzione

  4. #4
    in poche parole la funzione deve essere richiamata così e deve dare un return ogni 500 millesicodi o 300 nn so se rendo l'idea

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    function scroll_title(scroll) {
      		    var scroll = scroll.substring(1, scroll.length) + scroll.substring(0, 1);
      		    if (!(<condizione_di_terminazione>)) {
                             setTimeout(function() { scroll_title(scroll);}, 500);
                        }
    }
    stabilisci tu <condizione_di_terminazione> oltre al quale non devi più chiamare la funzione stessa
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Guarda sono proprio inceppato!

    Ho provato anche a fa diverse modifiche niente da fare.

    Io sto usando una classe di javascript per il popup di immagini un effetto veramente bello solo che se il titolo dell'immagine è troppo lungo si mette su due o + righe e va a nascondersi dietro perchè il titolo è posizionato sopra all'immagine.

    Avevo trovato in giro scroll di testo in javascript e facendo delle prove ho creduto di poterlo immetere nella classe.

    ho notato che il return della funzione tu non me lo hai messo...

    ho provato il tuo codice ma niente non ho capito che vuoi dire come condizione di terminazione... a me non serve un inizio o una fine deve sempre scrollare ineffetti la funzione nella clasee la richiama e mi fa anche solo per la prima volta la sostituzione quindi se il testo è:

    "Testo da scrollare " mi ritorna "esto da scrollare T"

    normale perchè il setTimeout mi richiama la funzione e sottraendo al'inizio e aggiungendo all'ultimo purtroppo la funzione non è ciclica all'infinito come si potrebbe risolvere?


  7. #7
    Prova questo:

    Codice PHP:
    <html xmlns="http://www.w3.org/1999/xhtml">
        <
    head>
            <
    title></title>
            <
    script type="text/javascript">
                  function 
    scroll(el,toType){
                    var 
    scrollLentoType.length;
                    var 
    start0;
                    var 
    timeoutID window.setInterval(f100);
                    var 
    selfel;
                    function 
    f(){
                         if(
    start<scrollLen){
                            
    start++;
                            var 
    str toType.substring(startscrollLen) +' 'toType.substring(0start);
                            if(
    self.hasChildNodes()){
                                
    self.removeChild(self.firstChild);
                            }
                            
    self.appendChild(document.createTextNode(str));
                        }
                        else {
                            
    window.clearTimeout(timeoutID);
                            
    //Pause
                            
    setTimeout(f2500);
                        }
                    }
                    function 
    f2(){
                        
    start0;
                        
    timeoutID window.setInterval(f100);
                    }
                }
    </script>
        </head>
        <body onload="scroll(document.getElementById('scroll'),'Pippo è andato in montagna');">
            <div id="scroll"></div>
         </body>
    </html> 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    whisher ti voglio ringraziare perchè grazie a te sono riuscito a copiarlo e incollarlo nella classe e funziona alla perfezione nessuna sbavatura...

    ora essendo che al window.onload mi fa la funzione e viene richiamata solo quando clicco su una foto e si apre tipo lightbox devo fare che la funzione del window.onload termina quando cambio foto sia quando faccio esci...

    Adesso mi devo scemunire un po'



    Intato grazie veramente

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.