z921129H
2016-04-09 13:51
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0; padding:0;}
#div1{width:200px; height:200px; background:red; position:relative; left:-200px; top:0}
#div1 span{ width:20px; height:50px; background:blue; position:absolute; left:200px; top:75px}
</style>
<script type="text/javascript">
window.onload=function(){
var Odiv=document.getElementById('div1');
Odiv.onmouseover=function(){
startMove();}
}
function startMove(){
var Odiv=document.getElementById('div1');
setInterval=(function(){
Odiv.style.left=Odiv.offsetLeft+10+'px'},30)
}
</script>
</head>
<body>
<div id="div1"><span id="share">分享</span></div>
</body>
</html>
为什么没有滑动效果?然后就是为什么div1 span的left是200px?
定时器的函数写错了,
下一个问题是说为什么span的left要设置成为两百吗?因为span是相对定位,div是绝对定位,因此span是相对于div来进行定位的,你如果搞不清楚的话,可以先把div的left:-200px;去掉看一下结果,如果不把span设置为left:200px。那span和div一样会看不见的,总而言之,就是span相对于div来进行定位,relative元素相对于最近的,position不是static的父元素来进行定位。
JS动画效果
113925 学习 · 1443 问题
相似问题