Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29

Hybrid View

  1. #1
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Vedo un errore qui:
    codice:
    setInterval(photo(),freq)
    Dovrebbe essere scritto così:
    codice:
    setInterval("photo()",freq)
    Oppure così:
    codice:
    setInterval(photo,freq)

    EDIT: probabilmente c'è anche qualche altro errore, magari è meglio usare setTimeout anziché setInterval. Inoltre non capisco perché hai spezzettato lo script.
    Ultima modifica di KillerWorm; 14-06-2015 a 17:30
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  2. #2
    Salve, questo funziona solo per 2 evidenze, cioe:
    - la home page arriva sullo schermo con una fotografia estratta random, nel div di pertinenza;
    - dopo n secondi viene mostrata la seconda fotografia ma in una pagina interamente bianca (la home page in pratica e' sparita);
    - il loop e' terminato.
    Intanto:
    - penso che setinterval da solo non inneschi un loop infinito, penso che occorra codificare un loop gestito a programma;
    - mistero (almeno per me) che la seconda evidenza avvenga non nella home page ma per fatti suoi.
    Cordialita'.

  3. #3
    Salve, in assenza di interventi vorrei azzerare quanto scambiato finora e ripartire dall'inizio.
    Ripropongo il codice attualmente funzionante, ma solo nella sequenza dell'array.
    Vorrei invece un loop infinito con estrazione random.

    ...
    ...
    < script type="text/javascript"> <!--
    var ruotaimgs=new Array()
    function photoruota(){
    for (i=0;i<photoruota.arguments.length;i++){
    ruotaimgs[i]=new Image()
    ruotaimgs[i].src=photoruota.arguments[i]
    } }//-->
    < /script>
    ...
    ...
    <div id="parte2">
    <img src="img01.jpg" name="wimg">
    <script> <!--
    photoruota("img01.jpg","img02.jpg","img03.jpg","im g04.jpg","img05.jpg","img06.jpg");
    var freq=8000;
    var cntimg=0;
    function muovi(){
    if (!document.images)
    return;
    document.images.wimg.src=ruotaimgs[cntimg].src;
    window.status = cntimg+1;
    if (cntimg<ruotaimgs.length-1)
    cntimg++
    else
    cntimg=0;
    setTimeout("muovi()",freq);
    }
    muovi();//-->
    </script>
    </div>
    ...
    ...

    Gentilmente, non avendo molta esperienza, indicazioni semplici, grazie.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    function muovi(){
    	if (!document.images) return;
    	cntimg = Math.floor(Math.random()*ruotaimgs.length)
    	document.images.wimg.src=ruotaimgs[cntimg].src;
    	window.status = cntimg;
    	setTimeout("muovi()",freq);
    }
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Ma document.images è proprietario IE o è cross browser?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Non avendo come detto molta esperienza non capisco l'ultimo append, cosa vuol dire document.images è proprietario IE o è cross browser?
    Grazie

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Domanda rivolta a Bruno, per un mio dubbio
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Ringrazio BR1 per il suggerimento, c'e' solo un problema: mentre nel loop le immagini restano sulla pagina n secondi, non c'e' invece nessuna pausa tra la fotografia con la quale la home page arriva sullo schermo (img01 come da codice suindicato) e l'evidenza successiva originata dall'estrazione random, quindi il passaggio tra l'immagine fuori dal loop e la prima dal loop e' praticamente istantaneo e brutto a vedersi.
    Come poter far partire, nel div parte2, lo script js del loop indefinito n secondi dopo che lo statement <img> ha presentato la prima immagine?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Ti basta applicare il setTimeout anche alla prima chiamata al metodo "muovi"

Tag per questa discussione

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.