Javascript-Forum JSwelt (Javascript, PHP, MySQL, AJAX, Webdesign)
 

Zurück   Javascript-Forum JSwelt (Javascript, PHP, MySQL, AJAX, Webdesign) > Webdesign > JavaScript

Antwort
 
LinkBack Themen-Optionen Ansicht
Hintergrundfarbe eines DIVs bei onclick ändern
Alt
  (#1 (permalink))
Grünschnabel
dp82 befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 2
registriert: 15-07-2008
Hintergrundfarbe eines DIVs bei onclick ändern - 15-07-2008, 15:49

Hallo,

das hört sich zunächst recht einfach an, ist dann aber etwas schwieriger:

Also, ich habe ein Menü, bestehend aus transp. Bildern. Die sind einerseits mit onmouseovern belegt, zusätzlich möchte ich aber, dass der jeweils aktive Menüpunkt schwarz hinterlegt ist (also onClick). Wenn ich dann einen anderen Menüpunkt anklicke, soll sich der wiederum schwarz einfärben, der vorher aktive jedoch wieder einen transparenten Hintergrund haben.

Das Problem ist: das soll alles in einem einzigen HTML-File passieren, also quasi dynamisch per JS übergeben werden...

Hier der Basisquellcode des Menüs:

Code:
<a onmouseout="MM_swapImgRestore(),change_pf2('transparent');" onmouseover="MM_swapImage('pf2','','menue/neg/menue_07.png',1),change_pf2('black');" class="pf_menue">
<img src="menue/menue_07.png" name="pf2" width="210" border="0" id="pf2"></a><br />

<a onmouseout="MM_swapImgRestore(),change_pf3('transparent');" onmouseover="MM_swapImage('pf3','','menue/neg/menue_08.png',1),change_pf3('black');">
<img src="menue/menue_08.png" name="pf3" width="210" border="0" id="pf3" /></a><br />

<a onmouseout="MM_swapImgRestore(),change_pf4('transparent');" onmouseover="MM_swapImage('pf4','','menue/neg/menue_09.png',1),change_pf4('black');">
<img src="menue/menue_09.png" name="pf4" width="210" border="0" id="pf4" /></a><br />
Und hier eines der bisher existierenden JS für das MouseOver jedes einzelnen Menüpunkts:

Code:
function change_pf2(hgrund){
for (var i = 0; document.getElementsByName('pf2').length; i++)
{document.getElementsByName('pf2')[i].style.backgroundColor = hgrund;
}
}
Wie verbinde ich also das bisherige JS mit einem neuen Script was den jeweils zuletzt geklickten Menüpunkt schwarz hinterlegt?

danke für jede Hilfe! lg -daniel-
   
Mit Zitat antworten
Werbeanzeige
Alt
 
jswelt-Partner


JavaScriptbücher zum Sonderpreis - 15-07-2008, 15:49
 
JavaScript und Entwurfsmuster
JavaScript und Entwurfsmuster - geht das überhaupt? Die Antwort ist ein klares JA, denn objektorientierte Konzepte lassen sich mit wenig Aufwand in JavaScript implementieren. Wie es geht erfährst du in diesem Buch.

Preis: früher: 39,95€ - jetzt nur: 9,95€

Hier geht es direkt zum Buch

Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!

AW: Hintergrundfarbe eines DIVs bei onclick ändern
Alt
  (#2 (permalink))
Doppel-As
[-UFO-]Melkor befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 141
registriert: 16-08-2006
AW: Hintergrundfarbe eines DIVs bei onclick ändern - 15-07-2008, 16:26

Meinst du sowas?

Code:
var pf = '';
function change_pf(newpf){
   if(
      pf.length > 0
   ){
      for (var i = 0; document.getElementsByName(pf).length; i++){
         document.getElementsByName(pf)[i].style.backgroundColor = 'transparent';
      }
   }
   for(var i = 0; document.getElementsByName(newpf).length; i++){
      document.getElementsByName(newpf)[i].style.backgroundColor = 'black';
   }
   pf = newpf;
}
Also diese Funktion setzt jedenfalls bei den Elementen mit dem übergebenen Namen die Hintergrundfarbe auf 'black' und bei denen, die vorher mit der Funktion 'black' "gemacht" wurden, wieder auf transparent.
   
Mit Zitat antworten
AW: Hintergrundfarbe eines DIVs bei onclick ändern
Alt
  (#3 (permalink))
Grünschnabel
dp82 befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 2
registriert: 15-07-2008
AW: Hintergrundfarbe eines DIVs bei onclick ändern - 17-07-2008, 17:14

ja, ich glaube, sowas müsste funktionieren... aber kann es sein, dass du in der ersten Zeile einen Fehler hast? --> var pf = '';

zusätzlich zum Ändern der Hintergrundfarbe müsste aber auch ein neues Bild geladen werden (/neg/menue_xx.png). was dann wieder »zurückgetauscht« wird, wenn ein anderer Menüpunkt angeklickt wird. Kann ich diese beiden Aktionen in einem JS zusammenfassen?

Danke auf jeden Fall schon mal! -daniel-
   
Mit Zitat antworten
AW: Hintergrundfarbe eines DIVs bei onclick ändern
Alt
  (#4 (permalink))
Lounge-Member
ein schlauer befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von ein schlauer
 
Offline
Beiträge: 9.946
registriert: 18-08-2004
Ort: Mainz
AW: Hintergrundfarbe eines DIVs bei onclick ändern - 17-07-2008, 18:00

Das ist ziemlicher Unsinn. Du kannst die mouseevent auch auf das img-Element legen und du kannst beim Funktionsaufruf das Element übergeben.

PHP-Code:
<img src="menue/menue_09.png" onmouseover="change(this, 'black')"
onmouseout="change(this, '')" /> 
PHP-Code:
function change(elclr) {
if(
el && el.styleel.style.backgroundColor clr;

Den Rahmen kannst mit CSS für alle Bilder in einem Link entfernen:
PHP-Code:
a img bordernone; } 
Für dein Klick Problem musst du dir den aktuellen klick merken:

PHP-Code:
<img src="menue/menue_09.png" onmouseover="change(this, 'black')"
onmouseout="change(this, '') onclick="doClick(this)" /> 
PHP-Code:
var click null;
function 
change(elclr) {
if(
click != el && el && el.styleel.style.backgroundColor clr;
}
function 
doClick(el) {
click el;

(so in etwa, ungtestet)
   
Mit Zitat antworten
Werbeanzeige
Alt
 
jswelt-Partner


Werbung - 17-07-2008, 18:00
 

Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
onclick für eine ganze Tabellenzeile. außer ein Element Nussmischung JavaScript 3 20-12-2006 17:18
Alle Divs einer "Ebene" selektieren (getElementsByTagName) slayer2206 JavaScript 2 05-09-2006 09:34
Funktion erst bei onClick notieren Stefan2531 JavaScript 6 03-09-2006 19:45
Andere div's als das gewählte verstecken? badbandit JavaScript 15 02-05-2006 14:55
divs nebeneinander alle 100% Höhe bine CSS und (X)HTML 15 30-08-2004 17:44





Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0

jswelt Netzwerk: * Kontakt - jswelt - Archiv - Nach oben