J'ai un élément DOM (dans certains cas plusieurs) que je veux déplacer (en changeant le css) quand le périphérique se déplace.Comment transférer la propriété 'devicemotion' en JavaScript?
Maintenant, je me demande pourquoi cela ne fonctionne pas:
var aDOMElement = document.getElementById("someId");
aDOMElement.DeviceMotionEvent = window.DeviceMotionEvent;
aDOMElement.addEventListener('devicemotion', motionHandler, false);
Je considère une solution de contournement à travailler juste avec l'objet window
et dans le rappel que je gère les mouvements de tous les objets qui sont stockés dans un tableau .
Un peu comme ceci:
function motionHandler(event) {
for (var obj in objectList) {
obj.move(event);
}
}
Cependant, pour une raison étrange, la fonction move
j'affecté à l'objet avant de le ranger dans la liste est undefined
. Les explications et/ou solutions pour cela sont les bienvenues.
EDIT:
Voici comment créer et ajouter l'objet au tableau:
var objectList = [];
var elem = document.createElement("div");
//add some properties
elem.id = "someId";
elem.move = specificMoveFunction;
//add it to the list
objectList[elem.id] = elem;
Pouvez-vous montrer 'objectList' et comment vous ajoutez des objets/attacher' move'? – azium
De même, 'objectList' ressemble à un tableau, vous devriez donc utiliser une syntaxe d'itération différente, comme' objectList.forEach (fonction (obj) {obj.move (événement)}) ' – azium
J'ai ajouté les modifications demandées. – Gandora