button.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. layui.define(['jquery'], function(exports) {
  2. "use strict";
  3. /**
  4. * Button component
  5. * */
  6. var MOD_NAME = 'button',
  7. $ = layui.jquery;
  8. var button = function(opt) {
  9. this.option = opt;
  10. };
  11. /**
  12. * Button start loading
  13. * */
  14. button.prototype.load = function(opt) {
  15. var option = {
  16. elem: opt.elem,
  17. time: opt.time ? opt.time : false,
  18. done: opt.done ? opt.done : function(){}
  19. }
  20. var text = $(option.elem).html();
  21. $(option.elem).html("<i class='layui-anim layui-anim-rotate layui-icon layui-anim-loop layui-icon-loading'/>");
  22. $(option.elem).attr("disabled", "disabled");
  23. var buttons = $(option.elem);
  24. if (option.time != "" || option.time !=false) {
  25. setTimeout(function() {
  26. $(option.elem).attr("disabled", false);
  27. buttons.html(text);
  28. option.done();
  29. }, option.time);
  30. }
  31. option.text = text;
  32. return new button(option);
  33. }
  34. /**
  35. * Button stop loaded
  36. * */
  37. button.prototype.stop = function(success) {
  38. $(this.option.elem).attr("disabled", false);
  39. $(this.option.elem).html(this.option.text);
  40. success && success();
  41. }
  42. exports(MOD_NAME, new button());
  43. });