Visualizzazione dei risultati da 1 a 5 su 5

Discussione: aiuto con banner js

  1. #1

    aiuto con banner js

    Ciao a tutti, ho iniziato questa discussione
    in un altra sezione del forum poi siamo entrati nel js e sono a chiedere aiuto per questo:
    Ho un javascript che mi fa una rotazione continuata
    delle immagini dei 4 banner e tutto è ok,
    ma il problema è che mi parte sempre dal primo e non
    è mai casuale, mi spego meglio, ho 4 link con img
    di riferimento banner-0.gif, banner-a.gif etc..

    quando avvio la pagina sarebbe perfetto perchè mi
    ruota tutti i banner, il problema è che mi parte sempre
    dal banner legato alla gif banner-0!
    cioè al refresh della pagina mi parte sempre
    dallo stesso!!! questo è lo script:

    <script language="javascript"><!--
    function loadpage() {
    browver= parseInt(navigator.appVersion);
    browtype = navigator.appName;
    browsertype = "old";
    if (browtype == "Netscape" && !(browver < 3)) {
    browsertype = "new";
    }
    if (browtype == "Microsoft Internet Explorer" && !(browver < 4)) {
    browsertype = "new";
    }
    if (browsertype == "new") {
    thetimer = setTimeout("changeimage()", 5000);
    banneradcode = 0;
    listofimages = new Array(4);
    listofimages[0] = new Image(243,89)
    listofimages[0].src = "banner-0.gif"
    listofimages[1] = new Image(243,89)
    listofimages[1].src = "banner-1.gif"
    listofimages[2] = new Image(243,89)
    listofimages[2].src = "banner-2.gif"
    listofimages[3] = new Image(243,89)
    listofimages[3].src = "banner-3.gif"
    }
    }

    function changeimage(){
    if (browsertype == "new") {
    banneradcode = banneradcode + 1
    if (banneradcode == "4") {
    banneradcode = 0
    }
    imagesource = "banner-" + banneradcode + ".gif"
    window.document.bannerad.src = imagesource
    thetimer = setTimeout("changeimage()", 7000);
    }
    else if (browsertype == "old") {
    }
    }

    function changepage() {
    if (browsertype == "new") {
    if (banneradcode == 0) {
    newlocation = "http://www.pippo.it"
    }
    else if (banneradcode == 1) {
    newlocation = "http://www.pluto.it"
    }
    else if (banneradcode == 2) {
    newlocation = "http://www.paperino.it"
    }
    else if (banneradcode == 3) {
    newlocation = "http://www.paperone.it"
    }
    location = newlocation
    }
    else if (browsertype == "old") {
    location = "http://www.pippo.it"
    }
    }
    // --></script>


    come posso fare in modo che il primo sia casuale ogni volta???
    e non parta sempre da banner-0.gif???

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se vuoi che solo il primo banner sia random (e poi venga seguito l' ordine) prova così
    codice:
    ...
    if (browsertype == "new") { 
    thetimer = setTimeout("changeimage()", 5000); 
    listofimages = new Array(4); 
    listofimages[0] = new Image(243,89) 
    listofimages[0].src = "banner-0.gif" 
    listofimages[1] = new Image(243,89) 
    listofimages[1].src = "banner-1.gif" 
    listofimages[2] = new Image(243,89) 
    listofimages[2].src = "banner-2.gif" 
    listofimages[3] = new Image(243,89) 
    listofimages[3].src = "banner-3.gif"
    
    banneradcode = Math.floor(listofimages.length*Math.random()); 
    } 
    ...
    ciao

  4. #4
    ho provato, ma il primo banner mi viene sempre lo stesso...
    anche eperchè nel <body> del documento nel punto dove ho il banner
    ho :


    <a href="javascript:changepage()"><img src="banner-0.gif"

    cosa devo mettere perchè non sia "banner-0.gif" ma uno qualsiasi dei banner??

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    a questo punto ti propongo una modifica sostanziale, tutto lo sniffer x determinare il browser nello script che hai postato può fare + male che altro.

    Copia il codice che appare nella textarea premendo il tastino quote in basso a destra
    codice:
    <html> 
    <head> 
    <title>banner [solo il primo random]</title>
    <script type="text/javascript">
    tot_ban=4; // totale dei banner da ruotare
    timer=2000; // rotazione ogni 2 sec.
    
    listofimages=new Array(); 
    for(ban=0;ban<tot_ban;ban++){
    	listofimages[ban]=new Image();
    	listofimages[ban].src='banner-'+ban+'.gif';	
    }
    
    sito=new Array();
    sito[0]="http://www.pippo.it"
    sito[1]="http://www.pluto.it"
    sito[2]="http://www.paperino.it"
    sito[3]="http://www.paperone.it"
    
    num_ban=Math.floor(tot_ban*Math.random()); 
    
    function changepage() { 
    window.open(sito[num_ban],'_blank','toolbar=1,menubar=1,status=1,location=1,scrollbars=1,resizable=1');
    } 
    
    function changeimage() {
    num_ban=(num_ban==tot_ban-1)?0:num_ban+1;
    document.images['banner'].src=listofimages[num_ban].src
    setTimeout('changeimage()', timer)
    }
    
    function writebanner() {
    document.write('[img]'+listofimages[num_ban].src+'[/img]');
    setTimeout('changeimage()', timer)
    }
    </script>
    </head>
    <body>
    <script type="text/javascript">writebanner();</script>
    </body> 
    </html>
    ciao

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.