Visualizzazione dei risultati da 1 a 5 su 5

Discussione: JS apertura paragrafi

  1. #1

    JS apertura paragrafi

    Salve,
    con questo script apro i paragrafi al click del mouse, se clikko sul successivo paragrafo quello aperto si chiude, ma se clikko su quello aperto lui resta aperto.

    codice:
    <!--
    window.onload=montre;
    function montre(id) {
    var d = document.getElementById(id);
    	for (var i = 1; i<=15; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
    if (d) {d.style.display='block';}
    }
    //-->
    come posso modificarlo perchè si chiuda si quando clikko su unaltro paragrafo, ma che si chiuda anche se clikko sullo stesso?

    Grazie mille
    Paolo Monge
    Full Stack Web Developer & Strategist
    Come Nasce Un'idea

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ad esempio cosi`:
    codice:
    function montre(id) {
    var d = document.getElementById(id);
    if(!d) return false;
    if(d.style.display=='block') {
      d.style.display='none';
    } else {
    	for (var i = 1; i<=15; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
        d.style.display='block';
      }
    }
    
    window.onload=montre; // questo va messo dopo!!
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Si è perfetto grazie mille,

    se hai un attimo di tempo me lo commenti un pò? così lo capisco per la prossima volta.

    Grazie
    Paolo Monge
    Full Stack Web Developer & Strategist
    Come Nasce Un'idea

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    function montre(id) {
    var d = document.getElementById(id);
    definisce l'oggetto nella variabile

    if(!d) return false;
    se l'oggetto non esiste, esce direttamente

    if(d.style.display=='block') {
    d.style.display='none';
    se l'oggetto e` gia` visualizzato, lo nasconde

    } else {
    for (var i = 1; i<=15; i++) {
    loop su tutta una serie di oggetti (da 1 a 15)

    if (document.getElementById('smenu'+i))
    se esiste oggetto con id="smenuN" (n il numero del loop)

    {document.getElementById('smenu'+i).style.display= 'none';}
    Nasconde l'oggetto

    }
    d.style.display='block';
    visualizza l'oggetto il cui id e` stato passato

    }
    }

    PS la chiamata ad una funzione e` da farsi solo dopo aver definito una funzione.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    grazie ora è chiaro
    Paolo Monge
    Full Stack Web Developer & Strategist
    Come Nasce Un'idea

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.