Los botones de Twitter Bootstrap tienen un buen Loading...
estado disponible.
Lo que pasa es que solo muestra un mensaje como Loading...
pasado a través del data-loading-text
atributo como este:
<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>
Al mirar Font Awesome, ves que ahora hay un ícono giratorio animado .
Intenté integrar ese ícono giratorio al disparar una Upload
operación como esta:
$("#btnStartUploads").button('loading');
$("#btnStartUploads i").removeAttr('class');
$("#btnStartUploads i").addClass('icon-spinner icon-spin icon-large');
pero esto no tuvo ningún efecto, es decir, solo veo el Uploading...
texto en el botón.
¿Es posible agregar un icono cuando el botón está en el estado Cargando? Parece que Bootstrap de alguna manera simplemente elimina el ícono <i class="icon-upload icon-large"></i>
dentro del botón mientras está en el estado Cargando.
Aquí hay una demostración simple que muestra el comportamiento que describo anteriormente. Como ve cuando entra en el estado Cargando, el icono simplemente desaparece. Reaparece justo después del intervalo de tiempo.
fuente
Respuestas:
Si observa la fuente bootstrap-button.js , verá que el complemento bootstrap reemplaza el html interno de los botones con lo que esté en el texto de carga de datos al llamar
$(myElem).button('loading')
.Para su caso, creo que debería poder hacer esto:
fuente
HTML
con texto en una propiedad de etiqueta. :-)data-loading-text
está en desuso desde v3.3.5 y se eliminará en v4.Solución simple para Bootstrap 3 usando animaciones CSS3.
Pon lo siguiente en tu CSS:
Luego solo agrega la
spinning
clase a unglyphicon
momento de carga para obtener tu ícono giratorio:Basado en http://www.bootply.com/128062#
fuente
animation
y no-animation
?animation
lugar de-animation
. Con ese cambio bien en FF e IE para mí. Sin embargo, la animación de Firefox no se ve muy suave.Ahora hay un complemento completo para eso:
http://msurguy.github.io/ladda-bootstrap/
fuente
Para que la solución de @flion se vea realmente genial, puede ajustar el punto central de ese icono para que no se tambalee hacia arriba y hacia abajo. Esto se ve bien para mí en un tamaño de fuente pequeño:
fuente
.glyphicon-refresh.spinning { transform-origin: 50% 58%; }
funcionó para mí{ transform-origin: 50% 49%; }
resolver en mi caso donde estoy usando en sucog
lugar.Aquí está mi solución para Bootstrap 4:
Compruébalo en JSFiddle
fuente
Estos son míos, basados en animaciones SVG y CSS puras. No preste atención al código JS en el fragmento a continuación, es solo para fines de demostración. Siéntase libre de hacer que sus personalizados se basen en los míos, es muy fácil.
También disponible en CodePen: https://codepen.io/anon/pen/PeRazr
fuente
Aquí hay una solución completa de CSS inspirada en Bulma. Solo agrega
fuente