document.getElementsByClassName non funziona

PHP

Utente Attivo
9 Mag 2013
105
0
16
Non riesco a capire perchè questo script semplicissimo non funziona:
Codice:
	document.getElementsByClassName('prova').setAttribute("style", "background: white;");
Se provo a farlo per id funziona:
Codice:
	document.getElementById('prova').setAttribute("style", "background: white;");
ma visto che per id dovrei crearne uno per ogni elemento non va bene. Dove sbaglio?
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Grazie della risposta, adesso funziona ma mi dà un piccolo problema che non avevo previsto.
Andando sul primo link, si attiva la funzione prova a tutti gli elementi che presentano quella classe. Se si và con il mouse sul primo elemento cambia colore, ma lo fanno anche il 2o e il 3o ad esempio. Come blocco questa catena?
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Esatto, avevo pensato di dare ad ognuno un id diverso, ma visto che devono avere gli stessi attributi avevo pensato ad una classe, ma è uscito quest'altro problema.
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Ti spiego, io ho fatto il menù da 0 con i css, poi ho creato javascript per tenere selezionato('solo come effetto ottico') la voce del menu principale che aveva aperto i sottomenu sui quali adesso si è spostato il mouse.
Alla fine ottengo due effetti hover, uno sul menù principale e uno sul sottomenu selezionati.
Come mi hai fatto tu l'effetto ottengo quello di partenza che avevo con i css, e quello con jquery mi sembra un'alternativa ai css(che in effetti ottengo con molto meno codice di javascirpt, ma non era tutto il contrario?:confused:)
Comunque ho capito che il problema è che avendo la stessa classe tutti gli elementi vengono influenzati con lo stesso effetto contemporaneamente, cosa che non succederebbe con l'id ad esempio, ma vorrei evitare di creare 4-5 id diversi per poi fare copia e incolla e cambiare solo il nome, visto che devono avere lo stesso effetto.
Non è possibile fare una specie di array e distinguere tutte le chiamate che vengono fatte sulla stessa classe? In questo modo metterei [0], ecc e risolverei il problema.
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Forse ho capito, devo trovare il modo di estrarre solo l'array del menu corrispondente e non estrarre tutto $i.
Provo poi ti faccio sapere, nel frattempo dimmi se sei d'accordo o meno
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Perfetto, non conoscevo questa dicitura nel css ">", funziona alla grande, propio quello che cercavo. Grazie a te javascript l'ho ridotto all'osso, adesso fà in modo solo che il menù non scompaia subito se si esce per sbagli con il mouse fuori dal menu.:byebye:
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Grazie della risposta, ho provato i tuoi esempi, ma non ottengo lo stesso effetto che ho con javascript (riesco a ritardare l'entrata del menù agendo sull'hover, ma non la sua scomparsa). Ho cercato su google e ho provato a rifarlo, basandomi sul css che mi hai dato e ho provato ad aggiungere anche "ease-in-out" su alcuni comandi. Farò altri entativi prima di abbandorare questa strada, perchè credo che se funzioni sia meglio un css per una cosa del genere che javascript. Grazie per l'aiuto che mi stai dando.
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Grazie per la correzione, adesso riesco a vedere l'effetto, ma non riesco ad adattarlo a #prova. Ho provato ad usare nav dentro il menu, ma non mi dà l'effetto voluto, o meglio lo dà, ma mi crea sproporzioni, prima il menu mi dà l'effetto, ma mi stampa solo 4 campi, invece di 10 e lo stesso solo all'effetto "out" crea magicamente i menu mancanti e poi scompare al termine dei secondi prestabiliti, poi se stampa tutti i valori, all'effetto out la composizione si rovina, cambiando da un effetto "colonna" ad uno "riga", quando ho specificato ovunque l'effetto display: block, e visto hc eho levato ogni altro displai diverso non sò propio da dove prenda il valore che causa la sproporzione, poi ho provato a cambiare "<div id=prova><nav>.." semplicemente in <nav>, dando a nav i valori di prova e niente, poi ho provato a integrare nav dentro prova togliendolo lasciando così solo <div id=prova>, ecc.
Ci sono stato due ore e mezza circa:crying:. Come devo fare? Dimenticavo, ovviamente non ho cambiato solo il nome tra nav e #prova, ma ho riscritto pure la sintassi del css per renderla compatibile, altrimenti non stampa nulla ovvio. Scusa per la seccatura, questa è l'ultima cosa che ti chiedo sull'argomento.
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
sostituisci tutti i "nav" con "#prova" e sostituisci <nav> con <div id="prova">

comunque è meglio tenere nav, è l'elemento pensato apposta per i menu
 

PHP

Utente Attivo
9 Mag 2013
105
0
16
Se faccio delle sostituzioni di nav con #prova, il menu comincia a sballarmi gli elementi. Comunque credo di aver capito il problema. Ho applicato ovunque una transiione, per vedere dove funzionava e dove non, e il risultato è che funziona ovunque tranne che quando si esce fuori dal menu con il mouse.
Ho visto nel tuo esempio che è "nav > ul > li > ul" ad influenzare la scomparsa del menu dopo i ltempo specificato, ma con me questo non funziona. Se al posto di "nav >ul > li > ul" metto "#prova ul li ul", l'effetto che ottengo è solo quello di ritardare l'effetto al passaggio del mouse, quindi ottendo un ritardo di un hover, non di un out.
 
Discussioni simili
Autore Titolo Forum Risposte Data
gandalf1959 document.getElementsByName con wild character Javascript 6
P javascript:document.forms Javascript 7
Cosina Link in document ready function jQuery 0
A [Javascript] document createElement Javascript 0
gandalf1959 [Javascript] document.getElementById non funziona come mi aspetto Javascript 4
A sito responsive - calcolare l'altezza document di 2 php Ajax 4
C if dentro document.getElementById("").innerHTML Javascript 1
S IE document mode standard HTML e CSS 2
Devil-94 document.scripts restiture tutti script presenti nella pagina. Javascript 3
L sostituzione contenuto diversi div con document.getelementbyid Javascript 2
Devil-94 Creare elemento nella tabella con document.createElement("td") Javascript 1
K nome host della macchina (document.location.hostname) non funziona Javascript 1
L document.getElementById .textContent o altro? Javascript 6
A Navigazione jQuery [era: $(document).ready(function(){] jQuery 3
C document.getElementById("xxxxx").innerHTML iterato con un for Javascript 11
Shyson getElementById o document.write? Javascript 3
F Document type does not allow element DIV here HTML e CSS 3
voldemort Diffrenza tra $(document).ready vs. $(window).load jQuery 1
E titolo pagina con document.getElementsByTagName('title') Javascript 4
emanuelevt document.body.scrollTop - window.onscroll Javascript 0
A document.lastmodified ritorna data odierna!? Javascript 0
N semplice document.write() Javascript 1
SolidSnake4 type document HTML e CSS 1
B concatenare stringhe nel document Javascript 1
G Sostituzione di document.all Javascript 1
I Conta pagine document dinamico Javascript 3
F Cookie e document.write Javascript 15
F Inserire HTML del document in una variabile Javascript 4
S Dimensioni di document Javascript 1
B problema con document.form3.<nome_campo>.value Javascript 1
A Problemi con getElementsByClassName! Javascript 1
jan267 Problema con funzione getElementsByClassName Javascript 2
L Estrazione dati casuali non doppioni MySQL 1
napuleone non si chiude il thead e non si apre il tbody Javascript 0
napuleone non si aggiorna textarea in tempo reale Javascript 3
D Modem Asus non trasmette ogni 3/4 giorni Reti LAN e Wireless 2
M non static method cannot be referenced from a static context Java 1
napuleone Con le date il codice da di matto o forse non è così Javascript 2
M Risolto Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
M "Internet non disponibile" Reti LAN e Wireless 0
L Non vedo pc in rete Reti LAN e Wireless 0
M Numero random non ripetitivo Java 2
G pc desktop non si connette all'hotspot wifi Reti LAN e Wireless 0
L Non riesco a riprodurre uno sfondo Photoshop 0
N Server mysql non raggiungibile da connessione esterna MySQL 1
R Select concatenata che non funziona la seconda volta Ajax 3
L non duplicare dati in stato "aggiornamento" PHP 6
R [Visual Studio Community] Non trovo il Progetto di Setup .NET Framework 0
zorro file PDF non visualizzo niente PHP 9
D modificare questo codice per inserimento in text e non in tabella jQuery 1

Discussioni simili