js运动原理

 #div1{
            width: 200px;
            height: 200px;
            background: red;
            position:absolute;
            top: 50px;
            left:0;
            overflow: hidden;
        }
        img{
            width: 200px;
            height: 200px;
        }
        #div2{
            width: 200px;
            height: 30px;
            position: absolute;
            top: -30px;
            left: 0;
            background: blue;
        }
    </style>
</head>
<body>
<div id="div1">
    <img src="20.jpg">
    <div id="div2">
        <p id="p1">jdlfalfjljflorueoreorllj</p>
    </div>
</div>
<script type="text/javascript">
    var oDiv=document.getElementById("div1");
    var p1Timer=null;
    oDiv.οnmοuseοver=function(){
        var  oDiv2=document.getElementById("div2");
        //oP.style.top="0px";
        clearInterval(p1Timer);
        p1Timer=setInterval(function(){
            if(oDiv2.offsetTop>30){
                clearInterval(p1Timer);
            }
            else{
                oDiv2.style.top=oDiv2.offsetTop+5+"px";
            }
        },30);
    }
    oDiv.οnmοuseοut=function(){
        //oP.style.top="-40px";
        clearInterval(p1Timer);
        p1Timer=setInterval(function(){
            var oDiv2=document.getElementById("div2");
            if(oDiv2.offsetTop<-40){
                clearInterval(p1Timer);//清理
            }
            else{
                oDiv2.style.top=oDiv2.offsetTop-5+"px";//做运动
            }
        },30);
    }

   /* var oDiv1Timerid=null;
    var oBt=document.getElementById("bt1");
    oBt.οnclick= function () {
        var oDiv=document.getElementById("div1");

        //1. 启动定时器之前,需要清理之前的定时器。
        clearInterval(oDiv1Timerid);
        //启动定时器,并记录返回值(定时器的标识)
        oDiv1Timerid=setInterval(function(){
            //做运动的部分 和 清理定时器的部分, 放在 if else 里面
            if(oDiv.offsetLeft>600){
                //清理定时器的 条件 。要注意边界判断!
                clearInterval(oDiv1Timerid);
            }
            else{
                oDiv.style.left=oDiv.offsetLeft+9+"px";
            }
            /!* if(oDiv.offsetLeft>300-9)
             {//最后一步的时候,直接到目标值
             oDiv.style.left="300px";
             }
             else{
             oDiv.style.left=oDiv.offsetLeft+9+"px";
             }*!/
        },30);
    }

    var oBt2=document.getElementById("bt2");
    oBt2.οnclick= function () {
        var oDiv=document.getElementById("div1");
        clearInterval(oDiv1Timerid);
        oDiv1Timerid=setInterval(function(){
            if(oDiv.offsetLeft<0){
                clearInterval(oDiv1Timerid);
            }
            else{
                oDiv.style.left=oDiv.offsetLeft-9+"px";
            }
            /!* if(oDiv.offsetLeft>300-9)
             {//最后一步的时候,直接到目标值
             oDiv.style.left="300px";
             }
             else{
             oDiv.style.left=oDiv.offsetLeft+9+"px";
             }*!/
        },30);
    }*/

</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值