<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
#div1 {width:100px; height:200px; background:#CCC; position:absolute; left:-100px;}
#div1 span {width:20px; height:60px; line-height:20px; text-align:center; left:100px; top:70px; background:yellow; position:absolute;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload=function ()
{
var oDiv=document.getElementById('div1');
oDiv.onmouseover=function ()
{
startMove(0);
}
oDiv.onmouseout=function ()
{
startMove(-100);
}
}
var timer=null;
function startMove(iTarget)
{
var oDiv=document.getElementById('div1');
clearInterval(timer);
timer=setInterval(function (){
var iSpeed=0;
if(oDiv.offsetLeft<iTarget)
{
iSpeed=10;
}
else
{
iSpeed=-10;
}
if(oDiv.offsetLeft==iTarget)
{
clearInterval(timer);
}
else
{
oDiv.style.left=oDiv.offsetLeft+iSpeed+'px';
}
}, 30);
}
</script>
</head>
<body>
<div id="div1">
<span>分享到</span>
</div>
</body>
</html>
运动框架:在开始运动时,关闭已有的定时器,将运动和停止用(if/else)隔开。
这段代码主要是基本函数的综合应用,包括offsetleft,setInterval,clearInterval,核心思想是当左边距小于目标值时,ispeed>0,左边距大于目标值时,ispeed<0,从而实现滑动。
本文介绍了一个简单的HTML元素动画实现案例,通过JavaScript控制div元素的位置变化,实现鼠标悬停时元素的左右滑动效果。该案例利用了offsetLeft属性、setInterval与clearInterval函数,展示了如何在网页中为元素添加动态效果。
1623

被折叠的 条评论
为什么被折叠?



