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

    Un JS che "a me" non funziona...

    Salve,
    ho trovato in Rete questo Javascript.
    Parte dell'head
    codice:
    <script type="text/javascript"> 
    function ShowAndHide(id1,id2){ 
    if(document.getElementById){ 
     el1=document.getElementById(id1); 
     el2=document.getElementById(id2); 
     if(el1.style.display=="none"){ 
     el1.style.display="block"; 
     el2.style.display="none"; 
     } 
     else{ 
     el1.style.display="none"; 
     el2.style.display="block"; 
     } 
     } 
    } 
    </script>
    Parte del body
    codice:
    <div id="mostra"> 
    Mostra 
    </div> 
    <div id="nascondi"> 
    Nascondi
    
    Testo da visualizzare cliccando</div>
    Sul sito dove l'ho trovato i link "Mostra" e "Nascondi" sono alternativi in base al clic avvenuto o meno, mentre a me (su Firefox 3), al primo caricamento della pagina, appaiono entrambi, e non nascondono il testo!
    Devo cliccare su "Mostra" affinché lo script inizi a comportarsi correttamente.
    Come mai? Può dipendere dal fatto che la pagina è in locale? Non vorrei mettere online pagine "pasticciate".

  2. #2
    No, dipende dal fatto che non hai applicato un stile alla pagina in modo che il div con id="nascondi" sia invisibile al caricamento.
    Devi usare la regola di CSS:

    div#nascondi{
    display:none;
    }

  3. #3
    Originariamente inviato da artorius
    No, dipende dal fatto che non hai applicato un stile alla pagina in modo che il div con id="nascondi" sia invisibile al caricamento.
    Devi usare la regola di CSS:

    div#nascondi{
    display:none;
    }
    Yeeee! Funziona!

    Grazie!

  4. #4
    Ehm, avrei bisogno di far apparire testo nascosto in più parti della pagina, indipendentemente l'una dall'altra... Si può fare?
    Se applico lo stesso codice altrove, mi visualizza sempre il primo testo nascosto, come se avessi cliccato sul primo "Mostra".

  5. #5
    'spetta. Cos'è che vorresti fare?

  6. #6
    La situazione della pagina è questa...

    Tabella con l'indice degli articoli, linkati con tag
    - Articolo 1 (<a name="01">): Titolo
    Inizio testo
    Link per fare apparire il resto dell'articolo 1.
    - Articolo 2 (<a name="02">): Titolo
    Inizio testo
    Link per fare apparire il resto dell'articolo 2.
    ...
    - Articolo 8 (<a name="08">): Titolo
    Inizio testo
    Link per fare apparire il resto dell'articolo 8.

    Siccome ogni articolo è piuttosto lungo, attualmente sono presenti le prime 10 righe di ciascuno, e tramite uno javascript faccio caricare, se l'utente clicca, l'intero articolo in una finestra pop-up. Siccome questa finestra pop-up ha un comportamento che dipende dalle impostazioni del browser dell'utente, vorrei sbarazzarmene.

    Ora, lo JS va benissimo per il primo articolo, ma se lo ripropongo per l'articolo 2, mi ignora completamente il testo racchiuso tra i <div> appositi e mi carica sempre il testo dell'articolo 1, come se cliccassi il link di quest'ultimo. Funzionamento ovviamente inutile.

    Ovviamente la pagina dovrebbe essere predisposta per l'inserimento di articoli ulteriori, almeno fino a 10, poi provvederei ad aprire una seconda pagina con l'inizio dei nuovi articoli che verranno prodotti...

  7. #7
    beh, questo è dato dal fatto che lo script usa gli ID non i nomi o altro. Devi inserire ID diversi per ogni articolo e modificare le chiamate allo script con gli id corrispondenti alla parte ce vuoi usare.

  8. #8
    Cioè devo cambiare gli ID
    codice:
    <div id="mostra"> 
    Mostra 
    </div> 
    <div id="nascondi"> 
    Nascondi
    
    Testo da visualizzare cliccando</div>
    con
    codice:
    <div id="mostra01"> 
    Mostra 
    </div> 
    <div id="nascondi01"> 
    Nascondi
    
    Testo da visualizzare cliccando</div>
    ed indicizzarli tutti fino a 8?

  9. #9

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 © 2026 vBulletin Solutions, Inc. All rights reserved.