zoukankan      html  css  js  c++  java
  • JavaScript-轮播

    <div id="wrap">
    <!-- 图片展示区 -->
    <div id="inner" class="clear">
    <!-- 所有图片并排的块 -->
    <img src="img/timg10.jpg" alt="">
    <img src="img/timg14.jpg" alt="">
    <img src="img/timg15.jpg" alt="">
    <img src="img/timg8.jpg" alt="">
    <img src="img/timg9.jpg" alt="">
    </div>
    <div class="paganation" id="paganation">
    <!-- 页面按钮区域 -->
    <span class ="selected">1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
    </div>
    <div id="left" class="arrow"><</div>
    <!-- 向左切换按钮 -->
    <div id="right" class="arrow">></div>
    <!-- 向右切换按钮 -->
    </div>

    <style>
    *{ margin:0; padding:0; border:0; }
    .clear{ *zoom:1; }
    .clear:after{ visibility: none; content:""; display:block; clear:both; height:0; }
    #wrap{ 510px; height:286px; margin:0 auto; position:relative; overflow: hidden; }
    #inner{ 1000%; height:100%; position:absolute; left:0; top:0; }
    #inner img{ 10%; height:100%; float: left; }
    .paganation{ 100%; position: absolute; bottom:10px; text-align:center; }
    .paganation span{ padding:5px 8px; background: #F2F2F2; color:red; border-radius:50%; cursor: pointer }
    .paganation .selected{ background: red; color:white; }
    .arrow{ position:absolute; top:0; 30px; height: 286px; line-height: 286px; text-align: center; color: red; cursor: pointer; }
    #right{ right: 0; }
    .arrow:hover{ background: rgba(0,0,0,0.5); }
    </style>

    window.onload=function()
    {
      var wrap=document.getElementById("wrap");
      var inner=document.getElementById("inner");
      var spanList=document.getElementById("paganation").getElementsByTagName("span");
      var left=document.getElementById("left");
      var right=document.getElementById("right");
      var clickFlag=true;
      var time
      var index=0;
      var Distance=wrap.offsetWidth;

      //定义图片滑动的函数
      function AutoGo()
      {
      var start=inner.offsetLeft;
      var end=index*Distance*(-1);
      var change=end-start;
      var timer;
      var t=0;
      var maxT=30;
      clear();
      if(index==spanList.length){
        spanList[0].className="selected";
      }else{
        spanList[index].className="selected";
      }
      clearInterval(timer);
      timer=setInterval(function(){
        t++;
        if(t>=maxT)
        {
          clearInterval(timer);
          clickFlag=true;
        }
        inner.style.left=change/maxT*t+start+"px"; //每个17毫秒让块移动
        if(index==spanList.length&&t>=maxT)
        {
          inner.style.left=0;
          index=0;
        }
      },17);
    }

    //编写图片向右滑动的函数
    function forward()
    {
      index++;
      /* 长度比下标大1 */
      if(index>spanList.length - 1)
      {
        index=0;
      }
      AutoGo();
    }

    //编写图片向左滑动函数
    function backward()
    {
      index--;
      if(index<0)
      {
        index=spanList.length-1;
        inner.style.left=(index+1)*Distance*(-1)+"px";
      }
      AutoGo();
    }

    //开启图片自动向右滑动的计时器
    time=setInterval(forward,3000);

    //设置鼠标悬停动画停止
    wrap.onmouseover=function()
    {
      clearInterval(time);
    }
    wrap.onmouseout=function()
    {
      time=setInterval(forward,3000);
    }

    //遍历每个按钮让其切换到对应图片
    for(var i=0;i<spanList.length;i++)
    {
      spanList[i].onclick=function(){
        index=this.innerText-1;
        AutoGo();
      }
    }

    //左切换事件
    left.onclick=function()
    {
      if(clickFlag){
        backward();
      }
      clickFlag=false;
    }

    //右切换事件
    right.onclick=function(){

      if(clickFlag){
        forward();
      }
      clickFlag=false;
    }

    //清除页面所有按钮状态颜色
    function clear()
    {
      for(var i=0;i<spanList.length;i++)
      {
        spanList[i].className="";
      }
    }


    }

  • 相关阅读:
    【iOS系列】-UITableView的使用
    c语言学习-指针探究
    sublime text 3 乱码
    连接sql2008时报错
    android各种菜单使用介绍
    Android使用开源框架加载图片
    Android数据与服务器交互的GET,POST,HTTPGET,HTTPPOST的使用
    Android开发pool解析xml
    github的提交源码到服务器
    Android多线程更新UI的方式
  • 原文地址:https://www.cnblogs.com/xiaoyangtian/p/7979926.html
Copyright © 2011-2022 走看看