Verschieben der Karte mit onMousedown

Status
Nicht offen für weitere Antworten.

Xching

Erfahrenes Mitglied
Hi zusammen,
ich habe eine Funktion für Verschieben der Karte geschrieben, aber es funktioniert irgendwie nicht. vielleicht können sie mir weiterhelfen, wo ich fehler gemacht habe.

Javascript:
<script type="text/javascript">
<![CDATA[
function moveMap(){
var x ;
var y ;
var translatenX = ["translateX(.75)","translateX(1)","translateX(1.3)","translateX(1.6)","translateX(2)","translateX(2.3)","translateX(2.6)","translateX(3)"];
var translatenY = ["translateY(.75)","translateY(1)","translateY(1.3)","translateY(1.6)","translateY(2)","translateY(2.3)","translateY(2.6)","translateY(3)"];
var translateX;
var translateY;

translateX = document.getElementById("frameWMap1").translateX;
translateY = document.getElementById("frameWMap1").translateY;
// Durchlafen von X-Achse
Schleife: for(x=0; x < translatenX.length; x++) {
//Durchlaufen von Y-Achse
          for(y=0; y < translatenY.length; y++){
        alert(translateX+"=="+translatenX[x]);
        alert(translateY+"=="+translatenY[y]);
        if(translateX==translatenX[x]) {
            alert("IST GLEICH");
            //translateX= frameWMap1.style.left=frameWMap1.offsetLeft+x+"px";
            translateX=frameWMap1.offsetLeft+x+"px";
         }
        if(translateY==translatenY[y]) {
            alert("IST GLEICH");
            //translateY = frameWMap1.style.top=frameWMap1.offsetTop+y+"px";
            translateY = frameWMap1.offsetTop+y+"px";
         }
        }
    }  
}
document.onMousedown = moveMap();
]]>
</script>
';
 
Zuletzt bearbeitet:
Dieses hier:
Code:
translateX = document.getElementById("frameWMap1").translateX;
scheint mir fehlerhaft zu sein: Die CSS-Eigenschaft heißt transform und translateX() ist ein Wert davon. Siehe hier:
http://wiki.selfhtml.org/wiki/CSS/Eigenschaften/äußere_Gestaltung/Transformationen
Demnach müsste es so richtig sein:
Code:
translateX = document.getElementById("frameWMap1").style.transform;
Außerdem benötigt translate, AFAIK, eine Maßeinheit, z. B. px oder %. Ein Wert ohne Maßeinheit bewirkt bei mir gar nichts.
Weiter musst Du berücksichtigen, dass Du eine CSS-Eigenschaft erst mit Javascript auslesen kannst, wenn Du sie zuvor damit gesetzt hast.
Außerdem ist es wahrscheinlich viel einfacher, das Verschieben der Karte mit jQuery-draggable() zu realisieren.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück