您的位置:首页 > Web前端 > JavaScript

原生JS动画 定时器 传参

2016-08-16 17:15 507 查看
上栗子

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>鼠标移入移出</title>
<style>

*{margin: 0;padding: 0;}
#div{
position: relative;
left: -200px;
top: 0;
width: 200px;
height: 200px;
background: orange;
}
#div span{
position: absolute;
left: 200px;
top: 30%;
height: 40px;
width: 20px;
background: #eee;
cursor: pointer;
}

</style>
</head>

<body>
<div id="div"><span>分享</span></div>

<script>
window.onload = function(){
var oDiv = document.getElementById('div');

oDiv.onmouseover = function(){
startMove();
}
oDiv.onmouseout = function(){
startMove1();
}
var timer;
function startMove(){
clearInterval(timer); //清除定时器
timer = setInterval(function(){
if(oDiv.offsetLeft == 0){
clearInterval(timer);
}else{
oDiv.style.left = oDiv.offsetLeft+10+'px';
}
},30)
}

function startMove1(){
clearInterval(timer); //清除定时器
timer = setInterval(function(){
if(oDiv.offsetLeft == -200){
clearInterval(timer);
}else{
oDiv.style.left = oDiv.offsetLeft-10+'px';
}
},30)
}

}
</script>
</body>
</html>


startMove() 和 startMove1()非常相似,可以使用参数

js代码变成

<script>
window.onload = function(){
var oDiv = document.getElementById('div');

oDiv.onmouseover = function(){
startMove(10,0);
}
oDiv.onmouseout = function(){
startMove(-10,-200);
}
var timer;
function startMove(speed,offLeft){
clearInterval(timer); //清除定时器
timer = setInterval(function(){
if(oDiv.offsetLeft == offLeft){
clearInterval(timer);
}else{
oDiv.style.left = oDiv.offsetLeft+speed+'px';
}
},30)
}

}
</script>


参数越少越好,速度可以判断

<script>
window.onload = function(){
var oDiv = document.getElementById('div');

oDiv.onmouseover = function(){
startMove(0);
}
oDiv.onmouseout = function(){
startMove(-200);
}
var timer;
function startMove(offLeft){
clearInterval(timer); //清除定时器
timer = setInterval(function(){
var speed;
if(oDiv.offsetLeft > offLeft){
speed = -10;
}else{
speed = 10;
}
if(oDiv.offsetLeft == offLeft){
clearInterval(timer);
}else{
oDiv.style.left = oDiv.offsetLeft+speed+'px';
}
},30)
}

}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  动画 javascript