Chris: rechnen

Hallo

irgendwie habe ich heute einen Knoten in der Leitung...

hier erst einmal der code:

function getScrollX(){
  var xscroll
  xscroll = document.body.scrollLeft;
  return [ xscroll ];
 }

function getScrollY(){
  var yscroll
  yscroll = document.body.scrollTop;
  return [ yscroll ];
 }

x = window.event.clientX;
 y = window.event.clientY;

xsc = getScrollX();
 ysc = getScrollY();

xneu = Math.round(x + xsc);
 yneu = Math.round(y + ysc);

var text2 = new String("yneu=" + yneu);
 window.status = text2;

Mein Problem:
Irgendwie wird das xneu bzw. yneu nicht berechnet, sondern nur aneinander gereiht, d.h. wenn z.B. y = 500 ist und ich scrolle um 150, dann sollte ja yneu 500+150 = 650 sein. angezeigt wird aber immer 500150.
Was mache ich denn falsch?

Gruss
Chris

  1. Hallo,

    Irgendwie wird das xneu bzw. yneu nicht berechnet, sondern nur aneinander gereiht, d.h. wenn z.B. y = 500 ist und ich scrolle um 150, dann sollte ja yneu 500+150 = 650 sein. angezeigt wird aber immer 500150.

    y und ysc liegen intern als Strings vor, die durch eine +-Operation aneinandergereiht werden. Wandle sie mit parseInt() nach Integer um, dann ergibt die +-Operation die gewünschte Addition.

    Grüße,

    Utz

    --
    Mitglied im Ring Deutscher Mäkler
  2. Musst eine Typenumwandlung machen da JS die Variable als String betrachtet

    Also: Y=parseInt(Y)