Проверить Matter.js
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

60 lignes
1.8KB

  1. function Изображения(корень)
  2. {
  3. this.создать = function()
  4. {
  5. this.умолчание = {
  6. x: 0,
  7. y: 0,
  8. ширина: 100,
  9. высота: 100,
  10. угол: 0,
  11. };
  12. this.задано = {};
  13. this.элементы = {};
  14. };
  15. this.обработатьКлюч = function(ключ, путь, значение)
  16. {
  17. var имя = путь[1];
  18. var свойство = путь.slice(2).join(".");
  19. if (!this.задано[имя])
  20. {
  21. this.задано[имя] = {};
  22. }
  23. this.задано[имя][свойство] = значение;
  24. this.обновитьЭлемент(имя);
  25. };
  26. this.создатьИлиПолучитьЭлемент = function(имя)
  27. {
  28. var эл = this.элементы[имя];
  29. if (эл)
  30. {
  31. return эл;
  32. }
  33. var ум = this.умолчание;
  34. эл = document.createElement("div");
  35. эл.id = `изображения-${имя}`;
  36. эл.style.position = "absolute";
  37. эл.style.display = "block";
  38. // Свойства по умолчанию.
  39. эл.style.width = `${ум.ширина}px`;
  40. эл.style.height = `${ум.высота}px`;
  41. эл.style.transform = `translate(${ум.x}px, ${ум.y}px) rotate(${ум.угол}rad)`;
  42. this.элементы[имя] = эл;
  43. корень.appendChild(эл);
  44. return эл;
  45. };
  46. this.обновитьЭлемент = function(имя)
  47. {
  48. var эл = this.создатьИлиПолучитьЭлемент(имя);
  49. };
  50. // Конструктор.
  51. this.создать();
  52. }