|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2008
Messaggi: 729
|
HTML&JavaScript
Ciao a tutti, stò cercando di fare una semplice pagina web che scorra le immagini in modo sequenziale; in oltre però vorrei che al cambo di immagini ci sia un effetto e in questo caso dovrebbe essere una dissolvenza, il problema è che non riesco, secondo voi cosa sbaglio?
<script type="text/javascript"> var i=parseInt(1); //indice immagini var play=false; //variabile bool sul bottone play/stop slideshow var temp; //controllo se play/stop function slideshow() { play=!play; if(play) sequenza(); } //funzione sequenza temporale function sequenza() { if(play) { document.images[0].style.MozOpacity = 1; temp=1; scompare(); document.immagine.src="immagine"+i+".jpg"; temp=9; appare(); } } function cambia() { i++; if(i==4) //4 Max i=0; document.images[0].style.MozOpacity = 1; setTimeout("sequenza()",2000); } function appare() { if(temp<10) { var x="."+temp; document.images[0].style.MozOpacity = x; temp++; setTimeout("scompare()",500); } else cambia(); } function scompare() { if(temp>0) { var x="."+temp; document.images[0].style.MozOpacity = x; temp--; setTimeout("appare()",500); } else cambia(); } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
non riesci....a fare cosa ?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2008
Messaggi: 729
|
non riesce a fare la dissolvenza, e non riesco a capire cosa ci sia di sbagliato nel codice
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
sei sicuro del funzionamento di questo assegnamento ?
Codice:
var x="."+temp; non mi sembri un buon programmatore... ci sono degli "errori" sintattici che mi lasciano a bocca aperta..tipo Codice:
play = !play if (i==4) i==0 personalmente ti consiglierei di leggere un buon manuale di C |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2008
Messaggi: 729
|
ogni nuova variabile come x in quel caso viene considerata una stringa e quindi posso fare quel tipo di assegnamento! ho anche rovato a verificarne la correttezza con degli alert quindi sono sicuro che funzioni.
per quanto riguarda play è una variabile bool e in quanto nel body ho un pulsante "play/stop" ogni volta che viene premuto devo cambiarne il valore. per cominciare o terminare lo slideshow. if(i==4) i=0; questo lo faccio perchè ho 4 immagini e siccome ogni volt che faccio partire la funzione incremento i, quando i arriva a 4 lo azzero. non ci trovo niente di strano |
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
Ciao , se non vuoi complicarti troppo la vita usa il slideshow di dojo
Quote:
![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
magari l'assegnamento javascript vuole che sia 0.123213213 e non solo .12312123
e magari poteva esserci qualche errore concettuale di progettazione visto che definisce var play=false poi ne cambia il valore, dopo di chè fa numerose valutazioni su quel booleano.. era solo un suggerimento... visto che sto lavorando su un progetto in puredata...carissimo linguaggio per cui 1.0 && 1.00 = 0 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ho capito la prima parte riguardante lo 0.xxx e .xxx...
Mi sembra l'uso normale quando devo cambiare stato ad una variabile booleana indipendentemente dal suo valore. La nega e l'assegna a se stessa invece di scrivere: Codice:
if(play == false) play = true; else play = false; |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
vabbè...sarà che non conosco molto javascript... ma a logica mi vien da pensare che un codice così generi più istanze di sequenza() ogni volta che si clicca su play...comunque, bando alle ciance
![]() seguendo la sequenza del programma mi pare di notare che.. Codice:
slideshow() | play = true | sequenza() | | temp = 1 | | scompare() | | | x = .1 | | | temp = 0 | | | appare() | | | | x = .0 | | | | temp = 1 | | | | scompare() credo ci sia la necessità di mettere dei cicli all'interno di appare e scompare.... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:57.