zoukankan      html  css  js  c++  java
  • css3+js实现自动轮播(初稿)

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1">
        <title>Banner</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            .banner{
                width: 600px;
                height: 400px;
                margin: 20px auto;
                overflow: hidden;
            }
            .banner>ul.slider{
                list-style: none;
                height: 100%;
            }
            ul.slider>li{
                float: left;
            }
            ul.slider>li,ul.slider>li>img{
                height: 100%;
            }
            ul.slider>li>img{
                width: 100%;
            }
            .stranslateMove{
                animation: stranslateX 3s infinite;
                -webkit-animation: stranslateX 3s infinite;
            }
            @keyframes stranslateX{
                from{ margin-left: 0; }
                to{ margin-left: -600px; }
            }
            @-webkit-keyframes stranslateX{
                from{ margin-left: 0; }
                to{ margin-left: -600px; }
            }
            button{
                display: block;
                margin: 0 auto;
            }
        </style>
    </head>
    <body>
        <div class="banner">
            <ul class="slider ">
                <li class="stranslateMove">
                    <img src="banner1.jpg">
                </li>
                <li>
                    <img src="banner2.jpg">
                </li>
                <li>
                    <img src="banner3.jpg">
                </li>
                <li>
                    <img src="banner4.jpg">
                </li>
                <li>
                    <img src="banner5.jpg">
                </li>
            </ul>
        </div>
        <p>
            <button class="pause">pause</button>
        </p>
        <script type="text/javascript">
            !function(){
                function initBanner(){
                    // 初始化轮播容器的宽度,让每张图片的宽度等于容器的宽度
                    var slider = document.querySelector(".slider"),                //轮播容器
                        bannerWidth = document.querySelector(".banner").offsetWidth,    //视图容器宽度
                        liWidth = document.querySelectorAll(".slider>li"),
                         sliderlen = liWidth.length + 2;
                    console.log(bannerWidth);
                    for(var i = 0; i<liWidth.length;i++){
                        liWidth[i].style.width = bannerWidth + 'px';
                    }
                    slider.style.width = bannerWidth * sliderlen + 'px';
    
                }
                initBanner();
            }();
            var t;
            function autoPlay(){
                document.querySelector(".slider>li:first-child").className = "";
                document.querySelector(".slider").appendChild(document.querySelector(".slider>li:first-child"));
                document.querySelector(".slider>li:first-child").className = "stranslateMove";
                t = setTimeout("autoPlay()",3000);
            }
            setTimeout("autoPlay()",3000);
            document.querySelector("button").onclick = function(){
                clearTimeout(t);
                document.querySelector(".slider>li:first-child").className = "";
            }
        </script>
    </body>
    </html>
  • 相关阅读:
    Codeforces 1291 Round #616 (Div. 2) B
    总结
    刷新DNS解析缓存+追踪+域名解析命令
    数学--数论--Hdu 5793 A Boring Question (打表+逆元)
    Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析
    LeetCode 117 Populating Next Right Pointers in Each Node II
    LeetCode 116 Populating Next Right Pointers in Each Node
    test test
    LeetCode 115 Distinct Subsequences
    LeetCode 114. Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/nullman/p/8623954.html
Copyright © 2011-2022 走看看