You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.3KB

  1. function Состояния()
  2. {
  3. this.создать = function()
  4. {
  5. this.задано = {};
  6. };
  7. this.применить = function(имя)
  8. {
  9. /*
  10. let ключ = `${элемент.id}-${имя}`;
  11. // Останавливаем прошлый экземпляр этой анимации на том же элементе.
  12. if (ключ in this.анимации)
  13. {
  14. this.анимации[ключ].остановить();
  15. delete this.анимации[ключ];
  16. }
  17. // Запускаем новый экземпляр анимации на том же элементе.
  18. this.анимации[ключ] = new Анимация(элемент, this.задано[имя]);
  19. */
  20. }
  21. this.обработатьКлюч = function(ключ, путь, значение)
  22. {
  23. if (путь[0] != "состояния")
  24. {
  25. return;
  26. }
  27. let имя = путь[1];
  28. let свойство = путь.slice(2).join(".");
  29. if (!this.задано[имя])
  30. {
  31. this.задано[имя] = {};
  32. }
  33. this.задано[имя][свойство] = значение;
  34. };
  35. // Конструктор.
  36. this.создать();
  37. };