54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| layui.define(['jquery'], function(exports) {
 | |
| 	"use strict";
 | |
| 
 | |
| 	/**
 | |
| 	 * Button component
 | |
| 	 * */
 | |
| 	var MOD_NAME = 'button',
 | |
| 		$ = layui.jquery;
 | |
| 
 | |
| 	var button = function(opt) {
 | |
| 		this.option = opt;
 | |
| 	};
 | |
| 
 | |
|     /**
 | |
| 	 * Button start loading
 | |
| 	 * */
 | |
| 	button.prototype.load = function(opt) {
 | |
| 		
 | |
| 		var option = {
 | |
| 			elem: opt.elem,
 | |
| 			time: opt.time ? opt.time : false,
 | |
| 			done: opt.done ? opt.done : function(){}
 | |
| 		}
 | |
| 		var text = $(option.elem).html();
 | |
| 		
 | |
| 		$(option.elem).html("<i class='layui-anim layui-anim-rotate layui-icon layui-anim-loop layui-icon-loading'/>");
 | |
| 		
 | |
| 		$(option.elem).attr("disabled", "disabled");
 | |
| 		
 | |
| 		var buttons = $(option.elem);
 | |
| 		
 | |
| 		if (option.time != "" || option.time !=false) {
 | |
| 			setTimeout(function() {
 | |
| 				$(option.elem).attr("disabled", false);
 | |
| 				buttons.html(text);
 | |
| 				option.done();
 | |
| 			}, option.time);
 | |
| 		}
 | |
| 		option.text = text;
 | |
| 		return new button(option);
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * Button stop loaded
 | |
| 	 * */
 | |
| 	button.prototype.stop = function(success) {
 | |
| 		$(this.option.elem).attr("disabled", false);
 | |
| 		$(this.option.elem).html(this.option.text);
 | |
| 		success && success();
 | |
| 	} 
 | |
| 
 | |
| 	exports(MOD_NAME, new button());
 | |
| });
 |