因为要求是动态的,我就想到了应该是位置的变化,想到之前用过的JQuery,把里边的效果全试了试,最后选用了animate自定义,代码如下:
复制代码 代码如下:
<html>
<head>
<title>testAnimate</title>
<script type="text/javascript">
function changeNum(n) { //n设为想要改成的数字
$(function () {
$("counter").animate({ top: '+=20px', opacity: '0' }, "slow", function () { //让数字向下移动并消失,top为元素距网页顶部距离,opacity为透明度,值为0~1
document.getElementById("counter").innerHTML = n; //等数字消失后变为n,网页里有id为counter的一个span元素,这段代码必须放在animate里边,否则数字消失之前它的数值就改变了
})
.animate({ top: '-=40px' }, "slow") //数字n跳至原来位置的上方
.animate({ top: '+=20px', opacity: '1' }, "slow"); //数字n出现并落至数字原来位置,opacity为0时是对象完全透明,就是消失,值为1时是完全显现
});
}
</script>
</head>
<body>
<span id="counter">1</span>
</body>
</html>
我只是新手,JQuery的原理不懂,只是效果实现了,把我的思路写一下,第一次用博客园,不怎么会使,有错误请指正,谢谢
【基于JQuery的数字改变的动画效果--可用来做计数器】相关文章: