鼠标悬浮则 10px/30ms向右运动 、鼠标离开 10px/30ms 向左运动/html
隐藏部分left值设为 -200 。向右运动时,offsetLeft目标为0,向左运动 offsetLeft目标为-200函数
假设 obj 为某个 HTML 控件spa
obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素。code
obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素。htm
obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型,单位像素。seo
obj.offsetHeight 指 obj 控件自身的绝对高度,不包括因 overflow 而未显示的部分,也就是其实际占据的高度,整型,单位像素。ip
style.left:
定位元素与包含它的矩形左边界的偏移量get
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> body,div,span{ margin: 0; padding: 0; } #div1{ width: 200px; height:200px; background:red; position: relative; left: -200px; } #div1 span{ width: 20px; height: 100px; background: blue; position: absolute; left: 200px; top: 50px; } </style> <script> var timer = null; window.onload = function(){ var cDiv1 = document.getElementById('div1'); //鼠标移入 cDiv1.onmouseover = function(){ startMove(10,0); //移动函数 } //鼠标移出 cDiv1.onmouseout = function(){ startMove(-10,-200); //移动函数 } /** * * @param {速度} speed * @param {目标} iTarget */ function startMove(speed,iTarget){ clearInterval(timer); //为了不定时器屡次触发 var cDiv1 = document.getElementById('div1'); timer = setInterval(function(){ if(cDiv1.offsetLeft == iTarget){ clearInterval(timer); //中止定时器 }else{ cDiv1.style.left = cDiv1.offsetLeft+speed+'px'; //offsetLeft当前位置的值 } },30) }//每30毫秒动一下 } </script> </head> <body> <div id="div1"> <span id="share">侧边广告</span> </div> </body> </html>