Jump to content
View in the app

A better way to browse. Learn more.

AdvAnced Studios Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Buonagiorno a tutti, sono nuovo del forum e spero di non aver sbagliato sezione [48]

 

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 [5]

 

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 [48]

 

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 [5]

 

 

Ciao Luca [5]

 

E se scrivessi :

 

<body onload="rotationauto(1)" onClick="rotation(1)">

non so mi è venuta in mente questa ... ci penso meglio se non funziona [48]

 

 

  • Author

Nada...già tentato [48]

 

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).

 

 

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]

 

}

 

 

  • Author

Simone, mi hai involontariamente dato l'idea per sistemare tutto [5]

 

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 [48]

 

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.