Twitter Bootstrap 的按钮有一个很好的Loading...可用状态。
Loading...
问题是它只显示一条消息,就像Loading...通过这样的data-loading-text属性传递的:
data-loading-text
<button type="button" class="btn btn-primary start" id="btnStartUploads" data-loading-text="@Localization.Uploading"> <i class="icon-upload icon-large"></i> <span>@Localization.StartUpload</span> </button>
查看 Font Awesome,您会看到现在有一个动画微调器图标。
在触发这样的操作时,我尝试集成该微调器图标Upload:
Upload
$("#btnStartUploads").button('loading'); $("#btnStartUploads i").removeAttr('class'); $("#btnStartUploads i").addClass('icon-spinner icon-spin icon-large');
但这根本没有效果,也就是说,我只看到Uploading...按钮上的文字。
Uploading...
按钮处于加载状态时是否可以添加图标?看起来 Bootstrap 只是<i class="icon-upload icon- large"></i>在处于加载状态时删除了按钮内的图标。
<i class="icon-upload icon- large"></i>
这是一个简单的演示,显示了我上面描述的行为。如您所见,当它进入 Loading 状态时,图标就消失了。它会在时间间隔之后重新出现。
如果您查看bootstrap- button.js源代码,您会看到 bootstrap 插件在调用时将按钮内部 html 替换为 data-loading-text$(myElem).button('loading')中的任何内容。
$(myElem).button('loading')
对于您的情况,我 认为 您应该能够做到这一点:
<button type="button" class="btn btn-primary start" id="btnStartUploads" data-loading-text="<i class='icon-spinner icon-spin icon-large'></i> @Localization.Uploading"> <i class="icon-upload icon-large"></i> <span>@Localization.StartUpload</span> </button>