Come attivare il contenuto nei pulsanti UI semantici?
-
21-12-2019 - |
Domanda
the Documentazione afferma un pulsante può essere formattato per il passaggio o disattivato, ma l'esempio dato è solo
<div class="ui toggle button">
Vote
</div>
.
che naturalmente, non funziona.Un'ispezione del codice sorgente dell'esempio rivela una classe active
è stata aggiunta a livello di programmazione.
Probabilmente mi manca qualcosa di semplice, ma come posso creare un pulsante di commutazione come in quell'esempio?Qual è la sintassi per specificare cosa alternarsi tra?
Soluzione
Il codice qui sotto sta facendo la magia:
semantic.button = {};
// ready event
semantic.button.ready = function() {
// selector cache
var
$buttons = $('.ui.buttons .button'),
$toggle = $('.main .ui.toggle.button'),
$button = $('.ui.button').not($buttons).not($toggle),
// alias
handler = {
activate: function() {
$(this)
.addClass('active')
.siblings()
.removeClass('active')
;
}
}
;
$buttons
.on('click', handler.activate)
;
$toggle
.state({
text: {
inactive : 'Vote',
active : 'Voted'
}
})
;
};
// attach ready event
$(document)
.ready(semantic.button.ready)
;
. Altri suggerimenti
Il modo più semplice per ottenere i pulsanti a legna da lavorare senza alcuna opzione, ecc. È il seguente:
$('.ui.button.toggle').state();
.
Questo dovrebbe alternare tra i colori grigi e verdi predefiniti sul clic.Vedi le altre risposte per un comportamento più complicato.Assicurati che il DOM ecc. Viene caricato prima come con altre iniziative UI semantiche.
è molto semplice,
<button class="ui toggle button active" id="tgl">Toogle button</button>
.
Basta utilizzare la classica jQuery click per toogle la classe attiva e aggiungere altre modifiche necessarie.Penso che l'utilizzo della fase semantica sia una perdita di tempo in questo caso.
$('#tgl').click(function(){
$(this).toggleClass('active');
});
. Il seguente codice semplice funziona bene per due diversi pulsanti di commutazione con evento onClick.Grazie Mukesh per ispirare me.
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" type="text/css" href="../../dist/semantic.css">
<script src="../assets/library/jquery.min.js"></script>
<script src="../../dist/semantic.js"></script>
</head>
<script>
function show(b){
alert( $(b).hasClass("active"));
}
// attach ready event
$(document)
.ready(function() {
var $toggle = $('.ui.toggle.button');
$toggle
.state({
text: {
inactive : 'Vote',
active : 'Voted'
}
})
;
})
;
</script>
<body>
<button class="ui toggle button" onclick="show(this)">
Vote
</button>
<br/><br/>
<button class="ui toggle button" onclick="show(this)">
Vote
</button>
</body>
</html>
.