У меня есть следующий фрагмент кода.
if ($(checkboxID)[0].checked == false) {
$(this).animate({
'background-position-x': '0%',
'background-position-y': '0%'
}, 200, 'linear');
$(checkboxID)[0].checked = true;
$(this).removeClass('off').addClass('on');
} else {
$(this).animate({
'background-position-x': '100%',
'background-position-y': '0%'
}, 200, 'linear');
$(checkboxID)[0].checked = false;
$(this).removeClass('on').addClass('off');
}
Как вы можете видеть, код идентичен с обеих сторон if, но если это правда, jquery не анимирует переход, независимо от того, насколько я увеличиваю продолжительность. Может ли кто-нибудь из вас увидеть здесь ошибку, которую я пропустил?
РЕДАКТИРОВАТЬ: Вот и css:
.checkbox-style {
display: block;
width: 87px;
height: 28px;
background: url('images/check-square.png') no-repeat;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
overflow: hidden;
cursor: pointer;
}
.on {
background-position: 0% 0%;
}
.off {
background-position: 100% 0%;
}