zoukankan      html  css  js  c++  java
  • CSS实现页面背景自动切换功能

    From here:http://xiaomiya.iteye.com/blog/2047728

    请看效果图:

    完整代码如下:

    <!DOCTYPE HTML>  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <title>仿支付宝首页背景切换效果</title>  
    <style type="text/css">  
    *{ margin:0; padding: 0;}  
    .bn-alp { width:100%; height:400px; position:relative; }  
    .bn-alp ul,.bn-alp li { margin:0; padding:0; list-style:none; }  
    .bn-alp .box { height:100%; position:relative; }  
    .bn-alp .box li { width:100%; height:400px; background-position:50% 50%; background-size:cover; position:absolute; top:0; left:0; z-index:10; }  
    .bn-alp .box li.on { z-index:99; }  
    .bn-alp .box li img.bg { display:none; }  
    .bn-alp .i { bottom:5px; left:50%; margin-left:-50px; text-align:center; position:absolute; z-index:100;}  
    .bn-alp .i i { display:inline-block; margin-right:10px; width:16px; height:16px; background: #000; cursor:pointer; }  
    .bn-alp .i i.on { background:red; }  
    </style>  
    <script src="http://code.jquery.com/jquery-1.11.0.js"></script>  
    <script type="text/javascript">  
    $(function(){  
      var bn_alp;// 定义动画变量  
      var Time = 3000;// 自动播放间隔时间 毫秒  
      var num = 1000;// 切换图片间隔的时间 毫秒  
      var page = 0;// 定义变量  
      var len = $( ".bn-alp .box li" ).length;// 获取图片的数量  
      $( ".bn-alp .box li" ).each(function()  
      {  
        $(this).css( "opacity", 0 );  
        $(this).css( "background-image","url(" + $(this).find('img.bg').attr('src') + ")");  
        $( ".bn-alp .i" ).append('<i></i>');  
      });   // 设置全部的图片透明度为0  
      $( ".bn-alp .box li:first" ).css( "opacity", 1 ); // 设置默认第一张图片的透明度为1  
      $( ".bn-alp .i i" ).eq(0).addClass("on");  
      function fun()// 封装  
      {  
        $( ".bn-alp .i i" ).eq(page).addClass("on").siblings('i').removeClass( "on" );     // 切换小点  
        $( ".bn-alp .box li" ).eq(page).addClass("on").animate({"opacity":1},num).siblings('li').removeClass( "on" ).animate({"opacity":0},num);// 切换图片  
      }  
      function run()// 封装  
      {  
        if( !$(".bn-alp .box li" ).is( ":animated" ))// 判断li是否在动画  
        {  
          if( page == len - 1 )// 当图片切换到了最后一张的时候  
          {  
            page = 0;  // 把page设置成0 又重新开始播放动画  
            fun();  
          } else {// 继续执行下一张  
            page++;  
            fun();  
          }  
        }  
      }  
      $(".bn-alp .i i").click( function()// 点击小点  
      {  
        clearInterval( bn_alp );//鼠标点击下面的点就清除动画开始新的动画。  
        //if( !$( ".bn-alp .box li" ).is( ":animated" ) )// 判断li是否在动画  
        //{  
          var index = $( ".bn-alp .i i" ).index( this );// 获取点击小点的位置  
          page = index;// 同步于page  
          fun();  
        //}  
      });  
      $( ".bn-alp" ).hover(function()// 鼠标放上去图片的时候清除动画  
      {  
        clearInterval( bn_alp );  
      },function()// 鼠标移开图片的时候又开始执行动画  
      {  
        bn_alp = setInterval( run, Time );  
      }).trigger( "mouseleave" );  
    });  
    </script>  
    </head>  
    <body>  
    <div class="bn-alp">  
      <ul class="box">  
        <li class="on">  
          <img src="https://i.alipayobjects.com/e/201210/1SqQ3MovmW.jpg" class="bg" />  
        </li>  
        <li>  
          <img src="https://i.alipayobjects.com/e/201210/1SqdO0g4BA.jpg" class="bg" />  
        </li>  
        <li>  
          <img src="https://i.alipayobjects.com/e/201210/1SqZEKwRls.jpg" class="bg" />  
        </li>  
        <li>  
          <img src="https://i.alipayobjects.com/e/201210/1SppXBk7PB.jpg" class="bg" />  
        </li>  
      </ul>  
      <div class="i"></div>  
    </div>  
    </body>  
    </html>  
  • 相关阅读:
    lightoj 1027 简单概率dp
    zoj 3329 One Person Game 概率dp
    光速输入法
    百度卫士+7654联盟
    MyCCL复合特征码定位系统3.0 build 23 中文绿色版
    右键管家MenuMgr-1.2单文件
    影子卫士中文注册版+系统保护的尚方宝剑、、
    Easyspy网络检测系统
    百度杀毒+7654联盟
    QQ浏览器+7654联盟
  • 原文地址:https://www.cnblogs.com/boonya/p/3671070.html
Copyright © 2011-2022 走看看