danOne: Mausposition für Netscape ermitteln

Guten Abend alle zusammen,

folgendes Problem tut sich mir hier grade auf und steht zwischen mir, und meinem verdienten Feierabend :-)

ich habe ein skript so das man per drag´n drop lustig PostIt zettel auf der Oberfläche umherbewegen kann. Funtioniert natürlich 1+ im IE aber mal eher gar nicht in Mozilla, Netscape etc...

ich poste mal die ganze File damit man den zusammenhang sehen kann:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>

<style type="text/css">
#postIt1{
position:absolute;
background-repeat:no-repeat;
height:152px;
width:186;
}
#postIt2{
position:absolute;
background-repeat:no-repeat;
height:152px;
width:186;
}
</style>

<script language="JavaScript" type="text/JavaScript">

var object='';
var moveObj=false;
var val=0;
function check(obj)
{
 if(!object)
 {
  object=obj;
  x=parseInt(obj.style.left);
  y=parseInt(obj.style.top);
  valx=window.event.x-x;
  valy=window.event.y-y;
 }
 moveObj=true;
}

function move()
{
 if(object && moveObj)
 {
  object.style.left=window.event.x-valx;
  object.style.top=window.event.y-valy;
 }
}

function clearObj()
{
 moveObj=false;
 object='';

}
</script>
</head>
<body>
<div id='postIt1' style='background-image:url(images/postit.png);left:200;top:50;' onMouseDown="check(this);" onMouseMove="move();" onMouseUp="clearObj();" onMouseOut="clearObj();">sdtgfsg</div>
<div id='postIt2' style='background-image:url(images/postit.png);left:400;top:100;' onMouseDown="check(this);" onMouseMove="move();" onMouseUp="clearObj();" onMouseOut="clearObj();">sdtgfsg</div>
</body>
</html>

Das eigentlich Problem stellt nur die funktion move() dar.:

function move()
{
 if(object && moveObj)
 {
  object.style.left=window.event.x-valx;
  object.style.top=window.event.y-valy;
 }
}

weil netscape natürlich mit window.event.x nix anfangen kann, ich habe daraufhin mal nachgeschaut und bin auf screenX, screenY gestoßen.

Leider kann ich mit dem in Selfhtml beschriebenen beispiel nix anfangen weil das abhängig von einem übergebenen event ist. Die Frage wäre nun weiß jemand eine einfach Lösung dafür oder kann mir jemand erklären was ich theoretisch machen müsste um an das aufgetretene event zu kommen?

Vielen Dank und
schönen Gruß

.dan.One.

  1. Hi,

    [...reichlich proprietaeren code entsorgt...]

    Poste doch bitte nur das Wesentliche.
    Ich denke das Kinderspiel hier hilft Dir weiter: http://anna.wendenburg.de/stefanie.html

    Gruesse  Joachim

  2. ich habe ein skript so das man per drag´n drop lustig PostIt zettel auf der Oberfläche umherbewegen kann. Funtioniert natürlich 1+ im IE aber mal eher gar nicht in Mozilla, Netscape etc...

    http://home.arcor.de/struebig/js/gimmick/drag and drop.html

  3. hi,
    hier kann sich auch keiner entscheiden wa? :-)

    mal heißt es poste bitte alles damit man den zusammenhang sehen kann dann wieder poste bitte weniger....ts ts ts.

    Die beiden beispiele nützen mir genauso wenig weil sie beide wieder mit einem event arbeiten und ich nicht verstehe wie das überhaupt an die funktion übergeben wird...

    Vielleciht findet sich ja noch jemand der mir da helfen kann...

    schönen Gruß
    .dan.One.

    1. Die beiden beispiele nützen mir genauso wenig weil sie beide wieder mit einem event arbeiten und ich nicht verstehe wie das überhaupt an die funktion übergeben wird...

      Naja, du hättest dir ja den Code mal durchlesen können, für da Skript ist es nur wichitg welche Klasse dein Layer hat.

      Also in mit deinem Beispiel:

      <div
      id='postIt2'
      style='background-image:url(images/postit.png);left:400;top:100;'
      class="draggableElement"

      sdtgfsg</div>

      fertig.

      Struppi.