zeptojs库

一、简介

①Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。

②Zepto的设计目的是提供 jQuery 的类似的API,但并不是100%覆盖 jQuery 。Zepto是一个5-10k的通用库、能够下载并快速执行、有一个熟悉通用的API,可以有效提高开发效率。

③文档:中文文档 、GitHub

二、模块(参考文档)

注意:如果下载的文件只包含核心模块, Ajax, Event, Form, IE,如果需要使用其他模块,需要额外下载,比如做动画的 fx 模块,滑动事件的 touch 模块等等

三、使用示范(轮播图)

  • 文件准备

  • html结构
<!-- 版心 -->
    <div class="container">
        <!-- 轮播图 -->
        <div class="banner">
            <ul>
                <li><a href="#"><img src="images/banner08.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner01.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner02.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner03.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner04.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner05.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner06.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner07.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner08.jpg" alt=""></a></li>
                <li><a href="#"><img src="images/banner01.jpg" alt=""></a></li>
            </ul>
            <ul>
                <li class="now"></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </div>
    </div>
    <!-- 引入zepto库 :核心模块-->
    <script src="zepto/zepto.min.js"></script>
    <!-- 引入zepto库 :扩展选择器 -->
    <script src="zepto/selector.js"></script>
    <!-- 引入zepto库 :做动画 -->
    <script src="zepto/fx.js"></script>
    <!-- 引入zepto库 :手势 -->
    <script src="zepto/touch.js"></script>
  • css样式
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-box-sizing: border-box;
        }
        ul{
            list-style: none;
        }
        a{
            text-decoration: none;
        }
        .container {
            position: relative;
            width: 750px;
            margin: 0 auto;
        }
        .banner {
            width: 100%;
            overflow: hidden;
            position: relative;
        }
        .banner ul:first-child {
            width: 1000%;
            transform: translateX(-10%);
            -webkit-transform: translateX(-10%);
        }
        .banner ul:first-child li {
            width: 10%;
            float: left;
        }
        .banner ul:first-child li a {
            display: block;
            width: 100%;
        }
        .banner ul:first-child li a img {
            display: block;
            width: 100%;
        }
        .banner ul:last-child {
            position: absolute;
            right: 20px;
            bottom: 20px;
        }
        .banner ul:last-child li {
            margin-left: 12px;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            float: left;
            background: #fff;
        }
        .banner ul:last-child li.now {
            background: #fabc09;
        }
    </style>
  • js脚本
    <script>
        $(function(){
            /* 轮播图 */
            var $banner=$('.banner');
            var width=$banner.width();

            var $imageBox=$banner.find('ul:first-child');
            var $pointBox=$banner.find('ul:last-child');
            var $points=$pointBox.find('li');

            var animationFuc=function(){
                $imageBox.animate({transform:'translateX('+(-index*width)+'px)'},200,function(){
                    if(index>=9){
                        index=1;
                        $imageBox.css({transform:'translateX('+(-index*width)+')px'});
                    }else if(index<=0){
                        index=8;
                        $imageBox.css({transform:'translateX('+(-index*width)+')px'});
                    }
                    $points.removeClass('now').eq(index-1).addClass('now');
                });
            }
            // 1.功能:自动轮播 无缝
            // 2.功能:点容器随着变化
            var index=1;
            var timer=setInterval(function(){
                index++;
                animationFuc();
            },2000);
            // 3.功能:完成手势切换
            $banner.on('swipeLeft',function(){
                index++;
                animationFuc();
            });
            $banner.on('swipeRight',function(){
                index--;
                animationFuc();
            });
        });
    </script>
  • 效果展示

原文地址:https://www.cnblogs.com/EricZLin/p/9359288.html