Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di goat
    Registrato dal
    Apr 2003
    Messaggi
    1,154

    Gestione comparsa/scomparsa <div>: come modificare questo JavaScript?

    Ciao,
    su una vecchia discussione ho trovato un JavaScript per gestire la comparsa/scomparsa di alcuni <div>.
    Praticamente ho il mio menù, e alla pressione di ogni singola voce mi si visualizza subito sotto un <div> che contiene il sottomenù relativo a quella voce. Il tutto funziona perfettamente, solo che la pressione di una voce del menù mi fa si visualizzare il <div> corrispondente, ma non fa scomparire quelli che ho già aperto. Praticamente se clicco per prima la voce numero 6, mi si visualizza il <div> numero 6, ma poi mi resta visualizzato, e quindi gli altri <div> restano nascosti sotto di lui.

    Come posso modificare il JavaScript i nmaniera tale che alla pressione di una voce del menù mi si visualizzi il <div> corrispondente, ma mi si nascondano anche tutti gli altri?

    Questo il JavaScript:

    Codice PHP:
    function Show(id){
    if(
    document.getElementById)
    document.getElementById(id).style.display="block";
    }
    function 
    Hide(id){
    if(
    document.getElementById)
    document.getElementById(id).style.display="block";

    E questa l'azione che ho associato ai link:

    Codice PHP:
    [*][url="#null"]link01[/url][*][url="#null"]link02[/url][*][url="#null"]link03[/url][*][url="#null"]link04[/url][*][url="#null"]link05[/url][*][url="#null"]link06[/url
    Grazie,
    goat
    "Qualunque impressione faccia su di noi, egli è un servo della legge, quindi appartiene alla legge e sfugge al giudizio umano."

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    puoi crearti una funzione hide un pelino diversa...(a parte che questa fa la stessa cosa della funzione show)
    Codice PHP:
    function Hide(n){
    if(
    document.getElementById){
    for (
    i=1i<=ni++) document.getElementById("div"+i).style.display="none";
    }

    dove n rappresenta il numero dei div. Attenzione perchè i div devono essere numerati progressivamente con questa funzione e non possono avere nomi diversi....poi la richiami così
    <a href="#null" onclick="Hide(6); Show('div1');return(false)">

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

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

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

  5. #5
    Utente di HTML.it L'avatar di goat
    Registrato dal
    Apr 2003
    Messaggi
    1,154
    Originariamente inviato da oronze
    puoi crearti una funzione hide un pelino diversa...(a parte che questa fa la stessa cosa della funzione show)
    Codice PHP:
    function Hide(n){
    if(
    document.getElementById){
    for (
    i=1i<=ni++) document.getElementById("div"+i).style.display="none";
    }

    dove n rappresenta il numero dei div. Attenzione perchè i div devono essere numerati progressivamente con questa funzione e non possono avere nomi diversi....poi la richiami così
    <a href="#null" onclick="Hide(6); Show('div1');return(false)">
    Sbaglierò, ma a me non funziona.
    Questo il JavaScript:

    Codice PHP:
    function Hide(n){
    if(
    document.getElementById){
    for (
    i=1i<=ni++) document.getElementById("div"+i).style.display="none";
    }

    e questo l'HTML:

    Codice PHP:
    [url="#null"]link01[/url]
    [
    url="#null"]link02[/url]
    [
    url="#null"]link03[/url]
    [
    url="#null"]link04[/url]
    [
    url="#null"]link05[/url]
    [
    url="#null"]link06[/url
    Ovviamente ai corrispondenti link ho associato l'id div1, div2, div3 ecc.
    "Qualunque impressione faccia su di noi, egli è un servo della legge, quindi appartiene alla legge e sfugge al giudizio umano."

  6. #6
    Utente di HTML.it L'avatar di goat
    Registrato dal
    Apr 2003
    Messaggi
    1,154
    Ho risolto usando questo:

    Codice PHP:
    var ids=new Array('div1','div2','div3','div4','div5','div6');

    function 
    switchid(id){    
        
    hideallids();
        
    showdiv(id);
    }

    function 
    hideallids(){
        for (var 
    i=0;i<ids.length;i++){
            
    hidediv(ids[i]);
        }          
    }

    function 
    hidediv(id) {
        if (
    document.getElementById) {
            
    document.getElementById(id).style.display 'none';
        }
        else {
            if (
    document.layers) {
                
    document.id.display 'none';
            }
            else {
                
    document.all.id.style.display 'none';
            }
        }
    }

    function 
    showdiv(id) {
              
        if (
    document.getElementById) {
            
    document.getElementById(id).style.display 'block';
        }
        else {
            if (
    document.layers) {
                
    document.id.display 'block';
            }
            else {
                
    document.all.id.style.display 'block';
            }
        }

    e l'HTML:

    Codice PHP:
    [url="javascript:switchid('div1');"]link01[/url]
    [
    url="javascript:switchid('div2');"]link02[/url]
    [
    url="javascript:switchid('div3');"]link03[/url]
    [
    url="javascript:switchid('div4');"]link04[/url]
    [
    url="javascript:switchid('div5');"]link05[/url]
    [
    url="javascript:switchid('div6');"]link06[/url
    Funziona!
    "Qualunque impressione faccia su di noi, egli è un servo della legge, quindi appartiene alla legge e sfugge al giudizio umano."

  7. #7
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    EDIT: Hai gia' la tua discussione, nella quale tra l'altro richiami questa, senza doverti inserire e riesumare altre

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.