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

    Consiglio su funzione per nascondere serie di div

    ciao gente,
    sto impazzendo dietro ad uno scriptino scemo che non riesco a far funzionare.
    ottengo risultati davvero esilaranti, è vero, ma non funge come dovrebbe.
    ho creato un menu orizzontale con i div che compaiono al passaggio del mouse. solo che vorrei che quando l'utente sposta il mouse su un'altro link, si chiuda il precedente e si mostri il successivo interessato.
    visto che voglio fare uno script "generico", ovvero che hiuda automaticamente SOLO una serie di div con uno specifico id e lasci gli altri intatti avevo pensato ad una cosa del genere:

    codice:
    ...
     var tds = document.getElementsByTagName("div");
        for (var i = 0; i < tds.length; i++) {
        	if(tds[i].id.substring(0,5) == 'MHdiv_'){alert(tds[i].id);
    			if(tds[i].id != lascia){
    				tds[i].style.display = 'none';
    				}
    			}
    		else{
    			tds[i].style.display = 'block';
    			}
    		}
    ...
    solo che ovviamente non funziona.
    mi sapreste dare un'indicazione?

    grazie.

  2. #2
    1 - "lascia" è una variabile o una stringa?
    2 - invece di usare substring io utilizzerei indexOf.
    3 - tieni pulito il codice anche quando non è utile.

    Io procederei così:
    codice:
     var tds = document.getElementsByTagName("div");
        for (var i = 0; i < tds.length; i++) {
        	if(tds[i].id.indexOf('MHdiv_')>-1){
    		alert(tds[i].id);
    		if(tds[i].id != lascia){ /* chiarisci cosa è lascia */
    			tds[i].style.display = 'none';
    			}
    			}
    		else{
    			tds[i].style.display = 'block';
    			}
    		}

  3. #3
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    hai ragione, ho copiato dalla riga sotto:

    codice:
    lascia = "MHdiv_"+id;
    questo era all'inizio perchè volevo solo scansionare i div che avevano quella radice, nascondere tutti quelli che non servivano, tranne appunto "lascia", nel senso di "lascia visibile solo quello" di tutta la "famiglia" dei div MHDIV_

    spero di essermi spiegato meglio ora

  4. #4
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    uppo.
    nessun consiglio?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova a vedere qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    grazie.
    poi mi pare di aver comunque risolto così:

    codice:
    function sfondo_on(id) {
        newImage = "url(immagini/menu/tassello"+id+"_up.jpg)";
        document.getElementById("mh_"+id).style.backgroundImage = newImage;
        PosizionaDiv(id);
        lascia = "MHdiv_"+id;
     	var tds = document.getElementsByTagName("div");
        for (var i = 0; i < tds.length; i++) {
        	if(tds[i].id.indexOf('MHdiv_')>-1){
    			if(tds[i].id != lascia){
    				tds[i].style.display = 'none';
    				}
    		else{
    			tds[i].style.display = 'block';
    			}
    		}
    	}
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da lyllo
    grazie.
    poi mi pare di aver comunque risolto così:

    codice:
    function sfondo_on(id) {
        newImage = "url(immagini/menu/tassello"+id+"_up.jpg)";
        document.getElementById("mh_"+id).style.backgroundImage = newImage;
        PosizionaDiv(id);
        lascia = "MHdiv_"+id;
     	var tds = document.getElementsByTagName("div");
        for (var i = 0; i < tds.length; i++) {
        	if(tds[i].id.indexOf('MHdiv_')>-1){
    			if(tds[i].id != lascia){
    				tds[i].style.display = 'none';
    				}
    		else{
    			tds[i].style.display = 'block';
    			}
    		}
    	}
    }

    Scusate se vado in OT.

    Vorrei chiedere, se possibile, di postare il link con il risultato finale.

    Grazie

  8. #8
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    eh, ancora sono totalmente offline.

    sto facendo un sito di un programma che avevo creato anni fa per gstire le sessioni di D&D3

    quando è pronto vedrai tutto in azione

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.