Я не уверен, что вы подразумеваете под переключателем. Может быть, вы можете использовать радио-кнопки?
Чтобы ответить на второй вопрос, вы можете использовать стиль CSS pointer-events
, чтобы сделать ссылку недоступной для клика.
.dim.disabled {
pointer-events: none;
}
Тогда JS будет:
$(document).on('click', '.switch', function () {
var v = $(".switch").attr("isValue");
if (v == 1) {
$(".switch").attr("isValue", "0");
$(".dim").removeClass("disabled");
}
else {
$(".switch").attr("isValue", "1");
$(".dim").addClass("disabled");
}
});
Вы также не должны создавать пользовательские атрибуты, такие как isValue
. Если вам нужно сохранить пользовательские данные в элементе, используйте .data()
. Так $(".switch").attr("isValue", "1")
становится $(".switch").data("isValue", 1);