zoukankan      html  css  js  c++  java
  • 图片轮播的几种方式

    1.利用 animation 实现无js轮播 但是无法做到第一张和最后一张衔接

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>

    </title>
    <style>

    .contianer{
    overflow:hidden;
    200px;
    }
    ul{
    400%;
    font-size:0;
    animation:switch 10s linear 1s ;
    }
    li{
    25%;
    display:inline-block;
    font-size:20px;
    height:200px;
    }
    *{
    margin:0;
    padding:0;
    }

    @keyframes switch{
    0% {transform:translateX(0);}
    25% {transform:translateX(-25%);}
    50% {transform:translateX(-50%);}
    75% {transform:translateX(-75%);}
    100% {transform:translateX(-100%);}
    }
    </style>
    </head>
    <body>

    <div class="contianer">
    <ul >

    <li style="background:yellow">1</li>
    <li style="background:red">2</li>
    <li style="background:black">3</li>
    <li style="background:blue">4</li>
    </ul>

    </div>

    </body>
    </html>

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>

    </title>
    <style>

    .contianer{
    overflow:hidden;
    200px;
    }
    ul{
    400%;
    font-size:0;
    transition:transform 1s;
    }
    li{
    25%;
    display:inline-block;
    font-size:20px;
    height:200px;
    }
    *{
    margin:0;
    padding:0;
    }


    </style>
    </head>
    <body>

    <div class="contianer" >
    <ul id="t">

    <li style="background:yellow">1</li>
    <li style="background:red">2</li>
    <li style="background:blue">3</li>
    <li style="background:yellow">1</li>
    </ul>

    </div>


    <script>

    count = 0 ;
    setInterval(function(){
    count+=25;

    t.style["transition"] = "transform 1s";
    t.style["transform"] = "translateX(-"+count+"%)";

    if(count==75)
    {count=0;
    setTimeout(function(){
    t.style["transition"] = "none 0s";
    t.style["transform"] = "translateX(0%)";
    },1000)


    }


    },2000)

    </script>


    </body>
    </html>

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>

    </title>
    <style>

    .contianer{
    overflow:hidden;
    200px;
    }
    ul{

    font-size:0;
    transition:transform 1s;
    }
    li:first-child{

    left:0;
    }

    li{
    position:absolute;
    100%;
    font-size:20px;
    height:200px;
    left:-100%;
    transition:left 500ms ease 0s;
    }
    li:hover{
    left:50%;
    }
    *{
    margin:0;
    padding:0;
    }


    </style>
    </head>
    <body>

    <div class="contianer" >
    <ul id="t">

    <li style="background:yellow">1</li>
    <li style="background:red">2</li>

    </ul>

    </div>


    <script>
    setTimeout(function(){
    var lis = document.getElementsByTagName("li");
    count = 0 ;
    setInterval(function(){
    lis[1].style["transition"]="left 1s";
    lis[0].style["transition"]="left 1s";
    if(count==0)
    {

    lis[0].style.left="100%";
    lis[1].style.left="0"
    count=1;
    setTimeout(function(){
    lis[0].style["transition"]="none 0s";
    lis[0].style.left="-100%"

    },1000)
    }
    else
    {
    count=0;
    lis[0].style.left="0";
    lis[1].style.left="100%"

    setTimeout(function(){
    lis[1].style["transition"]="none 0s";
    lis[1].style.left="-100%"

    },1000)

    }


    },3000)
    },0)


    </script>


    </body>
    </html>

  • 相关阅读:
    Javascript 公共代码(可重用)
    ExtJs之Ext.data.Store
    delete exists
    c++ builder adoquery sql语句的动态增加
    C++ XML解析之TinyXML篇
    oracle数据类型varchar2和varchar的区别
    adoquery查询结果如何赋给一个变量(delphi和c++ builder)
    没有安装 BCB 的机器上运行会提示 找不到 库之类
    select union 查询出来的结果,如何按指定顺序输出
    oracle 已有 表 增加 列
  • 原文地址:https://www.cnblogs.com/chillaxyw/p/10760085.html
Copyright © 2011-2022 走看看