Visualizzazione risultati 1 fino 5 di 5

Discussione: Spoiler.. (sostituituire un link con una immagine..)

  1. #1
    Guest

    Question Spoiler.. (sostituituire un link con una immagine..)

    Allora.. In rete ho trovato questo codice:-
    Inserendo nella pagina questo coso:-
    Codice:
    <script type="text/javascript" src="http://folliacity.netsons.org/noncancellare/showhide.js"></script>
    dove si trovano queste due righe di codice comparià un link che servirà per aprire e chiudere lo spoiler
    Codice:
    <div id="commenti" class="toggle">
    <p> testo </p>
    </div>
    Fino a qui è tutto ok, ma il contenuto del file showhide.js è il seguente:-
    Codice PHP:
    if(document.getElementById && document.createElement){
    document.write('<style type="text/css">*.toggle{display:none}</style>');
    window.onload=function(){
    /*le modifiche allo script vanno solo fatte qui*/
    Attiva("commenti","Mostra il testo","Nascondi il testo");
    Attiva("immagine","visualizza immagine","nascondi immagine");
    }
    }

    function
    Attiva(id,s1,s2){
    var
    el=document.getElementById(id);
    el.style.display="none";
    var
    c=document.createElement("div");
    var
    link=document.createElement("a");
    link.href="#";
    link.appendChild(document.createTextNode(s1));
    link.onclick=function(){
    link.firstChild.nodeValue = (link.firstChild.nodeValue==s1) ? s2 : s1;
    el.style.display=(el.style.display=="none") ? "block" : "none";
    return(
    false);
    }
    c.appendChild(link);
    el.parentNode.insertBefore(c,el);
    }
    Nella riga di codice
    Codice PHP:
    Attiva("commenti","Mostra il testo della canzone","Nascondi il testo della canzone");
    è possibile sostituire le scritte "Mostra il testo" e "Nascondi il testo" con due immagini?
    Grazie in anticipo..
    Ultima modifica di folliacity : 15-07-2010 alle ore 12.58.28

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Puoi provare così: all'interno della funzione Attiva:

    - sostituisci la sesta riga con questa:
    Codice:
    link.innerHTML = s1;
    - sostituisci l'ottava riga con questa:
    Codice:
    link.innerHTML = (link.innerHTML == s1) ? s2 : s1;
    Puoi quindi chiamare la funzione Attiva inserendo i tag HTML delle immagini che vuoi inserire, e questi verranno inseriti correttamente...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Non va..

    Codice PHP:
    if(document.getElementById && document.createElement){
    document.write('<style type="text/css">*.toggle{display:none}</style>');
    window.onload=function(){
    /*le modifiche allo script vanno solo fatte qui*/
    Attiva("commenti",<img src="http://i70.photobucket.com/albums/i103/tuffdsc/Italia%20Canora/mlt_f.jpg">,<img src="http://i70.photobucket.com/albums/i103/tuffdsc/Italia%20Canora/mlt_f.jpg">);
    link.innerHTML = s1;
    }
    }

    function
    Attiva(id,s1,s2){
    link.innerHTML = (link.innerHTML == s1) ? s2 : s1;
    el.style.display="none";
    var
    c=document.createElement("div");
    var
    link=document.createElement("a");
    link.href="#";
    link.appendChild(document.createTextNode(s1));
    link.onclick=function(){
    link.firstChild.nodeValue = (link.firstChild.nodeValue==s1) ? s2 : s1;
    el.style.display=(el.style.display=="none") ? "block" : "none";
    return(
    false);
    }
    c.appendChild(link);
    el.parentNode.insertBefore(c,el);
    }

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Hai fatto un po' di confusione, questo è il codice corretto.
    Codice PHP:
    if(document.getElementById && document.createElement){
    document.write('<style type="text/css">*.toggle{display:none}</style>');
    window.onload=function(){
    /*le modifiche allo script vanno solo fatte qui*/
    Attiva("commenti","<img src=\"http://i70.photobucket.com/albums/i103/tuffdsc/Italia%20Canora/mlt_f.jpg\" />", "<img src=\"http://i70.photobucket.com/albums/i103/tuffdsc/Italia%20Canora/mlt_f.jpg\" />");
    }
    }

    function
    Attiva(id,s1,s2){
    var
    el=document.getElementById(id);
    el.style.display="none";
    var
    c=document.createElement("div");
    var
    link=document.createElement("a");
    link.href="#";
    link.innerHTML = s1;
    link.onclick=function(){
    link.innerHTML = (link.innerHTML == s1) ? s2 : s1;
    el.style.display=(el.style.display=="none") ? "block" : "none";
    return(
    false);
    }
    c.appendChild(link);
    el.parentNode.insertBefore(c,el);
    }
    Ultima modifica di karl94 : 15-07-2010 alle ore 22.08.13

  5. #5
    Guest

    Predefinito

    grazie.. :)

    edit: il contenuto del div è molto pesante e quindi rallenta il caricamento della pagina.. è possibile far caricare il contenuto all'apertura?
    Ultima modifica di folliacity : 16-07-2010 alle ore 12.10.07

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •