• User

    Come modificare js per pagine random?

    Ciao!

    Scrivo per chiedere il vostro aiuto, se possibile.

    Sulle pagine del mio sito utilizzo uno script, che riporto sotto, per caricare immagini casuali a ciascuna delle quali è associato un link diverso... lo script funziona benissimo, purtroppo però lo script carica le pagine collegate nella finestra iniziale.

    Vorrei invece che SOLO UNA delle immagini aprisse il collegamento in una nuova finestra (target blank), ad esempio l'immagine 03, ma non sono capace di programmare...

    Qualcuno mi può aiutare?

    Grazie, un abbraccio
    😄 Fabiana

    ===

    function random_imglink(){
    var myimages=new Array()
    myimages[1]="_images/01.jpg"
    myimages[2]="_images/02.jpg"
    myimages[3]="_images/03.jpg"

    var imagelinks=new Array()
    imagelinks[1]="link01.html"
    imagelinks[2]="link02.html"
    imagelinks[3]="link03.html"

    var ry=Math.floor(Math.random()*myimages.length)
    if (ry==0)
    ry=1
    document.write('<a href='+'"'+imagelinks[ry]+'"'+'><img src="'+myimages[ry]+'" border=0></a>')
    }
    random_imglink()


  • User

    Ciao Fabiana,

    logicamente lo script è molto semplice, compone un array con gli indici che vanno da 1 a 3 e poi genera un numero casuale, perl'appunto da 1 a 3 con cui può richiamare quindi il contenuto di uno degli indici.

    Per cui ti basta aggiungere un semplice controllo, e ponendo un esempio per l'immagine numero tre, la tua funzione sarà...

    function random_imglink()
    {
      var myimages=new Array()
      myimages[1]="_images/01.jpg"
      myimages[2]="_images/02.jpg"
      myimages[3]="_images/03.jpg"
    
      var imagelinks=new Array()
      imagelinks[1]="link01.html"
      imagelinks[2]="link02.html"
      imagelinks[3]="link03.html"
    
      var ry=Math.floor(Math.random()*myimages.length)
      if (ry==0) ry=1
    
      var trgt = (ry == 3)? ' target="_blank"' : '';
    
      document.write('<a href='+'"'+imagelinks[ry]+'"'+trgt+'><img src="'+myimages[ry]+'" border=0></a>')
    }
    
    random_imglink()
    

    In sostanza ho aggiunto questo blocco qui:

    var trgt = (ry == 3)? ' target="_blank"' : '';

    dove indico che se il valore casuale restituito è 3 (ovvero, corrispondente all'indice dell'immagine numero tre) memorizza il target in una nuova finestra.

    :ciauz:


  • User

    Grazie!!
    Vado a provare subito!

    Un abbraccio,
    🙂 Fabiana