Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 23.05.08 19:16

hallo.
noch ein problem.
und zwar: ich möchte mit der maus einen zielpunkt festsetzen, zu dem sich dann ein objekt bewegen soll.. das klappt mit dem untenstehenden code zwar, allerdeings bewegt sich das objekt nur, wenn ich die maus bewege. wie bekomme ich die animation ohne mausbewegung hin?

coords = new mouseCoordinates();
document.onmousemove = function(e) {
coords.handler(e);
move();
}

var target = 0;
var position = 0;

function mouseCoordinates() {

var posx = 0;
var posy = 0;

function getCoordinates(e) {
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
}
this.handler = function (e) {
getCoordinates(e);
}
this.getCoordsX = function () {
return posx;
}

this.getCoordsY = function () {
return posy;
}
}

function move() {
if (position < 0.9 * target) {
position += 0.01 * target;
}
document.getElementById("works").style.marginLeft = position+"px";
window.status = i;
}

function setTarget() {
target = coords.getCoordsX();
}

netcup.de Warum gibt es hier Werbung?
nuit nuit am 23.05.08 19:27

dann ruf die funktion nicht im onmousemove function auf?

coords = new mouseCoordinates();
document.onmousemove = function(e) {
coords.handler(e);
}

var target = 0;
var position = 0;

function mouseCoordinates() {

var posx = 0;
var posy = 0;

function getCoordinates(e) {
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
}
this.handler = function (e) {
getCoordinates(e);
}
this.getCoordsX = function () {
return posx;
}

this.getCoordsY = function () {
return posy;
}
}

function move() {
if (position < 0.9 * target) {
position += 0.01 * target;
}
document.getElementById("works").style.marginLeft = position+"px";
window.status = i;

if(position < 0.9*target) {
window.setTimeout('move()',50);
}
}

function setTarget() {
target = coords.getCoordsX();
move();
}

aber so wie für mich das ausschaut....nimm lieber irgendwie mootools oder jquery oder so ^^
das sind wahrscheinlich ein paar Zielen, soweit ich mich erinnere....

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt