Posted November 12, 200916 yr Buonagiorno a tutti, sono nuovo del forum e spero di non aver sbagliato sezione Stò buttando giù un piccolo JS per gestire la rotazione di 3 contenuti, in pratica il JS nasconde usando la proprietà visibility dei css i due contenuti da nascondere, nel codice sotto la rotazione è automatica e parte da sola al caricamento della pagina usando un classico <body onload="rotationauto(1)" >, il sistema ha 3 bottoni cliccabili che mostrano i contenuti usando un JS a sua volta per la selezione manuale, il problema è che l'autorotazione non si ferma, esempio - Autorotazione al contenuto 2 - Clicco su mostra 1 - L'autorotazione non si ferma e dopo mostra il contenuto 3 Capite che non va bene, deve riprendere a girare da solo il sistema dal contenuto 2, ovvero quello subito dopo la selezione manuale Il JS è l'anti ottimizzazione totale, ma così potete capire meglio la mia idea...la seleziona automatica invece avviene richiamando con il click la funzione <a href="javascript:rotation('1');">, che è un semplice script che varia la visualizzazione del contenuto. Per farla ancora più semplice, l'ideale sarebbe far bloccare lo script di autorotazione, spostarlo al valore che serve e farlo ripartire function rotationauto(valore) { if(valore == 1) { // Immagine contenuto sfondo document.getElementById("last-cont-home-img-1").style.visibility="visible"; document.getElementById("last-cont-home-img-2").style.visibility="hidden"; document.getElementById("last-cont-home-img-3").style.visibility="hidden"; // Immagine contenuto testo document.getElementById("last-cont-home-txt-1").style.visibility="visible"; document.getElementById("last-cont-home-txt-2").style.visibility="hidden"; document.getElementById("last-cont-home-txt-3").style.visibility="hidden"; // Immagine contenuto bottone document.getElementById("last-cont-home-button-1").style.backgroundImage="url('./img/last_sel_auto.png')"; document.getElementById("last-cont-home-button-2").style.backgroundImage="url('./img/opacity.png')"; document.getElementById("last-cont-home-button-3").style.backgroundImage="url('./img/opacity.png')"; setTimeout('rotationauto(2)',9000); } if(valore == 2) { // Immagine contenuto sfondo document.getElementById("last-cont-home-img-2").style.visibility="visible"; document.getElementById("last-cont-home-img-1").style.visibility="hidden"; document.getElementById("last-cont-home-img-3").style.visibility="hidden"; // Immagine contenuto testo document.getElementById("last-cont-home-txt-2").style.visibility="visible"; document.getElementById("last-cont-home-txt-1").style.visibility="hidden"; document.getElementById("last-cont-home-txt-3").style.visibility="hidden"; // Immagine contenuto bottone document.getElementById("last-cont-home-button-2").style.backgroundImage="url('./img/last_sel_auto.png')"; document.getElementById("last-cont-home-button-1").style.backgroundImage="url('./img/opacity.png')"; document.getElementById("last-cont-home-button-3").style.backgroundImage="url('./img/opacity.png')"; setTimeout('rotationauto(3)',9000); } if(valore == 3) { // Immagine contenuto sfondo document.getElementById("last-cont-home-img-3").style.visibility="visible"; document.getElementById("last-cont-home-img-1").style.visibility="hidden"; document.getElementById("last-cont-home-img-2").style.visibility="hidden"; // Immagine contenuto testo document.getElementById("last-cont-home-txt-3").style.visibility="visible"; document.getElementById("last-cont-home-txt-1").style.visibility="hidden"; document.getElementById("last-cont-home-txt-2").style.visibility="hidden"; // Immagine contenuto bottone document.getElementById("last-cont-home-button-3").style.backgroundImage="url('./img/last_sel_auto.png')"; document.getElementById("last-cont-home-button-1").style.backgroundImage="url('./img/opacity.png')"; document.getElementById("last-cont-home-button-2").style.backgroundImage="url('./img/opacity.png')"; setTimeout('rotationauto(1)',9000); } } Grazie a tutti, siete un bellissimo forum
November 12, 200916 yr Ciao Luca E se scrivessi : <body onload="rotationauto(1)" onClick="rotation(1)"> non so mi è venuta in mente questa ... ci penso meglio se non funziona
November 12, 200916 yr Author Nada...già tentato La funzione rotation() che richiamo con il click è semplicemente un'altra funzione che sposta la visualizzazione verso un altro contenuto, il problema è appunto bloccare la funzione rotationauto e farla poi ripartire da zero usando l'istruzione rotationauto(valore successivo al mio click, quindi 1 se 3, 2 se 1 e così via).
November 12, 200916 yr Altra soluzione : <body onload="rotationauto(1,0)" > /* Metti di avere i 3 link del tuo esempio */ <a href="javascript:rotationauto('1,1');"> <a href="javascript:rotationauto('2,1');"> <a href="javascript:rotationauto('3,1');"> function rotationauto(valore,clic) { if (clic==1) rotation(valore); [lascia il resto uguale] }
November 12, 200916 yr Author Simone, mi hai involontariamente dato l'idea per sistemare tutto Riscritto lo script, snellito e ottimizzato, ora esegue tutto senza problemi: - Autorotazione - Spostamento della visualizzazione del contenuto su quello cliccato - Ripresa automatica della rotazione al contenuto successivo a quello cliccato Devo solo correggere un difetto di somma delle rotazioni (con il click infatti non si blocca realmente quella che sta andando ma viene aggiunta una nuova, ma a questo punto ci siamo quasi function rotationauto(divVis, divHid, divHid2) // Visibile - Nascosto - Nascosto { // Gestione Sfondo document.getElementById("last-cont-home-img-"+divVis+"").style.visibility="visible"; document.getElementById("last-cont-home-img-"+divHid+"").style.visibility="hidden"; document.getElementById("last-cont-home-img-"+divHid2+"").style.visibility="hidden"; // Gestione Titolo Contenuto document.getElementById("last-cont-home-txt-"+divVis+"").style.visibility="visible"; document.getElementById("last-cont-home-txt-"+divHid+"").style.visibility="hidden"; document.getElementById("last-cont-home-txt-"+divHid2+"").style.visibility="hidden"; // Gestione Bottone Cliccabile document.getElementById("last-cont-home-button-"+divVis+"").style.backgroundImage="url('./img/last_sel_auto.png')"; document.getElementById("last-cont-home-button-"+divHid+"").style.backgroundImage="url('./img/opacity.png')"; document.getElementById("last-cont-home-button-"+divHid2+"").style.backgroundImage="url('./img/opacity.png')"; // Auto Rotazione setTimeout("rotationauto("+divHid+", "+divHid2+", "+divVis+")",9000); } I bottoni richiamano semplicemente la funzione variando le tre variabili <a href="javascript:rotationauto('1','2','3');"> // Visibile - Nascosto - Nascosto
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now