• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Feld soll gelb bleiben

schlurpsel

New member
Hi,
wie kann ich es machen, dass wenn ich über ein Feld fahre, sich ein anderes Feld gelb färbt. Fahre ich aus dem Feld wieder raus soll es keine Farbe mehr haben. Fahre ich allerdings in das Feld und klicke darauf, soll das andere Feld, auch wenn ich wieder rausfahre, gelb bleiben.

Ist das möglich?

schlurpsel
 
In dem nachfolgenden Script werden 2 DIV-Bereiche genutzt. Der Bereich mit der ID feld wird durch die Scripte manipuliert. Wenn du auf dem Div-Bereich, der als Steuerelement dient klickst, wird n Flag gesetzt und die gelbe Farbe bleibt im 2. Div. Das ganze funktioniert mit nahezu jedem beliebigen HTML-Tag.

PHP:
<html>
<HEAD>
<script type="text/javascript">
var clicked = false;
function OVER  (){
  if (document.getElementById) {
    document.getElementById("feld").style.background = "YELLOW";
  } else if (document.all) {
    document.all.feld.style.background = "YELLOW";
  }
}

function OUT   (){
  if(clicked==false){
    if (document.getElementById) {
      document.getElementById("feld").style.background = "";
    } else if (document.all) {
      document.all.feld.style.background = "";
    }
  }
}

function CLICK (){
  clicked = true;
}
</script>
</HEAD>

<BODY>
<DIV STYLE="COLOR:WHITE; BACKGROUND:BLACK; WIDTH:100%; HEIGHT:10%;"
     OnMouseOver="JAVASCRIPT:OVER();"
     OnMouseOut="JAVASCRIPT:OUT();"
     OnClick="JAVASCRIPT:CLICK();"
> </DIV>


<DIV ID="feld" STYLE="WIDTH:100%; HEIGHT:10%;"> </DIV>
</BODY>
</html>
 
Zuletzt bearbeitet von einem Moderator:
PHP:
<script type="text/javascript">
function hover(obj) {
var obj2 = document.getElementById(obj.id+"_gelb");
obj.style.backgroundColor = "#ddd";
if(!obj.fixed) obj2.style.backgroundColor = "#ffff00";
}
function leave(obj) {
var obj2 = document.getElementById(obj.id+"_gelb");
obj.style.backgroundColor = "#fff";
if(!obj.fixed) obj2.style.backgroundColor = "#fff";
}
function fix(obj) {
obj.fixed = !obj.fixed;
var obj2 = document.getElementById(obj.id+"_gelb");
obj2.style.backgroundColor = "#ffff00";
}
</script>
<div id="eins" onmouseover="hover(this)" onmouseout="leave(this)" onclick="fix(this)">Eins</div><div id="eins_gelb">Eins.2</div>
<div id="zwei" onmouseover="hover(this)" onmouseout="leave(this)" onclick="fix(this)">Zwei</div><div id="zwei_gelb">Zwei.2</div>
 
Zuletzt bearbeitet von einem Moderator:
Danke für eure guten Antworten, diese reichen für meine Ansprüche bis jetzt.
Doch ich möchte es noch mal anderes haben:
Ich fahr über ein Feld id=zelle1 und es soll gelb werden. Fahre ich raus, soll es wieder blau werden. Drücke ich aber das Feld, soll es gelb bleiben.
Das Gelb soll weg, wenn ich über Feld id=zelle3 drücke.
Außerdem soll, wenn ich über Feld id=zelle2 fahre, Feld id=zelle1 gelb werden, wenn ich rausfahre wieder normal, drücke ich auf zelle2, soll Feld 1 gelb bleiben.
Drücke ich auf Feld id=menuleft (öffnet sich mir klick auf zelle1 oder zelle2), soll zelle1 auch gelb bleiben.
Geht das??
Schonma danke
MfG
schlurpsel
 
tut mir leid, dass ich das nochma anders möchte. Aber könnt ihr mir das nicht einfach noch machen, das ist endgültig, ich hab wirklich keine Ahnung wie ich das machen kann.
Bitte :)
MfG
schlurpsel
 
Da ich an deinen gewünschten Farbänderungen kein allgemein gültiges oder wiederkehrendes Verhalten erkennen kann, wirst du das wohl ungefähr so programmieren wie du es uns hier erzählt hast (soll heißen mit einigen if-conditions).
Im Prinzip steht alles was du brauchst in meinem Post.
Und damit du nicht so weit hinaufscrollen musst, schreibe ich dir den sogar nocheinmal hier herein. *g*
PHP:
<script type="text/javascript">
function hover(obj) {
var obj2 = document.getElementById(obj.id+"_gelb");
obj.style.backgroundColor = "#ddd";
if(!obj.fixed) obj2.style.backgroundColor = "#ffff00";
}
function leave(obj) {
var obj2 = document.getElementById(obj.id+"_gelb");
obj.style.backgroundColor = "#fff";
if(!obj.fixed) obj2.style.backgroundColor = "#fff";
}
function fix(obj) {
obj.fixed = !obj.fixed;
var obj2 = document.getElementById(obj.id+"_gelb");
obj2.style.backgroundColor = "#ffff00";
}
</script>
<div id="eins" onmouseover="hover(this)" onmouseout="leave(this)" onclick="fix(this)">Eins</div><div id="eins_gelb">Eins.2</div>
<div id="zwei" onmouseover="hover(this)" onmouseout="leave(this)" onclick="fix(this)">Zwei</div><div id="zwei_gelb">Zwei.2</div>
 
Hi,
hab mir jetzt deine Funktion nochmal angeschaut und sie so gemacht, dass sie so geht, wie ich will. Also mal danke.
Doch ein Problem habe ich noch:
<script type="text/javascript">
function hover(obj) {

if(!this.fixed) obj.style.backgroundColor = "#ffff00";
}
function leave(obj) {

if(!this.fixed) obj.style.backgroundColor = "#fff";
}
function fix(obj) {
this.fixed = !this.fixed;
obj.style.backgroundColor = "#ffff00";
}
function test(obj) {
obj.style.backgroundColor = "#ffff00";
}
</script>
<div id="eins" onmouseover="hover(eins_gelb)" onmouseout="leave(eins_gelb)" onclick="test(eins_gelb)">Eins</div><div id="eins_gelb">Eins.2</div>
<div id="zwei" onmouseover="hover(zwei_gelb)" onmouseout="leave(zwei_gelb)" onclick="fix(zwei_gelb)">Zwei</div><div id="zwei_gelb">Zwei.2</div>
bei diesem Code, wie kann ich machen, dass bei function test obj auf jeden Fall gelb wird, egal was es für eine Farbe hat?

Danke
MfG
schlurpsel
 
Ich bin mir nicht sicher ob ich dich richtig verstanden hab:
PHP:
<script type="text/javascript">
function hover(obj) {
if(!obj.defaultBg) obj.defaultBg = obj.style.backgroundColor || "#fff";
if(!this.fixed) obj.style.backgroundColor = "#ffff00";
}
function leave(obj) {
if(!this.fixed) obj.style.backgroundColor = obj.defaultBg;
}
function fix(obj) {
this.fixed = !this.fixed;
obj.style.backgroundColor = "#ffff00";
}
function test(obj) {
obj.style.backgroundColor = "#ffff00";
}
 
if(!this.fixed) obj.style.backgroundColor = "#ffff00";
}
function leave(obj) {

if(!this.fixed) obj.style.backgroundColor = "#fff";
}
function fix(obj) {
this.fixed = !this.fixed;
obj.style.backgroundColor = "#ffff00";
}
function test(obj) {
obj.style.backgroundColor = "#ffff00";
}
</script>
<div id="eins" onmouseover="hover(eins_gelb)" onmouseout="leave(eins_gelb)" onclick="test(eins_gelb)">Eins</div><div id="eins_gelb">Eins.2</div>
<div id="zwei" onmouseover="hover(zwei_gelb)" onmouseout="leave(zwei_gelb)" onclick="fix(zwei_gelb)">Zwei</div><div id="zwei_gelb">Zwei.2</div>

Bei diesem Code soll funtion test, dass was in Klammer steht gelb färben, egal ob es weiß oder gelb ist, einfach immer gelb.
Außerdem wäre es gut eine Funktion zu haben, die das Feld das in der Klammer steht wieder die normale Farbe gibt.
Geht das?
Danke schonma
MfG
schlurpsel
 
Hallo schlurpsel, verwende doch bitte die Code-Tags über dem Eingabefeld, am besten den ganz rechts, so wie das slosd auch gemacht hat. Es wird dadurch deutlich übersichtlicher. :icon7:
 
Zurück
Oben