object-position/object-fit img sprites与数字翻动效果
回到相关文章 »代码:
CSS代码:
.num {
width: 40px; height: 40px;
object-fit: none;
object-position: 0 0;
-webkit-transition: object-position .25s;
transition: object-position .25s;
}
.num0 { }
.num1 { object-position: 0 -40px; }
.num2 { object-position: 0 -80px; }
.num3 { object-position: 0 -120px; }
.num4 { object-position: 0 -160px; }
.num5 { object-position: 0 -200px; }
.num6 { object-position: 0 -240px; }
.num7 { object-position: 0 -280px; }
.num8 { object-position: 0 -320px; }
.num9 { object-position: 0 -360px; }
HTML代码:
<p><strong>显示的数字是(100~999):<input type="number" value="283" min="100" max="999"></strong></p>
<img src="icons-ol.png" class="num num2">
<img src="icons-ol.png" class="num num8">
<img src="icons-ol.png" class="num num3">
JS代码:
if (window.addEventListener) {
var eleNums = document.querySelectorAll(".num");
document.querySelector(".demo input").addEventListener("change", function() {
var value = this.value.trim() * 1;
if (!value || value < 100 || value > 999) { value = 283; }
this.value = value;
this.value.split("").forEach(function(num, index) {
eleNums[index].className = "num num" + num;
});
});
}
效果:
显示的数字是(100~999):