J'ai une page Web où je peux cliquer dessus pour ajouter une image. Si je clique ensuite sur l'image, elle est plus grande et si je clique à nouveau, elle redimensionne la taille d'origine. Si je clique ensuite ailleurs sur l'écran, je peux créer une autre image et la faire grandir et la réduire en cliquant dessus. Le problème est que la dernière image peut être redimensionnée en cliquant même si aucune des variables n'est supprimée ou modifiée. Cela fait partie d'un jeu sur lequel je travaille. J'ai fait un exemple de page avec le moins de code possible pour l'essayer et je peux l'obtenir ici. http://johncleary.net/hg/ Ce que je veux être en mesure de cliquer sur une image à tout moment et il se développera et se rétrécirPourquoi mon élément de page le plus récemment ajouté peut-il être redimensionné?
Répondre
À partir du code sur votre page, je vois que vous utilisez innerHTML += ...
pour ajouter de nouvelles images - ce n » C'est une très bonne chose, car cela oblige le navigateur à recréer tous les éléments internes à chaque fois que vous le faites, et cela peut provoquer des interactions bizarres avec les gestionnaires d'événements.
Envisager d'utiliser des méthodes DOM pour créer et ajouter des éléments, par exemple:
var e = document.createElement('img');
e.id = id;
e.onclick = pieceClicked; // No parameter required, this.id is available directly inside the function
...
board.appendChild(e);
D'autres notes secondaires:
Vous utilisez
xPix * yPix
dans le cadre de l'ID: Si vous vous attendez à ce que ce soit unique, ce n'est peut-être pas le cas. Par exemple,x = 500, y = 10
etx = 10, y = 500
donneront le même ID. Que diriez-vous juste d'utiliserxPix + ',' + yPix
comme une chaîne par elle-même? Les lignes sur lesquelles vous initialisezPieces[id]
peuvent être réduites à une forme plus simple en utilisant la notation d'objet:Pieces[id] = { Piece: ..., xPix: ..., yPix: ... }
- 1. Django, filtrer l'élément le plus récemment ajouté
- 2. Le cache le plus récemment utilisé à l'aide de C++
- 3. Pourquoi JQuery ajoute-t-il un style à mon élément de liste ajouté?
- 4. Parcourez chaque élément récemment créé dans Rails?
- 5. Bash Script pour trouver le fichier le plus récemment modifié
- 6. jquery - élément ajouté non draggable
- 7. Est-ce que VBScript peut déterminer le fichier le plus récemment modifié (ou ajouté) dans un dossier particulier?
- 8. Javascript Manière universelle de connaître le nouvel élément ajouté
- 9. comment trouver le fichier le plus récemment archivé dans VSS
- 10. Comment trouver le fichier le plus récemment édité dans NSIS
- 11. NSMutableArray ne peut pas être ajouté à
- 12. Récemment consulté DIV sans rechargement de page
- 13. plus d'un élément de formulaire peut être présent dans asp.net?
- 14. Pourquoi un "L" est-il ajouté à mon chemin Java?
- 15. élément Sélectionnez après l'avoir ajouté
- 16. Le titre monte s'il est ajouté plus de texte
- 17. Forcer un JComponent être carré lorsqu'il est redimensionné
- 18. Commander des articles Wordpress par le plus récemment commenté
- 19. Pourquoi mon élément est-il nul?
- 20. jQuery - élément le plus large sur la page
- 21. vue android texte personnalisé ne peut pas être ajouté dans le fichier de mise en page
- 22. Erreur de lieur uniquement lorsque j'appelle un fichier d'en-tête récemment ajouté
- 23. Pourquoi mon dégradé webkit supprime-t-il mon élément span?
- 24. Le module DNN personnalisé ne peut pas être ajouté à la page
- 25. .licx doit être ajouté au projet principal?
- 26. Un ScriptReference peut-il être ajouté à la page maître CompositeScript en utilisant le balisage?
- 27. ajouté TextToSpeech à mon activité et maintenant mon onDestroy n'est plus appelé, bug?
- 28. Rafraîchissant Listbox après avoir ajouté élément DataContext
- 29. Drupal: Le menu de mise en page Can Book peut-il être ajouté et développé dans le menu principal?
- 30. JSP quel taglib devrait être ajouté?
Quel est le point de la variable 'pieceC'? Je ne vois aucune raison pour cela. –
Votre titre devrait être un résumé de votre question; Des titres comme "S'il vous plaît aidez-moi" ne sont pas de très bonnes annonces pour votre question. – meagar