我有以下一段代碼。jQuery .animate問題
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');
}
正如你所看到的代碼是在如果雙方是相同的,但如果這是真的了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%;
}
可能會提供一個JSFiddle。 –
您需要使用backgroundPositionX ...但它只適用於Chrome,這是一個跨瀏覽器的解決方案:http://stackoverflow.com/questions/13442897/jquery-animate-backgroundposition-not-working?rq=1 – pathfinder