Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320

    link in immagine dinamico

    Ciao Ragazzi,

    ho questo tag in una pagina html

    [img]percorsoimg[/img]

    e tramite una funzione javascript vorrei avere questo risultato a Run-Time. Ovvero dopo il caricamento della pagina.

    [img]percorsoimg[/img]

    quale sarebbe un prototipo di funzione?? i metodi insertBefore() o insertAfter() potrebbero aiutare??

    Attendo vostre notizie! Ciao!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    window.onload=function(){
    	var imm=document.getElementById('idTuaImmagine');
    	var lnk=document.createElement('a');
    	lnk.setAttribute('href',imm.src);
    	lnk.appendChild(imm.cloneNode(false));
    	imm.parentNode.replaceChild(lnk,imm);
    }
    ciao

  3. #3
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320

    grazie!!

    Caro Xinod... SEI UNA POTENZA!!!

    grazie mille per lo script.... semplice, pulito, efficace!!!

    Grazie ancora, Ciao!!!

    ps: scusa una cosa... lo script in buona parte l'ho capito.. mi potresti spiegare le ultime 3 righe???

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: grazie!!

    codice:
    	// setta come href del link l' src dell' immagine
    	lnk.setAttribute('href',imm.src);
    	// appende al link un clone dell' immagine stessa
    	// false (ininfluente in questo caso: un' immagine non puo' avere figli) 
    	// vuol dire che non clona insieme all' elemento eventuali figli dello stesso
    	lnk.appendChild(imm.cloneNode(false));
    	// trai figli del padre dell' immagine, sostituisce l' immagine stessa con il link
    	imm.parentNode.replaceChild(lnk,imm);
    ciao

  5. #5
    Utente di HTML.it L'avatar di Vailfox
    Registrato dal
    Feb 2005
    Messaggi
    320
    Ciao Xinode,

    ho un'ultimo problema.
    Ho riadattato lo script che mi hai postato per il suo utilizzo con tutte le immagini che si trovano in una pagina e hanno id="foto".

    adesso, siccome le foto che vengono processate da questo script sono tante e un pò pesantucce, lo script si avvia solo dopo che queste vengono caricate tutte... appunto, dopo l'onload dell'oggetto window.

    ecco lo script

    window.onload = function() {

    var imm = document.getElementsByTagName("img");

    for(i=0;i<imm.length; i++) {
    if(imm.item(i).id == "foto") {
    var lnk = document.createElement('a');
    lnk.setAttribute('href', imm.item(i).src);
    lnk.setAttribute('rel', 'lightbox(progetto)');
    lnk.appendChild(imm.item(i).cloneNode(false));
    imm.item(i).parentNode.replaceChild(lnk, imm.item(i));
    }
    }
    }


    c'è un modo per avviare lo script al momento in cui viene aperta la pagina, ma quando ancora le immagini non sono state completamente caricate?? non so se hai capito....

    Attendo tuoi utilissimi consigli

    grazie mille!!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ora stai a mettere altra carne al fuoco e io non ho tempo
    tutte le immagini che si trovano in una pagina e hanno id="foto".
    questo e' sbagliato a priori, l' id e' univoco, piu' elementi non possono avere stesso id
    lnk.setAttribute('rel', 'lightbox(progetto)');
    questo cosa dovrebbe fare? pretendi di fare questo cambio e in piu' far scatenare lightbox al click? se cosi' fosse e' il caso di modificare lightbox,
    anche per processare il tutto prima che le immagini vengano completamente caricate

    altrimenti (e ripeto: se non hai questa fantasia di applicare pure lightbox) per non aspettare il completo caricamento del documento, ma solo l' alberatura DOM leggi qui
    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.