Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Nascondere righe e oggetti (img) all'apertura della pagina

    Apro un nuovo 3d perchè quello vecchio non era più pertinente al titolo!

    io ho una lista di record in una pagina php, ogni record è composto da due righe, ma io voglio che all'apertura della pagina solo la prima venga visualizzata, poi ho anche due pulsanti rollover sulla prima riga (quella visualizzata sempre) che comandano l'estensione della seconda riga!

    codice:
    ...
    
    <script type="text/javascript">
    function resettaRighe(){
    	for(i=0;i<15;i++){
    		document.all['riga'+i].style.display = "none"; 
    		document.all['meno'+i].style.display = "none"; 
    	}
    }
    </script>
    
    ...
    
    <body onLoad="resettaRighe();" bgcolor="#FFFFFF">
    
    ...
    per ora io facevo così, ma in locale non mi accorgevo che le righe venendo nascoste sull'onload di body vengono nascoste al caricamento della pagina, io invece non le voglio proprio far apparire all'inizio e nemmeno il pulsante -!
    Se volete vi mando il link alla pagina:

    http://www.maxdesign.it/distributors.php

    mi hanno detto che su mac non vengono nascoste neanche dopo l'apertura quindi la funzione resettaRighe non viene richiamata, visto che appaiono anche i pulsanti meno!
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  2. #2
    non è possibile fare quello che chiedo? o mi sono spiegato male?
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` usi istruzioni proprietarie? A quel punto e` difficile che la cosa funzioni su browser diversi da IE5.5 e IE6.

    In particolare IE5.2 (di Mac) non credo che supporti i CSS a sufficienza. Se devi lavorare per IE5.2 devi fare una cosa diversa; se invece devi lavorare per i browser standard la sintassi e` assolutamente sbagliata.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Scusa Mich ti riferisci alla funzione resettarighe() o a mostranascondi()?

    come faccio a fare in modo che le righe non vengano per nulla visualizzate? e un <img> ???

    che poi sarebbe il link che ho postato...

    in realtà non funziona nemmeno su ie6, ma non per un problema di compatibilità, ma proprio perchè è sbagliato il modo (o il momento) con la quale nascondo gli oggetti "indesiderati"

    Ciao e grazie per la risposta
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    No, mi riferisco a document.all
    E` istruzione proprietaria IE.
    Nei browser moderni si usa document.getElementById('ID_OGGETTO')

    Invece se devi fare script per IE5.2 non credo che supporti l'oggetto .style , per cui devi usare le vecchie istruzioni IE.

    Se devi lavorare per NN4, devi invece usare document.layers (anche qui non supportato l'oggetto .style ).

    Prima di procedere devi chiarire in quali browser deve funzionare lo script.

    Per parte mia sconsiglio di lavorare per browser vecchi, consigliando invece gli utenti di scaricarsi browser piu` moderni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Ciao Mich grazie ancora per la risposta!

    io non ho utilizzato getElementById perchè non sapevo come fare per rinominare 'riga' in questo modo riga1,riga2,riga3,ecc...

    per quanto riguarda l'oggetto style io l'ho visto sull'esempio di xinod nell'altro 3d

    (da quanto ho capito mi consigli comunque di utilizzare style?)

    che poi in realtà il problema maggiore oltre ai primi due, è che non capisco come fare a indicare sia al pulsante '-' che alla 'riga' di partire da uno stato di non visibilità. La funzione resettaRighe() infatti viene richiamata sull'onload di body quindi all'inizio mi compare tutto e poi si risistema.
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Mich_
    Prima di procedere devi chiarire in quali browser deve funzionare lo script.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Ciao Mich ho risolto il fatto delle istruzioni proprietarie, ora utilizzo dappertutto il getElementById

    codice:
    function mostra_nascondi(id_riga,i){
    	var IE=(window.navigator.userAgent.indexOf('MSIE')>-1)?1:0;
    	document.getElementById(id_riga).style.display=(document.getElementById(id_riga).style.display=='none')?((IE)?'block':'table-row'):'none';
    	if(document.all[id_riga].style.display== "none") {
    		//alert("chiuso");
    		document.getElementById(id_riga).style.display = "block"; 
    		document.getElementById(id_riga).style.display = "none"; 
    	} else {
    		//alert("aperto");
    		document.getElementById(id_riga).style.display = "none"; 
    		document.getElementById(id_riga).style.display = "block"; 
    	}
    }
    function resettaRighe(){
    	for(i=0;i<15;i++){
    		var1='riga'+i;
    		var2='meno'+i;
    		document.getElementById(var1).style.display = "none"; 
    		document.getElementById(var2).style.display = "none"; 
    	}
    }
    Ora supponiamo che io voglia utilizzare l'oggetto style quindi lavoro per browser nuovi come posso risolvere il fatto che durante la creazione della pagina gli elementi 'indesiderati' vengano nascosti?
    per il momento li nascondo sull'onload di <body> ma per un attimo (svuotando la cache) si vedono per poi venire nascosti!

    Dove la richiamo quindi la funzione resettaRighe()?
    Oppure esiste un evento magari nei tag <tr> o <img> dove io posso specificare lo stato iniziale di 'display' prima che <tr> o <img> vengano visualizzati?

    spero di essermi spiegato

    Ciao
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Una funzione che agisce sugli oggetti presenti nella pagina deve aspettare che questi oggetti siano effettivamente presenti... quindi, se non diversamente previsto nel codice della pagina, quindi visibili finche' lo script non avra' agito con tempi dipendenti dalla velocita' di ricezione e completamento della pagina e dalle prestazioni del sistema ospite.

    Puoi agire diversamente... con i css togli visibilita' all'intera pagina (al limite metti un messaggio di preload), quindi agisci sugli elementi da nascondere ed infine visualizza la pagina completa.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ... esempio minimo:

    codice:
    ...
    <style>
    div#corpo {display: none;}
    </style>
    <script>
    function funzione() {
    document.getElementById("immagine").style.visibility='hidden';
    document.getElementById("preload").style.display='none';
    document.getElementById("corpo").style.display='block';
    }
    </script>
    </head>
    <body onload="funzione()">
    <div id="preload">Attendere...</div>
    <div id="corpo">
    blablabla
    [img]pippo.gif[/img]
    </div>
    ...
    Comunque mi sembra una complicazione inutile... basterebbe, come accennato prima, nascondere gli elementi gia' in partenza ma, ovviamente, non conosco le tue esigenze

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.