Я пытаюсь найти простой способ прикрепить события щелчка к элементу, что довольно просто для событий 1-го и 2-го щелчка. Но я пытаюсь выполнить переключение из трех щелчков.
1-й клик = addClas ('one');
2-й клик = removeClass ('one'). AddClass ('two');
3-й клик = removeClass ('two'). AddClass ('three');
следующий клик будет == 1-й клик и снова через цикл ..
Я использую простой div и применяю стилизацию с помощью CSS, чтобы изменить положение фона элементов - все довольно типично и просто ... и это просто для события toggle () или click () ... но я могу не пойму на всю жизнь, как справиться с 3-м щелчком! : D
вот моя разметка, например:
Любая помощь очень ценится!
UPDATE:
У меня есть кое-что, что работает ... но, ИМХО, это уродливо и грязно ... должен быть более чистый, более краткий способ сделать это:
$ ( "Tri_switch"). Нажмите (функция () {
var this_id = $ (this) .attr ("id");
if( $(this).hasClass("one") ){
$("input#user_"+this_id).attr('checked','checked');
$("input.tri_switch_radio").not("#user_"+this_id).removeAttr('checked');
$(this).removeClass('one').addClass('two');
$("span.tri_switch_checked").text('User');
}
else if ( $(this).hasClass("two") ){
$("input#admin_"+this_id).attr('checked','checked');
$("input.tri_switch_radio").not("#admin_"+this_id).removeAttr('checked');
$(this).removeClass('two').addClass('three');
$("span.tri_switch_checked").text('Admin');
}
else if ( $(this).hasClass("three") ){
$("input#readonly_"+this_id).attr('checked','checked');
$("input.tri_switch_radio").not("#readonly_"+this_id).removeAttr('checked');
$(this).removeClass('three').addClass('one');
$("span.tri_switch_checked").text('Readonly');
}
// alert (this_id);
});