JavaScript 元素的滑动效果(一)

元素的滑动效果其实就是元素的位置或元素的宽度发生变化,只是变化宽度特别块,超过人眼的刷新频率而已。

人眼的刷新频率是:

通常条件下,人眼的识别连贯图像的速度是24帧/秒,也就是1000毫秒/24帧,大约为40ms(毫秒)。达到或者超过这个速度的连贯图像,观看时就不会形成卡顿的感觉。形成这个现象的原因是因为人眼观看影像时,会产生视觉延迟导致的。所以说,我们经常说人眼的视觉延迟感应速度为>=40ms。

<style type="text/css">
*{ margin:0px auto; padding:0px}
#wai{ width:1000px; height:500px}
#left{ height:500px; background-color:red; float:left}
#right{ width:800px; height:500px; background-color:blue; float:left}
#btn{ width:50px; height:50px; background-color:#000; position:relative; margin-left:0px;  top:225px}
</style>
</head>

<body> 
    <div id="wai">
    <!--想要获得“left”“right”“btn”的属性,必须用内联样式-->
        <div id="left" style=" width:200px;"></div>
        <div id="right" style=" width:800px;"></div>
        <div id="btn" style="left:175px;"></div>
    </div>
</body>
<script type="text/javascript">
    //给“btn”加点击事件,点击移动(每隔一定时间移动1px)
    var btn = document.getElementById("btn");
    btn.onclick = function(){
        window.setInterval("yidong()",10);
    }
    //定义移动方法:
    function yidong(){
        var left = document.getElementById("left");
        var right = document.getElementById("right");
        var btn = document.getElementById("btn");
        
        var lw = parseInt(left.style.width);
        var rw = parseInt(right.style.width);
        var bl = parseInt(btn.style.left);
        
        var clear;
        if(lw<800){     //当“left”的宽度到800时,停止继续+1,clearInterval
            lw++;
            rw--;
            bl++;
        }else{
            //window.clearInterval(clear);
        }
        
        left.style.width = lw+"px";
        right.style.width = rw+"px";
        btn.style.left = bl+"px";
        
    }
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值