2017-05-24 3 views
0
var element = document.getElementById('image1'); 

function leftArrowPressed() { 
    element.style.left = parseInt(element.style.left) - 5 + 'px'; 
} 

Le code est utilisé pour déplacer des images à l'aide des touches fléchées. Lorsque element est une variable globale, cela ne fonctionne pas mais fonctionne quand c'est une variable locale. Pourquoi?Numéro de variable globale et locale

+1

Une question annexe à votre code actuel: Pourquoi ne transmettez-vous pas l'élément variable comme argument dans votre fonction 'leftArrowPressed()'? – reporter

+0

Pourriez-vous me montrer comment? –

+0

'function leftArrowPressed (un objet) {anObject.style.left = parseInt (anObject.style.left) - 5 + 'px';} leftArrowPressed (élément);' – reporter

Répondre

0

Il n'y a aucun problème avec la portée.

Je ne vois pas tout le code. Je suppose que c'est un problème dans cette ligne car il est appelé quand l'élément DOM n'existe pas.

var element = document.getElementById("image1"); 

Essayez d'utiliser window.onload.