Visualizzazione dei risultati da 1 a 5 su 5

Discussione: richiamo di funzioni

  1. #1

    richiamo di funzioni

    Buongiorno a tutti,
    semplifico il mio problema con il seguente esempio:
    ho questo codice html:
    codice:
    <html><head></head>
    <body>
    		<div class="menu">
    			<p onMouseOver="cambia(this, '#B0B0B0')" onMouseOut="cambia(this, '#D4D4D4')">Logo</p>
    			
    
    Profilo</p>
    			
    
    Immagini</p>
    			
    
    Video</p>
    			
    
    Musica</p>
    		</div>
    	</body>
    </html>
    La funzione javascript cambia è la seguente:
    codice:
    <script type="text/javascript">
    			function cambia(o, c)
    			{
    				o.style.background = c;
    			}
    		</script>
    Siccome devo applicare questa funzione a tutti gli elementi

    sia per il mouseOut che mouseOver è possibile scrivere il codice in maniera differente per semplificare il codice html?
    Ovvero esiste in javascript un modo per dire che ogni volta che trovo un elemento p, o un elemento con Id specificato, di applicare la funzione cambia sia per mouseOut che Over

    Grazie a tutti per l'aiuto
    Ivan Hares

  2. #2
    codice:
    tmp = document.getElementsByTagName("p"); for( var x=0; x < tmp.length; x++ ) { tmp[x].onclick = function(){ alert('Click!'); }; }

    prova così.. se va adattalo al cio che ti serve.. fammi sapere

  3. #3
    Ho adattato la funzione in questo modo:
    codice:
    tmp = document.getElementsByTagName("p"); 
    for( var x=0; x < tmp.length; x++ ) 
    { 
    	tmp[x].onMouseOver = function()
    			{ 
    				cambia(this, '#B0B0B0');
    			};
    	tmp[x].onMouseOut = function()
    			{ 
    				cambia(this, '#D4D4D4');
    			};
    }
    function cambia(o, c)
    {
    	o.style.background = c;
    }
    Ma lo sfondo non viene cambiato!


    Qualche suggerimento?
    Ivan Hares

  4. #4
    tutto minuscolo onmouseover e onmouseout

  5. #5
    Ho trovato l'inghippo:

    <body onLoad="cambiaP()">

    codice:
    function cambia(o, c)
    {
    	o.style.background = c;
    }
    function cambiaP()
    {
    	tmp = document.getElementsByTagName("p"); 
    	for( var x=0; x < tmp.length; x++ ) 
    	{ 
    		tmp[x].onmouseover = function()
    		{ 
    			cambia(this, '#B0B0B0');
    		};
    		tmp[x].onmouseout = function()
    		{ 
    			cambia(this, '#D4D4D4');
    		};
    }
    E il problema è risolto!
    Grazie infinite per l'aiuto!
    Ivan Hares

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.