为什么距离浏览器边框出来这么多?用的老师的move.js

来源:5-1 JS链式动画

慕仙0618226

2015-12-16 22:25

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style>

*{margin:0;padding:0;}

#div1{

width:200px;

height:200px;

background:#cd0000;

position:relative;

left:-200px;

top:0;

}

#div1 span{

color:#fff;

width:20px;

height:50px;

background:#cd0000;

position:absolute;

left:200px;

top:60px;

padding-top: 15px;

}

</style>

<script>

window.onload=function(){

var oDiv=document.getElementById('div1');

oDiv.onmouseover=function(){

startMove(oDiv,'left',0);

}

oDiv.onmouseout=function(){

startMove(oDiv,'left',-200);

}

}

function getStyle(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr];

}

else{

return getComputedStyle(obj,false)[attr];

}

}// 获取任意属性至,针对IE与火狐做不同的处理 currentStyle是IE方法 Computed Style是火狐的方法

//==写错,很难发现错误

function startMove(obj,attr,iTarget){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var icur=0;//取当前值

if(attr=='opacity'){

icur=Math.round(parseFloat(getStyle(obj,attr))*100)

}

else{

icur=parseInt(getStyle(obj,attr));

}

//算速度

var speed=(iTarget-icur)/8

   speed=speed>0?Math.ceil(speed):Math.floor(speed);

//检测停止

if(icur==iTarget){

clearInterval(obj.timer);

}

else{

 if(attr=='opacity'){

obj.style.filter='alpha:(opacity:'+icur+speed+')';

obj.style.opacity=(icur+speed)/100;

  }

else{

obj.style[attr]=icur+speed+'px';

  }

        }

    },30)

}


</script>

</head>

<body>

<div id="div1">

<span class="share">分享</span>

</div>

</body>

</html>

http://img.mukewang.com/567173f300013c6601640395.jpg

写回答 关注

1回答

  • 慕码人0911192
    2015-12-16 23:10:57

    复制看了下,火狐,IE8,谷歌 除了"分享"乱码了,其他完美运行

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题