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>
  • 相关阅读:
    Magisk+Xposed+Root switch+Pokémon GO
    [数据库连接池] Java数据库连接池--DBCP浅析.
    [C#反射]C#中的反射解析及使用.
    [Java工具]Java常用在线工具集合.
    [Java拾遗五]使用Session防止表单重复提交
    [Java拾遗四]JavaWeb基础之Servlet_Request&&Response
    [Java拾遗三]JavaWeb基础之Servlet
    [Java拾遗二]Tomact及Http 部分总结.
    [Java拾遗一] XML的书写规范与解析.
    [数据库操作]Java中的JDBC的使用方法.
  • 原文地址:https://www.cnblogs.com/greedymonkey/p/6718024.html
Copyright © 2011-2022 走看看