小米官网轮播图

效果预览:https://li_shang_shan.gitee.io/imitated_millet_rotation 

源码下载:https://gitee.com/li_shang_shan/imitated_millet_rotation

结构代码如下:

<html>
    <head>
        <meta charset="utf-8" />
        <title>小米轮播图</title>
        <link rel="icon" type="text/css" href="https://s01.mifile.cn/favicon.ico" />
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
                font: 14px/1.5 Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
                ;
            }

            /* 外层盒子布局 */
            .mi_slideshow_Tab {
                width: 1226px;
                height: 460px;
                margin: 50px auto;
                position: relative;
                background-color: antiquewhite;
            }

            .mi_img img {
                width: 1226px;
                position: absolute;
                cursor: pointer;
            }

            /* 指示器布局 样式*/
            .mi_slideshow_indicator {
                position: absolute;
                z-index: 2;
                right: 20px;
                bottom: 10px;
                transform: rotate(180deg);
            }

            .mi_slideshow_indicator>ul>li {
                display: inline-block;
                z-index: 2;
                width: 8px;
                height: 8px;
                background-color: #6d6d6d;
                border: 2px solid #565656;
                border-style: window-inset;
                border-radius: 45px;
                cursor: pointer;
                margin: 0 1px;
            }

            /* .mi_slideshow_indicator>ul>li:hover{
                background-color: #cecece;
            } */
            #pitch_on {
                background-color: #cecece;
            }

            /* 上一页按钮 下一页按钮 */
            .top_page,
            .next_page {
                width: 41px;
                height: 69px;
                z-index: 2;
                /* background-color: aqua; */
                position: absolute;
                border: none;
                top: 50%;
                margin-top: -34.5px;
                cursor: pointer;
            }

            .top_page {
                left: 234px;
                background: url(img/icon-slides.png) no-repeat -84px 50%;
            }

            .top_page:hover {
                background-position: 0px 50%;
            }

            .next_page {
                right: 0;
                background: url(img/icon-slides.png) no-repeat -125px 50%;
            }

            .next_page:hover {
                background-position: -42px 50%;
            }

            /* 侧边导航选项卡 样式*/
            .mi_Tab {
                width: 234px;
                height: 460px;
                background-color: rgba(105, 101, 101, .4);
                position: absolute;
                left: 0;
                z-index: 2;
            }

            .mi_Tab>ul {
                padding: 20px 0px;
            }

            .mi_Tab>ul>li {
                width: 234px;
                height: 42px;
                list-style: none;
                display: inline-block;
                box-sizing: border-box;
                position: relative;
            }

            .mi_Tab>ul>li>a {
                width: 234px;
                height: 42px;
                display: inline-block;
                text-decoration: none;
                color: #fff;
                line-height: 42px;
                font-size: 14px;
                padding-left: 30px;
                box-sizing: border-box;
            }

            .mi_Tab>ul>li>a:hover {
                background-color: #ff6700;
            }

            .mi_Tab>ul>li>a>span>img {
                color: #fff;
                width: 16px;
                position: absolute;
                right: 18px;
                top: 50%;
                margin-top: -8px;
            }

            /* 侧边选项卡悬浮展示的内容 样式*/
            .mi_Tab_con {
                width: 510px;
                height: 460px;
                position: absolute;
                left: 234px;
                z-index: 2;
                display: none;
                box-shadow: 5px 0px 10px #00ffff;
            }

            .mi_Tab_con ul {
                width: 992px;
                height: 460px;
                font-size: 30px;
                /* box-shadow: 0 0 10px #bebebe; */
                position: absolute;
            }
        </style>
    </head>
    <body>
        <div class="mi_slideshow_Tab">
            <!-- 侧边选项卡 -->
            <div class="mi_Tab">
                <ul>
                    <li>
                        <a href="">
                            手机 电话卡
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            电视 盒子
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            笔记本 显示器 平板
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            家电 插线板
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            出行 穿戴
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            智能 路由器
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            电源 配件
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            健康 儿童
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            耳机 音箱
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                    <li>
                        <a href="">
                            生活 箱包
                            <span>
                                <img src="img/jiantou01.svg">
                            </span>
                        </a>
                    </li>
                </ul>
            </div>
            <!-- 侧选项卡 悬浮展示的内容 -->
            <div class="mi_Tab_con">
                <ul>
                    第一个
                </ul>
                <ul>
                    第二个
                </ul>
                <ul>
                    第三个
                </ul>
                <ul>
                    第四个
                </ul>
                <ul>
                    第五个
                </ul>
                <ul>
                    第六个
                </ul>
                <ul>
                    第七个
                </ul>
                <ul>
                    第八个
                </ul>
                <ul>
                    第九个
                </ul>
                <ul>
                    第十个
                </ul>
                <ul>
                    第十一个
                </ul>
            </div>
            <!-- 底层轮播图 -->
            <div class="mi_slideshow">
                <!-- 轮播照片 -->
                <div class="mi_img">
                    <img src="img/3a82846d975204e12923de52add19339.webp">
                    <img src="img/5ade887b241d057d81e2de96590a1a6f.jpg">
                    <img src="img/6ef43cf9f138a7fc3a39273d7e3d13b6.webp">
                    <img src="img/ad9c1cb79a2eeb2d5ccf54dfa9782032.webp">
                    <img src="img/be3a556e9cd1896f049c122a8bab3ce2.webp">
                </div>
                <!-- 上一页 -->
                <div class="top_page"></div>
                <!-- 下一页 -->
                <div class="next_page"></div>
                <!-- 轮播指示器 -->
                <div class="mi_slideshow_indicator">
                    <ul>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li id="pitch_on"></li>
                    </ul>
                </div>
            </div>
        </div>

        <script src="./js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            /* 
                轮播图的js,为了方便区分我写两个 
             */
            $(function() {
                var img_index = $(".mi_img img").length - 1 //获取 图片的张数 -1 拿来当下标索引使用
                // 页面加载时启动定时器   全局定时器 timer
                var timer = setInterval(function() {
                    $(".next_page").trigger("click");
                }, 7000);
                // 点击下一页按钮 触发方法 next_cut_slideshow
                $(".next_page").click(function() {
                    img_index--;
                    if (img_index < 0) {
                        img_index = 4
                    }
                    next_cut_slideshow(img_index);
                });
                // 点击上一页按钮 触发方法 next_cut_slideshow
                $(".top_page").click(function() {
                    img_index++;
                    if (img_index > 4) {
                        img_index = 0
                    }
                    next_cut_slideshow(img_index);
                });
                // 点击指示器按钮 触发方法 next_cut_slideshow
                $(".mi_slideshow_indicator>ul>li").click(function() {
                    img_index = $(this).index();
                    next_cut_slideshow(img_index);
                });
                // 定义轮播图切换方法
                // 点击后的切换方法
                function next_cut_slideshow(img_index) {
                    $(".mi_img img:eq(" + img_index + ")").fadeIn().siblings().fadeOut();
                    $(".mi_slideshow_indicator>ul>li:eq(" + img_index + ")").css({
                        "background-color": "#cecece"
                    }).siblings().css({
                        "background-color": "#6d6d6d"
                    });
                }
                //清除定时器方法  
                $(".mi_slideshow").hover(function() {
                    clearInterval(timer);
                }, function() {
                    timer = setInterval(function() {
                        $(".next_page").trigger("click");
                    }, 7000);
                });
            });

            /* 侧边选项卡 js 选项卡就很简单了,就一个悬浮显现跟隐藏*/
            $(function() {
                $(".mi_Tab>ul>li").hover(function() {
                    var index_Tab = $(this).index(); //获取选项卡下标
                    $(".mi_Tab_con").show() //悬浮 展现存放内容的div
                    $(".mi_Tab_con ul:eq(" + index_Tab + ")").show().siblings().hide(); //展现对应下标的ul,隐藏其他的ul
                }, function() {
                    $(".mi_Tab_con").hide() //离开隐藏
                });
            });
        </script>
    </body>
</html>

个人学习,内容简略。

posted @ 2020-07-16 23:42  一生的风景  阅读(1719)  评论(1编辑  收藏  举报