Eu originalmente criei um aplicativo da web em HTML, CSS e JavaScript, então fui solicitado a criá-lo novamente no Bootstrap. Fiz tudo bem, mas tinha botões de alternância no aplicativo da web que mudaram de volta para botões de rádio (originalmente caixa de seleção) em vez dos botões de alternância que tinha originalmente.
O código dos botõ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>
e os arquivos JavaScript e CSS aos quais a página HTML está vinculada são:
<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">
Existe uma maneira de alterar o código para que eu possa obter o botão de alternância de volta?
javascript
jquery
css
twitter-bootstrap
jqtouch
Megan Sime
fonte
fonte
Respostas:
Resposta inicial de 2013
Um excelente (não oficial) Bootstrap Switch está disponível .
Ele usa tipos de rádio ou caixas de seleção como interruptores. Um
type
atributo foi adicionado desde V.1.8.O código-fonte está disponível no Github .
Nota de 2018
Eu não recomendaria usar esse tipo de botão Switch antigo agora, pois eles sempre pareceram sofrer de problemas de usabilidade, conforme apontado por muitas pessoas.
Considere dar uma olhada em Switches modernos como este da estrutura do Componente React (não relacionado ao Bootstrap, mas pode ser integrado na grade do Bootstrap e na IU).
Existem outras implementações para Angular, View ou jQuery.
Switches de bootstrap nativos
Veja a resposta do ohkts11 abaixo sobre as opções nativas do Bootstrap .
fonte
Se você não se importa em mudar seu HTML, pode usar o
data-toggle
atributo em<button>
s. Consulte a seção de alternância única dos exemplos de botão :fonte
aria-pressed="true"
pode ser usado para verificar o estadoO Bootstrap 3 tem opções para criar botões de alternância com base em caixas de seleção ou botões de rádio: http://getbootstrap.com/javascript/#buttons
Caixas de seleção
Botões do rádio
Para que funcionem, você deve inicializar os
.btn
s com Javascript do Bootstrap:fonte
Tenho tentado ativar a classe 'ativa' manualmente com javascript. Não é tão utilizável quanto uma biblioteca completa, mas para casos fáceis parece ser suficiente:
Se você pensar com cuidado, a classe 'ativa' é usada pelo bootstrap quando o botão está sendo pressionado, não antes ou depois disso (nosso caso), portanto, não há conflito em reutilizar a mesma classe.
Tente este exemplo e diga-me se ele falhar: http://jsbin.com/oYoSALI/1/edit?html,js,output
fonte
Se você deseja manter uma pequena base de código, só precisará do botão de alternância para uma pequena parte do aplicativo. Em vez disso, sugiro que você mantenha seu código javascript (angularjs, javascript, jquery) e use CSS simples.
Bom gerador de botão de alternância: https://proto.io/freebies/onoff/
fonte
Aqui é muito útil para botão de alternância de bootstrap . Exemplo no trecho de código !! e jsfiddle abaixo.Mostrei alguns exemplos acima. Espero que ajude. Js Fiddle está aqui. O código-fonte está disponível no GitHub.Atualização 2020 para Bootstrap 4
Recomendei bootstrap4-toggle em 2020.
fonte
Você pode usar a biblioteca CSS Toggle Switch. Basta incluir o CSS e programar o JS você mesmo: http://ghinda.net/css-toggle-switch/bootstrap.html
fonte
Você pode usar o Material Design Switch para Bootstrap 3.3.0
http://bootsnipp.com/snippets/featured/material-design-switch
fonte
Solução Bootstrap 4
bootstrap 4 naves comutador integrado. Aqui está a documentação. https://getbootstrap.com/docs/4.3/components/forms/#switches
fonte
No caso de alguém ainda estar procurando por um botão de alternar / alternar legal, eu segui a sugestão de Rick e criei uma diretiva angular simples em torno dele, interruptor angular . Além de preferir um switch no estilo do Windows, o download total também é muito menor (2kb vs 23kb css + js minificado) em comparação com o switch de bootstrap angular e o switch de bootstrap mencionados acima.
Você o usaria da seguinte maneira. Primeiro inclua o arquivo js e css necessário:
E habilite-o em seu aplicativo angular:
Agora você está pronto para usá-lo da seguinte maneira:
fonte