animate.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @fileOverview
  3. *
  4. * 动画控制
  5. *
  6. * @author: techird
  7. * @copyright: Baidu FEX, 2014
  8. */
  9. define(function(require, exports, module) {
  10. var Minder = require('./minder');
  11. var animateDefaultOptions = {
  12. enableAnimation: true,
  13. layoutAnimationDuration: 300,
  14. viewAnimationDuration: 100,
  15. zoomAnimationDuration: 300
  16. };
  17. var resoredAnimationOptions = {};
  18. Minder.registerInitHook(function() {
  19. this.setDefaultOptions(animateDefaultOptions);
  20. if (!this.getOption('enableAnimation')) {
  21. this.disableAnimation();
  22. }
  23. });
  24. Minder.prototype.enableAnimation = function() {
  25. for (var name in animateDefaultOptions) {
  26. if (animateDefaultOptions.hasOwnProperty(name)) {
  27. this.setOption(resoredAnimationOptions[name]);
  28. }
  29. }
  30. };
  31. Minder.prototype.disableAnimation = function() {
  32. for (var name in animateDefaultOptions) {
  33. if (animateDefaultOptions.hasOwnProperty(name)) {
  34. resoredAnimationOptions[name] = this.getOption(name);
  35. this.setOption(name, 0);
  36. }
  37. }
  38. };
  39. });