Originalmente creé una aplicación web en HTML, CSS y JavaScript, luego me pidieron que la creara nuevamente en Bootstrap. Lo he hecho todo bien, pero tenía botones de alternancia en la aplicación web que han cambiado a botones de radio (originalmente casilla de verificación) en lugar de los botones de alternancia que tenía originalmente.
El código de los botones es:
<label>
Notifications
<span class='toggle'>
<input type='radio'
class='notifications'
name='notifications'
id='notifications' />
</span>
</li>
<label>
Preview
<span class='toggle'>
<input type='radio'
class='preview'
name='preview'
id='preview' />
</span>
</li>
y los archivos JavaScript y CSS a los que está vinculada la página HTML son:
<script src = 'jqtouch.js'></script>
<script src="jquery.js"></script>
<script src="js/bootstrap.js"></script>
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
¿Hay alguna forma de cambiar el código para poder recuperar el botón de alternancia?
javascript
jquery
css
twitter-bootstrap
jqtouch
Megan Sime
fuente
fuente
Respuestas:
Respuesta inicial de 2013
Hay disponible un excelente Bootstrap Switch (no oficial) .
Utiliza tipos de radio o casillas de verificación como interruptores. Se
type
ha añadido un atributo desde V.1.8.El código fuente está disponible en Github .
Nota de 2018
No recomendaría usar ese tipo de botones de Switch viejos ahora, ya que siempre parecían sufrir problemas de usabilidad como lo señalan muchas personas.
Considere echar un vistazo a los conmutadores modernos como este del marco de React Component (no relacionado con Bootstrap, pero se puede integrar en la cuadrícula y la interfaz de usuario de Bootstrap).
Existen otras implementaciones para Angular, View o jQuery.
Switches de Bootstrap nativos
Vea la respuesta de ohkts11 a continuación sobre los conmutadores Bootstrap nativos .
fuente
Si no le importa cambiar su HTML, puede usar el
data-toggle
atributo en<button>
s. Consulte la sección de alternancia única de los ejemplos de botones :fuente
aria-pressed="true"
se puede usar para verificar el estadoBootstrap 3 tiene opciones para crear botones de alternancia basados en casillas de verificación o botones de radio: http://getbootstrap.com/javascript/#buttons
Casillas de verificación
Botones de radio
Para que estos funcionen, debe inicializar
.btn
s con JavaScript de Bootstrap:fuente
He estado intentando activar la clase 'activa' manualmente con javascript. No es tan utilizable como una biblioteca completa, pero para casos sencillos parece ser suficiente:
Si lo piensa detenidamente, bootstrap usa la clase 'activa' cuando se presiona el botón, no antes o después de eso (nuestro caso), por lo que no hay conflicto en la reutilización de la misma clase.
Prueba este ejemplo y dime si falla: http://jsbin.com/oYoSALI/1/edit?html,js,output
fuente
Si desea mantener una base de código pequeña, y solo necesitará el botón de alternancia para una pequeña parte de la aplicación. Sugeriría, en cambio, mantener su código javascript usted mismo (angularjs, javascript, jquery) y simplemente usar CSS simple.
Buen generador de botones de alternancia: https://proto.io/freebies/onoff/
fuente
Aquí esta muy útil para Bootstrap Toggle Button . Ejemplo en fragmento de código !! y jsfiddle a continuación.Te mostré algunos ejemplos arriba. Espero que ayude. Js Fiddle está aquí El código fuente está disponible en GitHub.Actualización 2020 para Bootstrap 4
Recomendé bootstrap4-toggle en 2020.
fuente
Puede utilizar la biblioteca CSS Toggle Switch. Simplemente incluya el CSS y programe el JS usted mismo: http://ghinda.net/css-toggle-switch/bootstrap.html
fuente
Puede usar el interruptor de diseño de materiales para Bootstrap 3.3.0
http://bootsnipp.com/snippets/featured/material-design-switch
fuente
Solución Bootstrap 4
bootstrap 4 naves incorporado alternar. Aquí está la documentación. https://getbootstrap.com/docs/4.3/components/forms/#switches
fuente
En caso de que alguien todavía esté buscando un buen interruptor / botón de alternancia, seguí la sugerencia de Rick y creé una directiva angular simple a su alrededor, interruptor angular . Además de preferir un conmutador estilo Windows, la descarga total también es mucho más pequeña (2kb vs 23kb minified css + js) en comparación con el conmutador de arranque angular y el conmutador de arranque mencionado anteriormente juntos.
Lo usaría de la siguiente manera. Primero incluya el archivo js y css requerido:
Y habilítelo en su aplicación angular:
Ahora está listo para usarlo de la siguiente manera:
fuente