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

    Cambiare banner ogni 5 secondi

    Ho realizzato uno script che permette di selezionare un banner random da un array di banner, ad ogni reload di pagina.
    Ora volevo creare uno script che ogni 5 secondi se la pagina non è stata ricaricata, cambi automaticamente il banner, visualizzando il successivo nella lista dell'array o semplicemente ripescandone uno a caso, ma nn ci riesco...

    Questo è lo script creato fin'ora, mi serve un aiutino su come continuare:
    codice:
    var path = "http://"; // Percorso assoluto della cartella dei banner
    
    var Banners = new Array();
    Banners[0] = new Array("http://www.**.it", "descrizione", path+"**.jpg");
    Banners[1] = new Array("http://**.org", "descrizione", path+"**.gif");
    
    function Stampa()
    {
    	// Crea un numero a caso e seleziona il banner con quel numero
    	var Num = Math.round(Math.random() * (Banners.length - 1));
    	var Banner = Banners[Num];
    	
    	document.write('[img]'+Banner[2]+'[/img]');
    }
    Poi nella pagina, dove voglio far apparire il banner scrivo: Stampa(); sempre tra tag script.

    Ho provato anche con il setinterval() ma quando mi cambia il banner, mi apre una nuova pagina con dentro solo il banner nuovo.

    Grazie.
    Riko87

    Chi sa aiutarmi?
    My Web Site: www.wowwiki.it | under development

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    apre un nuovo documento perche' richiami document.write a documento gia' renderizzato,
    mentre quando lo richiami la prima volta, run-time, scrive nel documento corrente

    mantenendo il tutto il piu' semplice possibile,
    in qualche modo devi poter risalire al link o all' immagine che fai scrivere la prima volta al termine della temporizzazione
    quindi per comodita' assegna un id all' immagine e fai riferimento al link come suo parentNode
    codice:
    function Stampa()
    {
    	// Crea un numero a caso e seleziona il banner con quel numero
    	var Num = Math.round(Math.random() * (Banners.length - 1));
    	var Banner = Banners[Num];
    
    	if(!document.getElementById('mioBanner')){
    		document.write('[img]'+Banner[2]+'[/img]');
    		setInterval(Stampa,5000);
    	}
    	else {
    		var imgBanner=document.getElementById('mioBanner');
    		imgBanner.src=Banner[2];
    		imgBanner.alt=Banner[1];
    		imgBanner.parentNode.href=Banner[0];
    	}
    
    }
    ciao

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    var path = "http://"; // Percorso assoluto della cartella dei banner
    
    var Banners = new Array();
    Banners[0] = new Array("http://www.**.it", "descrizione", path+"**.jpg");
    Banners[1] = new Array("http://**.org", "descrizione", path+"**.gif");
    
    function Stampa()
    {
    	// Crea un numero a caso e seleziona il banner con quel numero
    	var Num = Math.round(Math.random() * (Banners.length - 1));
    	var Banner = Banners[Num];
    	
    	document.getElementById('spaziobanner').innerHTML='[img]'+Banner[2]+'[/img]';
    setInterval(function(){Stampa()},5000)
    }
    e nella pagina inserisci un div con id <div id="spaziobanner"></div> dove vuoi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Grazie ragazzi, funziona alla perfezione..
    per far comprendere anche ad eventuali altri utenti, posto il codice completo.
    codice:
    var path = "http://www.***.it/images/advertise/"; // Percorso assoluto della cartella dei banner
    
    var Banners = new Array();
    Banners[0] = new Array("http://www.**.it", "desc", path+"46860.jpg");
    Banners[1] = new Array("http://***.org", "desc", path+"46860.gif");
    
    function StampaBanner()
    {	
    	// Crea un numero a caso e seleziona il banner con quel numero
    	var Num = Math.round(Math.random() * (Banners.length - 1));
    	var Banner = Banners[Num];
    	
    	if(!document.getElementById('advBanner'))
    	{
    		document.write('[img]'+Banner[2]+'[/img]');
    		setInterval("StampaBanner()",10000);
    	}
    	else
    	{
    		var advBanner = document.getElementById('advBanner');
    		advBanner.src=Banner[2];
    		advBanner.alt=Banner[1];
    		advBanner.parentNode.href=Banner[0];
    	}
    }
    Grazie ancora.
    Riko87
    My Web Site: www.wowwiki.it | under development

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 © 2025 vBulletin Solutions, Inc. All rights reserved.