Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832

    Quesito tecnico su display: none

    hola gente,
    ho un dubbio tecnico sul "nascondimento" di un div.

    creo un div "container" tramite DOM, dentro ci sono una serie di oggetti.
    all'interno del div c'è un tasto "chiudi" che semplicemente NASCONDE il div con:
    codice:
    ...
    	var div = document.getElementById(id);
    	div.style.display = 'none';
    così facendo però, quando vado a mostrarlo nuovamente le funzioni che prima andavano bene, ora non vanno più.

    se invece lo distruggo con removeChild, il problema non si pone e le funzioni di creazione/popolamento oggetti vanno.

    io però vorrei che il contenuto generato dall'utente venisse mantenuto, per cui se quello crea una tabella che lui stesso poi popola, quando va a nascondere e poi rivisualizzare il div, quanto era presente venisse mostrato nuovamente.
    per questo pensavo che con il removeChild " del container" quello che aveva all'interno venisse distrutto, ma invece con il semplice "display: none", "sparisse" alla vista, ma in realtà rimanesse.
    al momento non sembra essere così.

    mi sapete spiegare l'arcano?

    grazie

  2. #2
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    Originariamente inviato da whisher
    http://www.dustindiaz.com/javascript-no-no/

    sto provando a vedere cosa dice l'articolo, ma da niubbo, non trovo alcuna info che potrebbe fare al caso mio, riguardo al hide di un div

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Re: Quesito tecnico su display: none

    Originariamente inviato da lyllo
    così facendo però, quando vado a mostrarlo nuovamente le funzioni che prima andavano bene, ora non vanno più.
    Spiega questo passaggio
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Originariamente inviato da lyllo
    sto provando a vedere cosa dice l'articolo, ma da niubbo, non trovo alcuna info che potrebbe fare al caso mio, riguardo al hide di un div
    Codice PHP:
    <html

    <
    head
        <
    meta http-equiv="content-type" content="text/html; charset=utf-8"
      <
    style type="text/css">
        
    #mydiv{
           
    displayblock;
        }
    </
    style>   
    <
    script type="text/javascript"
    function 
    toggle(id) {
        var 
    el document.getElementById(id);
        
    el.style.display = (el.style.display != 'none' 'none' '' );
    }
    </script> 
        <title>Untitled 3</title> 
    </head> 

    <body> 

    [url="#"]toggle[/url]
    <div id="mydiv"> 
    Spero che possano aiutarvi a comprendere perché è una buona idea pianificare e implementare Javascript in maniera non intrusiva. Questo modo di procedere mi ha aiutato a rilasciare i miei lavori più velocemente, con una qualità più elevata e con una maggiore facilità nella manutenzione del codice.
    </div> 
    </body> 
    </html> 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    ok, proverò.
    ma non capisco la differenza, soprattutto perch non conosco quel modo di programmare con ? e :

    non è uguale fare un check con un if e vedere se lo style è "block" o "None" e cambiarlo di conseguenza?
    come mai la codifica come è riportata li dovrebbe risolvere il mio problema?

    grazie e

    EDIT: infatti provando col "toggle" il problema persiste e "spariscono" le proprietà che erano persenti PRIMA del toggling.

  7. #7
    Originariamente inviato da lyllo
    ok, proverò.
    ma non capisco la differenza, soprattutto perch non conosco quel modo di programmare con ? e :

    non è uguale fare un check con un if e vedere se lo style è "block" o "None" e cambiarlo di conseguenza?
    come mai la codifica come è riportata li dovrebbe risolvere il mio problema?

    grazie e

    EDIT: infatti provando col "toggle" il problema persiste e "spariscono" le proprietà che erano persenti PRIMA del toggling.
    var c=(cond)?'true':false

    se la condizione è vera
    c=true
    se la condizione è falsa
    c=false
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    EDIT: infatti provando col "toggle" il problema persiste e "spariscono" le proprietà che erano persenti PRIMA del toggling.

    Spiega questo passaggio
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    allora in pratica:

    ho un div con dentro una tabella che puo essere popolata dinamicamente.
    al primo avvio non ho problemi.
    premo su "chiudi div" e lo nascondo.

    SIA che uso il toggle che mi hai suggerito tu, che il classico "display", quando vado a riaprire il div viene si visualizzato, MA non è più interattivo.

    il div rimane "interattivo", continuando a fare quello che è progettato di fare, SOLO se invece che il toggle tuo o il display style, uso il removeChild, distruggendolo completamente e ricreandolo ex-novo.

    spero di essermi spiegato ora.


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.