zoukankan      html  css  js  c++  java
  • 焦点轮播图

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>轮播图</title>
    <style type="text/css">
    *{ margin: 0; padding: 0; text-decoration: none;}
    body{padding: 20px;}
    #container{ 600px;height: 400px;border: 3px solid #333;position: relative;overflow: hidden;margin: 0 auto;}
    #list { 4200px; height: 400px; position: absolute; z-index: 1;}
    #list img { float: left;}
    #buttons { position: absolute; height: 10px; 100px; z-index: 2; bottom: 20px; left: 250px;}
    #buttons span { 10px;height: 10px;border: 1px solid #fff;border-radius: 50%;margin-right: 5px;float: left;background: #333; }
    #buttons .on { background: orangered;}
    .arrow { cursor: pointer;display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; 40px; height: 40px; position: absolute; z-index: 2; top: 180px; background-color: RGBA(0,0,0,.3); color: #fff;}
    .arrow:hover { background-color: RGBA(0,0,0,.7);}
    #container:hover .arrow { display: block;}
    #prev { left: 20px;}
    #next { right: 20px;}
    </style>
    </head>
    <body>
    <div id="container">
    <div id="list" style="left: -600px;">
    <img src="img/5.jpg" alt="1"/>
    <img src="img/1.jpg" alt="1"/>
    <img src="img/2.jpg" alt="2"/>
    <img src="img/3.jpg" alt="3"/>
    <img src="img/4.jpg" alt="4"/>
    <img src="img/5.jpg" alt="5"/>
    <img src="img/1.jpg" alt="5"/>
    </div>
    <div id="buttons">
    <span index="1" class="on"></span>
    <span index="2"></span>
    <span index="3"></span>
    <span index="4"></span>
    <span index="5"></span>
    </div>
    <a href="javascript:;" id="prev" class="arrow">&lt;</a>
    <a href="javascript:;" id="next" class="arrow">&gt;</a>
    </div>
    <script type="text/javascript">
    window.onload = function(){
    var getById = function(id){
    return document.getElementById(id);
    }
    var container = getById("container");
    var list = getById("list");
    var btns = getById("buttons").getElementsByTagName("span");
    var prev = getById("prev");
    var next = getById("next");
    var index = 1;
    var animated = false;
    var timer;

    function showBtn() {
    //去掉多余的类
    for(var i=0;i<btns.length;i++) {
    if(btns[i].className == "on"){
    btns[i].className = "";
    }
    }
    btns[index - 1].className = "on";
    }
    //改变list的显示
    function animate(offset){
    animated = true;
    var newLeft = parseInt(list.style.left) + offset;
    var time = 300; //位移总时间
    var interval = 10; //位移间隔时间
    var speed = offset/(time/interval); //每次的位移量

    function go(){
    if((speed<0 && parseInt(list.style.left) > newLeft) || (speed>0 &&parseInt(list.style.left) < newLeft)){
    list.style.left = parseInt(list.style.left) + speed + "px";
    setTimeout(go,interval); //函数的递归
    }else{
    animated = false;
    list.style.left = newLeft + "px";
    if(newLeft > -600) {
    list.style.left = -3000 + "px";
    }
    if(newLeft < -3000){
    list.style.left = -600 + "px";
    }
    }
    }
    go();

    }
    //自动切换
    function aotuPlay(){
    timer = setInterval(function(){
    next.onclick();
    }, 3000)
    }

    function stop(){
    clearInterval(timer);
    }

    //左右按钮添加事件
    next.onclick = function(){
    if(index == 5){
    index = 1;
    }else{
    index += 1;
    }
    showBtn();
    if(!animated){
    animate(-600);
    }
    }
    prev.onclick = function(){
    if(index == 1){
    index = 5;
    }else{
    index -= 1;
    }
    showBtn();
    if(!animated){
    animate(600);
    }
    }
    //圆点添加事件
    for(var i=0;i<btns.length;i++){
    btns[i].onclick = function(){
    if(this.className == "on"){
    return;
    }
    var myIndex = parseInt(this.getAttribute("index"));
    var offset = -600 * (myIndex - index);
    if(!animated){
    animate(offset);
    }
    index = myIndex;
    showBtn();
    }
    }

    //添加自动播放
    container.onmouseover = stop;
    container.onmouseout = aotuPlay;

    aotuPlay();
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    165. Compare Version Numbers
    164. Maximum Gap
    3、桶排序
    162. Find Peak Element
    160. Intersection of Two Linked Lists
    155. Min Stack
    154. Find Minimum in Rotated Sorted Array II
    153. Find Minimum in Rotated Sorted Array
    Linux/Unix系统编程手册 第二章:基本概念
    Linux/Unix系统编程手册 第一章:历史和标准
  • 原文地址:https://www.cnblogs.com/liushuang001/p/5386736.html
Copyright © 2011-2022 走看看