Hallo,
ihr kennt möglicher weise das beispiel
http://selfhtml.teamone.de/dhtml/beispiele/navigation.htmda hab ich ein bisschen gespielt und
wollte ein rechteck für mein menue auswählen.die funktion die ich geändert habe sieht
so aus:function handleMove(ev) {
if(!MS) {
Event = ev;
var bufx=Event.screenX;
var bufy=Event.screenY;
if(bufx < 270)
//wenn bufx < 270, dann...
if(bufx > 70)
//wenn bufx > 70, dann...
if(bufy > 70)
//wenn bufy > 70, dann...
if(bufy < 240)
//wenn bufy < 240, dann...
{
alert("x " +bufx + " y "+bufy);
Menue();
}
else if(Event.screenX > 420)
//sonst, also wenn bufx < 270 UND bufx > 70 UND bufy > 70 aber NICHT bufy < 240, dann, wenn Event.screenX > 420...
noMenue();
}
}
Merkst Du was? Dein ELSE-Zweig gehört _nur_ zum letzten IF, wird also _nicht_ erreicht, wenn schon die vorherigen Bedingungen nicht erfüllt sind. Du willst einfach eine UND-Verknüpfung, keine verschachtelten Bedingungen. Zur Test-Anzeige der X- und Y-Werte ist übrigens ein alert() höchst ungeeignet. Hier kann man ausnahmsweise, zu Versuchszwecken, die Statuszeile missbrauchen.
function handleMove(ev) {
if(!MS) {
Event = ev;
var bufx=Event.screenX;
var bufy=Event.screenY;
//Testausgabe BEGINN
//nachfolgende Zeile nach der Anpassung auskommentieren:
window.status= "x:" + bufx + " y:" + bufy;
//Testausgabe ENDE
if(bufx > 70 && bufx < 270 && bufy > 70 && bufy < 240)
{
Menue();
}
else noMenue();
}
}