zoukankan      html  css  js  c++  java
  • JS按钮控制内容左右滚动

    运行效果如下:

    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JS按钮控制内容左右滚动</title>
        <style>
        *{ padding: 0; margin: 0;}
        li{ list-style: none;}
        .clearfix{ *zoom:1;}
        .clearfix:after{ clear: both; display: block; content: ""; height: 0; overflow: hidden;}
        a{ text-decoration: none; color: #333;}
        a:hover{ color: #f00;}
        .center{ text-align: center; margin-top: 20px; font-family: "Microsoft Yahei";}
        #box{ width: 700px; margin: 20px auto; border: 1px solid #ccc; background: #fff; font-size: 12px; position: relative; height: 120px;}
        #left ,#right{ position: absolute; z-index: 2px; cursor: pointer; background: #eee; width: 20px; text-align: center; height: 100%; line-height: 2.4; }
        #left{ left: 0;}
        #right{ right: 0;}
        .content{ margin-left: 20px; width: 660px; height: 120px; overflow: hidden; position: relative; background: #ccc;}
        #wrap{ position: absolute; left: 0; width: 1500px;}
        #wrap ul{ padding: 10px 0;}
        #wrap li{ float: left; width: 120px; height: 100px; background: purple; margin-left: 10px;}
        </style>
    </head>
    <body>
        <h3 class="center">先向左滚动试试,然后向右滚动试试</h3>
        <div id="box">
            <a id="left" href="javascript:;">向左滚动</a>
            <a id="right" href="javascript:;">右下滚动</a>
            <div class="content">
                <div id="wrap">
                    <ul class="clearfix">
                        <li>1</li>
                        <li>2</li>
                        <li>3</li>
                        <li>4</li>
                        <li>5</li>
                        <li>6</li>
                        <li>7</li>
                        <li>8</li>
                        <li>9</li>
                        <li>10</li>
                    </ul>
                </div>
            </div>
        </div>
        <script>
    
        // 封装getStyle函数
        function getStyle(obj,attr){
            return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,false)[attr];
        }
    
        window.onload = function(){
            var oBox = document.getElementById('box');
            // alert(getStyle(oBox,'width'));        // 700px
            var oLeft = document.getElementById('left');
            var oRight = document.getElementById('right');
            var oWrap = document.getElementById('wrap');
            var num = 0;
            var timer = null;
    
            oLeft.onmousedown = function(){
                oWrap.timer = setInterval(function(){
                    var dis = parseInt(getStyle(oWrap,'left')) - 5;
                    if(dis < -650){
                        dis = -650;
                    }
                    oWrap.style.left = dis + 'px';
                },30);
            };
    
            oLeft.onmouseup = function(){
                clearInterval(oWrap.timer);
            };
    
            oRight.onmousedown = function(){
                oWrap.timer = setInterval(function(){
                    var dis = parseInt(getStyle(oWrap,'left')) + 5;
                    if(dis > 0){
                        dis = 0;
                    }
                    oWrap.style.left = dis + 'px';
                },30);
            };
    
            oRight.onmouseup = function(){
                clearInterval(oWrap.timer);
            };
        };
        /*function getStyle(obj ,attr){
            return obj.currentStyle ? obj.currentStyle[attr] :getComputedStyle(obj ,false)[attr];
        }
    
        window.onload = function(){
            var oBox = document.getElementById('box');
            // alert(getStyle(oBox,'width'))        // 168px
            var oUp = document.getElementById('up');
            var oDown = document.getElementById('down');
            var oWrap = document.getElementById('wrap');
            var num = 0;
            var timer = null;
    
            // 鼠标按下向上链接,开启定时器
            oUp.onmousedown = function(){
                oWrap.timer = setInterval(function(){
                    // 先获取内容的top值[获取的是字符串,所以要用parseInt转换成数字],然后让它每隔300ms减少5px使之向上运动
                    var dis = parseInt(getStyle(oWrap,'top')) - 5;
                    // 这里的200是根据当前案例设置的,可以根据实际情况调整数值
                    if( dis < -220){
                        dis = -220;
                    }
                    oWrap.style.top = dis + 'px';
                },30);
            };
    
            // 鼠标移开向上链接,关闭定时器
            oUp.onmouseup = function(){
                clearInterval(oWrap.timer);
            };
    
            // 鼠标按下向下链接,开启定时器
            oDown.onmousedown = function(){
                oWrap.timer = setInterval(function(){
                    var dis = parseInt(getStyle(oWrap,'top')) + 5;
                    if(dis > 0){
                        dis = 0;
                    }
                    oWrap.style.top = dis + 'px';
                },30);
            };
    
            // 鼠标移开向下链接,关闭定时器
            oDown.onmouseup = function(){
                clearInterval(oWrap.timer);
            };
        };*/
        </script>
    </body>
    </html>
  • 相关阅读:
    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
    查看windows和linux下端口是否被占用
    linux系统的默认用户
    修改mysql、oracle、sqlserver默认端口
    linux(centos)下密码有效期和密码复杂度设置
    linux下设置账户锁定阈值:登录失败n次,多长时间后解锁重新登录
    linux账户的锁定和解锁、禁用账号
    执行./install.sh时报错-bash: ./install.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
    突然虚拟机无法联网解决办法,且报错Failed to start LSB: Bring up/down
    kubernetes集群环境搭建(7)
  • 原文地址:https://www.cnblogs.com/bokebi520/p/5021878.html
Copyright © 2011-2022 走看看