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

    Div a Comparsa/Scomparsa

    Buonasera,

    ho preso questo codice da qui:
    http://javascript.html.it/articoli/l...on-un-click/2/

    Vorrei sapere se č possibile che all'aprirsi di un DIV si chiuda quello aperto precedentemente.


    Grazie in anticipo =)

  2. #2
    Ecco il codice:

    <script type="text/javascript" language="javascript">
    function visualizza(id){
    if (document.getElementById){
    if(document.getElementById(id).style.display == 'none'){
    document.getElementById(id).style.display = 'block';
    }else{
    document.getElementById(id).style.display = 'none';
    }
    }
    }
    </script>



    <div id="testo"><a href="#" onclick="visualizza('immagine'); return false">
    Clicca qui per visualizzare l'immagine scoop</a></div>


    <div id="immagine" style="display:none">[img]immagine.jpg[/img]</div>

  3. #3
    Vi servono maggiori info??

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    quanti div sono presenti nella pagina?

  5. #5
    Per ora solo due DIV a comparsa. Ma in seguito arriverķ fino a 9. Perķ mi basta un codice anche per due soli div, poi cerco di adattarmi!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function visualizza(id){
        listDiv = document.getElementsByClassName("immagineClass");
        for(i=0;i<listDiv.length;i++){
            if(listDiv[i].style.display == 'block' && listDiv[i].id != id){
                listDiv[i].style.display = 'none';
            }
        }
        
        if(document.getElementById(id).style.display == 'none'){
            document.getElementById(id).style.display = 'block';
        }else{
            document.getElementById(id).style.display = 'none';
        }
    }​​​​
    Tutti i div da mostrare e nascondere devono avere l'attributo class valorizzato con immagineClass(o uno a tua scelta).

    p.s. il metodo getElementsByClassName non č crossbrowser(se non ricordo male non č supportato da <IE8)

  7. #7
    Prima di tutto grazie della risposta.

    Non riesco a farlo funzionare:


    codice:
    <script type="text/javascript" language="javascript">
    function visualizza(id){
        listDiv = document.getElementsByClassName("immagineClass");
        for(i=0;i<listDiv.length;i++){
            if(listDiv[i].style.display == 'block' && listDiv[i].id != id){
                listDiv[i].style.display = 'none';
            }
        }
        
        if(document.getElementById(id).style.display == 'none'){
            document.getElementById(id).style.display = 'block';
        }else{
            document.getElementById(id).style.display = 'none';
        }
    }​​​​
    </script>
    
    
    
    <div id="testo"><a href="#" onclick="visualizza('immagine'); return false">
    Clicca qui per visualizzare l'immagine scoop</a></div>
    
    
    <div id="immagine" style="display:none">[img]img.jpg[/img]</div>

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Se vuoi un consiglio: usa solo i css, senza javascript.

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Esempio</title>
    <style type="text/css">
    .espandibile {
    	display: none;
    }
    
    .espandibile:target {
    	display: block;
    }	
    </style>
    
    </head>
    <body>
    <ul>
    	[*]Apri div1
    	[*]Apri div2
    	[*]Apri div3
    	[*]Apri div4[/list]
    <div class="espandibile" id="esempio1">
    	
    
    Questo &egrave; il primo div</p>
    </div>
    <div class="espandibile" id="esempio2">
    	
    
    Questo &egrave; il secondo div</p>
    </div>
    <div class="espandibile" id="esempio3">
    	
    
    Questo &egrave; il terzo div</p>
    </div>
    <div class="espandibile" id="esempio4">
    	
    
    Questo &egrave; il quarto div</p>
    </div>
    </body>
    </html>

  9. #9
    Originariamente inviato da carlomarx
    Se vuoi un consiglio: usa solo i css, senza javascript.

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Esempio</title>
    <style type="text/css">
    .espandibile {
    	display: none;
    }
    
    .espandibile:target {
    	display: block;
    }	
    </style>
    
    </head>
    <body>
    <ul>
    	[*]Apri div1
    	[*]Apri div2
    	[*]Apri div3
    	[*]Apri div4[/list]
    <div class="espandibile" id="esempio1">
    	
    
    Questo &egrave; il primo div</p>
    </div>
    <div class="espandibile" id="esempio2">
    	
    
    Questo &egrave; il secondo div</p>
    </div>
    <div class="espandibile" id="esempio3">
    	
    
    Questo &egrave; il terzo div</p>
    </div>
    <div class="espandibile" id="esempio4">
    	
    
    Questo &egrave; il quarto div</p>
    </div>
    </body>
    </html>

    Grazie! E' molto pių semplice, facile da usare e modificabile rapidamente.

    Ho risolto.

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.