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

    Creare un link automatico a tutti i JPG

    Ragazzi, questo quesito è davvero tosto, però forse è risolvibile con JS.

    Dunque:
    E' possibile fare modo, tramite magari uno script che includo in una pagina, che tutti gli <img> che abbiamo per "src" un file .jpg vengano contornati di un bel "<a href=...", dove per attributo href c'è il nome dello stesso file?

    In pratica vorrei fare in modo che tutte le immagini possano essere automaticamnte aperte sigolarmente con un clic. Ma questo dovrebbe avvenire solo per le jpg.

    E' possibile farlo in automatico, oppure c'è bisogno almeno di un attributo onClick nel tag?

    Spero di essere stato chiaro.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: il codice di sotto SEMBRA funzionare. Spero che lo guardino altri per eventualmente correggerlo.
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function window_onload() 
    {
        var immagini = document.images;
        for(var i = 0; i < immagini.length; i++)
        {
            var immagine = immagini[i];
            var src = immagine.src;
            if(Right(src, 4).toLowerCase() == ".jpg")
            {
                var a = document.createElement("a");
                a.setAttribute("href", src);
                a.setAttribute("target", "_blank");
                immagine.parentNode.insertBefore(a, immagine);
                a.appendChild(immagine);
            }
        }
    }
    
    function Right(str, n)
            /***
                    IN: str - the string we are RIGHTing
                        n - the number of characters we want to return
    
                    RETVAL: n characters from the right side of the string
            ***/
            {
                    
                    
                    if (n <= 0)     // Invalid bound, return blank string
                       return "";
                    else if (n > String(str).length)   // Invalid bound, return
                       return str;                     // entire string
                    else { // Valid bound, return appropriate substring
                       var iLen = String(str).length;
                       return String(str).substring(iLen, iLen - n);
                    }
            }
    
    // ]]>
    </script>
    </head>
    <body onload="return window_onload()">
        [img]../immagini/CapoPecora.JPG[/img]
        [img]../immagini/pulsanteplus.gif[/img]
        [img]../immagini/Sfumato_verticale_celeste_bianco.bmp[/img]
    </body>
    </html>
    Pietro

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ho guardato il sorgente generato e sembra che vada: tutte le immagini.jpg sono incluse in <a>
    Pietro

  4. #4

    Ultima chicca

    Grazie mille,
    un ultima cosa però...

    Vorrei far apparire una lente di ingrandimento come cursore a queste foto e posso farlo con i fogli di style.
    Sulla base del codice postato prima, dovrei usare una riga di codice tipo:

    codice:
    immagine.setAttribute("style", "cursor:url(images/lente.cur)");
    Ma dove?

  5. #5
    Dopo questa riga ad esempio
    var immagine = immagini[i];

    Per non sovrascrivere lo stile però è meglio se scrivi così:
    immagine.style.cursor="url(images/lente.cur)";

    PS:
    Cio che chiedi si può fare anche col css, ma solo con Firefox e non ricordo forse Opera ( di certo non con IE ): usando i nuovi selettori e content si può fare questo e altro...

  6. #6

    purtroppo...

    Purtroppo non funziona.

    Inoltre il codice dovrebbe rientrare nella condizione if, visto che voglio che succeda solo per il jpg. Altrimenti avrei risolto con un semplice css.

    Qualcuno può aiutarmi?

    Grazie.

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.