Os botões do Twitter Bootstrap têm um bom Loading...
estado disponível.
O fato é que apenas mostra uma mensagem como Loading...
passada através do data-loading-text
atributo desta forma:
<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>
Observando Font Awesome, você vê que agora existe um ícone giratório animado .
Tentei integrar esse ícone giratório ao disparar uma Upload
operação como esta:
$("#btnStartUploads").button('loading');
$("#btnStartUploads i").removeAttr('class');
$("#btnStartUploads i").addClass('icon-spinner icon-spin icon-large');
mas isso não teve efeito algum, ou seja, apenas vejo o Uploading...
texto no botão.
É possível adicionar um ícone quando o botão está no estado Carregando? Parece que, de alguma forma, o Bootstrap remove o ícone <i class="icon-upload icon-large"></i>
dentro do botão enquanto estiver no estado Carregando.
Aqui está uma demonstração simples que mostra o comportamento que descrevi acima. Como você vê quando entra no estado Carregando, o ícone simplesmente desaparece. Ele reaparece logo após o intervalo de tempo.
fonte
Respostas:
Se você olhar para o fonte bootstrap-button.js , verá que o plug-in de inicialização substitui os botões html interno pelo que estiver no texto de carregamento de dados ao chamar
$(myElem).button('loading')
.Para o seu caso, acho que você deve conseguir fazer isso:
fonte
HTML
com texto em uma propriedade de tag. :-)data-loading-text
foi descontinuado desde a v3.3.5 e será removido na v4.Solução simples para o Bootstrap 3 usando animações CSS3.
Coloque o seguinte no seu CSS:
Em seguida, basta adicionar a
spinning
classe a umglyphicon
carregamento para obter o ícone giratório:Com base em http://www.bootply.com/128062#
fonte
animation
e não-animation
?animation
vez de-animation
. Com essa mudança bem em FF e IE para mim. A animação do Firefox não parece muito suave.Agora existe um plugin completo para isso:
http://msurguy.github.io/ladda-bootstrap/
fonte
Para tornar a solução da @flion realmente ótima, você pode ajustar o ponto central desse ícone para que não oscile para cima e para baixo. Parece certo para mim em um tamanho de fonte pequeno:
fonte
.glyphicon-refresh.spinning { transform-origin: 50% 58%; }
trabalhou para mim{ transform-origin: 50% 49%; }
resolva no meu caso em que estou usandocog
.Aqui está a minha solução para o Bootstrap 4:
Confira no JSFiddle
fonte
Estes são meus, baseados em animações puras SVG e CSS. Não preste atenção ao código JS no trecho abaixo, é apenas para fins de demonstração. Sinta-se livre para criar seus personalizados com base nos meus, é super fácil.
Também disponível no CodePen: https://codepen.io/anon/pen/PeRazr
fonte
Aqui está uma solução css completa, inspirada na Bulma. Basta adicionar
fonte