zoukankan      html  css  js  c++  java
  • JS 实现banner图的滚动和选择效果

    CSS+JS实现banner图滚动和点击切换

    HTML 部分代码:

    <body>
    
    <div id="banner">
      <div id="inside"><img src="img/banner1.png" id="img1" /><img src="img/banner2.png" id="img2" /><img src="img/banner3.png" id="img3" /><img src="img/banner4.png" id="img4" /><img src="img/banner1.png" id="img5" />
    </div>
    
    <ul id="bannerNum">
      <li onclick="changeBanner(1)">1</li>
      <li onclick="changeBanner(2)">2</li>
      <li onclick="changeBanner(3)">3</li>
      <li onclick="changeBanner(4)">4</li>
    </ul>
    </div>
    
    </body>

    CSS代码:

    <style type="text/css">
    *{
    padding: 0px;
    margin: 0px;
    }
    
    #banner{
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    }
    
    #banner #inside{
    width: 9600px;
    position: relative;
    left: 50%;
    margin-left: -960px;
    transition: all 1s ease;
    }
    
    #banner img{
    width: 1920px;
    }
    
    #bannerNum{
    padding: 0px;
    list-style: none;
    overflow: hidden;
    width: 160px;
    position: absolute;
    bottom: 30px;
    right: 50px;
    }
    
    #bannerNum li{
    width: 30px;
    height: 30px;
    background-color: white;
    text-align: center;
    line-height: 30px;
    margin: 0px 5px;
    float: left;
    cursor: pointer;
    }
    
    </style>

    JS 部分代码:

    <script>
      var num = 1;
      var inside;
      window.onload = function(){
    
      inside = document.getElementById("inside");
    
      var interval = setInterval(function(){
        inside.style.transition = "all 1s ease";
        num++;
        switch (num){
        case 1:
        inside.style.transition = "none";
        inside.style.marginLeft = (-960)+"px";
        break;
        case 2:
        inside.style.marginLeft = (-960-1920)+"px";
        break;
        case 3:
        inside.style.marginLeft = (-960-1920*2)+"px";
        break;
        case 4:
        inside.style.marginLeft = (-960-1920*3)+"px";
        break;
        case 5:
        inside.style.marginLeft = (-960-1920*4)+"px";
        num = 0;
        break;
        default:
        break;
        }
        },2000);
      }
    
      function changeBanner(num1){
        inside.style.transition = "none";
        switch (num1){
        case 1:
        inside.style.marginLeft = (-960)+"px";
        break;
        case 2:
        inside.style.marginLeft = (-960-1920)+"px";
        break;
        case 3:
        inside.style.marginLeft = (-960-1920*2)+"px";
        break;
        case 4:
        inside.style.marginLeft = (-960-1920*3)+"px";
        break;
        default:
        break;
        }
    
      num = num1-1;
    
      }
    </script>
  • 相关阅读:
    JavaAPI基础(1)
    类与对象、封装、构造方法
    Java语言基础
    Request请求的应用
    Response的应用
    java生成动态验证码
    Servlet的配置
    常见的状态码。。
    简单学习【1】——打包JS
    NodeJS2-2环境&调试----引用系统内置模块,引用第三方模块
  • 原文地址:https://www.cnblogs.com/greedymonkey/p/6718024.html
Copyright © 2011-2022 走看看