Banner cliccabili intercambiabili...

  • Creatore Discussione Creatore Discussione Mimmo82
  • Data di inizio Data di inizio

Mimmo82

Nuovo Utente
5 Set 2010
16
0
1
Buongiorno,

cerco di spiegarmi meglio, anche se non sono molto del "mestiere".

Ho un banner (in flash) nel mio sito che cliccando ti indirizza a una pagina da ma predefinita (ovvio...).

Ora la richiesta è: nello stesso banner (spazio material), è possibile far visualizzare altri flash linkabili; nel senso: il primo minuto vedro l'animazione X che mi dara la possibilità cliccando di andare al sito del signor X, e al secondo minuto nello stesso banner visualizzo l'animazione Z che cliccando mi indirizza al sito del signor Z...ovvio questo ciclico.

Allora ho creato/modificato qualche template che ho trovato in rete...e mi trovo in questa situazione :

Il JS l'ho creato cosi:
HTML:
function Banner(refreshTime, width, height, altText, start, random){
    this.objName = "bannerAd" + (Banner.count++);
    eval(this.objName + "=this");
    if (!refreshTime) this.refreshTime = 5000; else this.refreshTime = refreshTime*1000;
    if (!width) this.width = 460; else this.width = width;
    if (!height) this.height = 68; else this.height = height;
    if (random == null) this.random = 1; else this.random = random;
    this.altText = altText;
    this.ads = [];
    if (start) this.currentAd = start-1; else start = null;
    this.mySize = 0;

    this.Ad = function(src, href, target, mouseover) {
        var tempImage = new Image();
        tempImage.src = src;
        this.ads[this.mySize] = new Object();
        var ad = this.ads[this.mySize];
        ad.src = src;
        if (typeof(target) == "undefined" || target == null) ad.target = "_self"; else ad.target = target;
        ad.href = href;
        ad.mouseover = mouseover;
        this.mySize++;
    }

    this.link = function(){
        var    ad = this.ads[this.currentAd];
        if (ad.target == "_self"){
            location.href = ad.href;
        }
        else if (ad.target == "_blank" || ad.target == "_new"){
            open(ad.href,this.objName + "Win");
        }
        else top.frames[ad.target].location.href = ad.href;
    }

    this.showStatus = function(){
        var ad = this.ads[this.currentAd];
        if (ad.mouseover) status = ad.mouseover;
        else status = ad.href;
    }

    this.randomAd = function(){
        var n;
        do { n = Math.floor(Math.random() * (this.mySize)); } 
        while(n == this.currentAd);
        this.currentAd = n;
    }

    this.output = function(){
        var tempCode = "";
        if (this.mySize > 1){
            if (this.currentAd == null) this.randomAd();
            if (this.currentAd >= this.mySize) this.currentAd = this.mySize - 1;
            tempCode = '<a href="javascript:'+this.objName+'.link();"';
            tempCode += ' onMouseOver="' + this.objName + '.showStatus(); return true"';
            tempCode += ' onMouseOut="status=\'\';return true">';
            tempCode += '<img src="' + this.ads[this.currentAd].src + '" width="' + this.width;
            tempCode += '" name="' + this.objName + 'Img" height="' + this.height + '" ';
            if (this.altText) tempCode += 'alt="'+this.altText + '" ';
            tempCode += 'border="0" /></a>';
            document.write(tempCode);
            this.nextAd();
        } else document.write("Error: two banners must be defined for the script to work.");
    }

    this.newAd = function(){
        if (!this.random){    
            this.currentAd++;
            if (this.currentAd >= this.mySize)
               this.currentAd = 0;
        }
        else {
            this.randomAd();
        }
        this.nextAd();
    }

    this.nextAd = function(){
        document.images[this.objName+ 'Img'].src = this.ads[this.currentAd].src;
        setTimeout(this.objName+'.newAd()',this.refreshTime)
    }
}
Banner.count = 0;

Mentre l'html è questo:

HTML:
<html>
<head>

<script src="bannerad3.js" type="text/javascript"></script>

</head>

<body >

<script type="text/javascript">
myAd = new Banner( 3, 468, 60, "Clicca", 1, 0 );
myAd.Ad( "ban1.gif", "http://www.google.it", null, "Ciao!" );
myAd.Ad( "ban2.gif", "http://www.ciao.it", null, "Testo" );
myAd.output();
</script>





</body>
</html>


...che con i gif funziona alla perfezione, diversamente se prendo in considerazione il tag object di flash; non mi "colora" il testo e quindi capisco che non accetta la modifica.

Come posso risolvere?!
 

Discussioni simili