zepto实现轮播图

zepto是一个移动端的框架,语法几乎跟jQuery一样,

首先需要引入你需要的插件,需要什么就引入什么。

<!-- 导入zepto -->

<script type="text/javascript" src=‘js/zepto.js‘></script>

<!-- touch事件 -->

<script type="text/javascript" src=‘js/touch.js‘></script>

html代码:

<!--  轮播的图片 -->

<ul class="banner_imgs clearfix">

<li class="f_l"><a href="#"><img src="images/l2.jpg" alt=""></a></li>

<li class="f_l"><a href="#"><img src="images/l3.jpg" alt=""></a></li>

<li class="f_l"><a href="#"><img src="images/l4.jpg" alt=""></a></li>

</ul>

<!-- 索引的 li标签 -->

   <ul class="banner_index clearfix">

    <li class="f_l"></li>

    <li class="f_l"></li>

    <li class="f_l"></li>

</ul>

css代码:

.jd_banner .banner_imgs {

width: 1000%;

transform: translateX(-10%);

transition: all .3s;

}

.jd_banner .banner_imgs li {

width: 10%;

}

.jd_banner .banner_imgs li a {

display: block;

width: 100%;

}

.jd_banner .banner_imgs li a img {

width: 100%;

display: block;

}

.jd_banner .banner_index {

position: absolute;

bottom: 5px;

left: 50%;

margin-left: -48px;

}

.jd_banner .banner_index li {

/* 所有li的通用样式 */

width: 6px;

height: 6px;

border-radius: 3px;

border: 1px solid white;

margin: 0 3px;

}

.jd_banner .banner_index li.current {

/*  当li标签 拥有 .current的时候 会使用该样式 */

background-color: white;

}

js代码:

$(function(){

//自动轮播

//第一步获取一些必要的值比如说索引,屏幕宽度,移动的ul

//和下面小圆点的index

var index=1;

var width=$(‘body‘).width();

var moveUl=$(‘.banner_imgs‘);

var index_li=$(‘.banner_index li‘);

//封装ul移动的方法

var animateMoveUl=function(){

moveUl.animate({

"transform":"translate("+index*width*-1+"px)"

},300,"ease",function() {

if(index>=9){

    index=1;

moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});

}else if(index<=0){

      index=8;

moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});

}

//修改index的值

index_li.removeClass(‘current‘).eq(index-1).addClass(‘current‘);

//判断timeId的值如果为undefined说明我们干掉了计时器这是要重新开启定时器

if(timeId==undefined){

    timeId = setInterval(function(){

index++;

animateMoveUl();

},1000);

}

});

};

//定时器自动轮播

var timeId=setInterval(function(){

//对index进行累加

index++;

//调用移动ul的方法

animateMoveUl();

},1000);

//左右滑动的右滑动

moveUl.swipeRight(function(){

clearInterval(timeId);

//这里要记住尽管计时器清楚了但是timeId一直都在  timeId=undefined;

index--;

//调用移动ul的方法

animateMoveUl();

});

moveUl.swipeLeft(function(){

clearInterval(timeId);

//这里要记住尽管计时器清楚了但是timeId一直都在  timeId=undefined;

index++;

//调用移动ul的方法

animateMoveUl();

});

});

时间: 2024-12-14 12:10:51

zepto实现轮播图的相关文章

微信浏览器轮播图的使用经验

最近在搞微信,不得不吐槽下微信的网页的开发不比考虑那么多的网页的兼容性,因为微信一致使用的是QQ浏览器内核,但是不得不说,这个浏览器很操蛋... 在移动端的轮播图有很多种,我们的一个大牛使用的是unslider.js.手势事件(touch事件)用的是jquery.event.swipe.(曾经我使用过zepto提供的touch.js,但是在微信浏览器里超难用,还不如toucher.js.在其他地方是否好用,就不造了.) 网上说unslider.js可以自动响应容器大小布局,这个确实存在.但是在微

jquery轮播图

咱们今天还是轮播图,今天说jquery的轮播图! 首先,要有个插件: 请无视Zepto插件,他没起到任何作用! 就是这两个啦! 然后就是代码! <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <!--引入插件--> <script src="../上月插件/jquery-3.1.1.min.js&q

前端经典案例之轮播图

大部分网站或APP的首页差不多都运用到了轮播图,下边就探讨一下关于轮播图的集中解决方法,相关插件可自行去网站下载. 效果图: 方法一: 1.css样式代码: 1 <style> 2 div{ 3 width: 344px; 4 height: 199px; 5 overflow: hidden; 6 } 7 ul{ 8 width: 1042px; 9 } 10 li{ 11 display: inline-block; 12 } 13 </style> 2.html代码: 1 &

swiper轮播图插件

一.简介 ①Swiper是纯javascript打造的滑动特效插件,面向手机.平板电脑等移动终端.Swiper能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果. ②Swiper 是一款免费以及轻量级的移动设备触控滑块的框架,使用硬件加速过渡(如果该设备支持的话).主要使用与移动端的网站.网页应用程序(web apps),以及原生的应用程序(native apps). ③主要是为IOS而设计的,同时,在Android.WP8系统以及现代桌面浏览器也有着良好的用户体验. 二.文档 ①中文网址

jQuery----无缝轮播图

1.效果 2.html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="css/iconfont.css"> <link rel="stylesh

Android自己定义控件之轮播图控件

背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个控件,不必每次反复写代码了. 效果图 实现分析 轮播图的功能就是实现左右滑动的广告.图片信息展示,那我们就用ViewPager来实现,由于考虑到用户体验,我们还须要在以下加一个指示器来标示滑动到了第几张轮播图.指示器我们能够用一个线性布局来依据要展示的轮播图设置显示的View,我们要做这种一个控件没

CSS-用伪类制作小箭头(轮播图的左右切换btn)

先上学习地址:http://www.htmleaf.com/Demo/201610234136.html 作者对轮播图左右按钮的处理方法一改往常,不是简单地用btn.prev+btn.next的图片代替,而是用纯css制作. 第一个是left按钮,即prev: .vmc-arrow-left:after { content: "\e079"; } 第二个是right按钮的,也就是next下一张的按钮: .vmc-arrow-right:after { content: "\e

Jquery 实现轮播图

jq 轮播图 function banner_show(){ var left_btn = $("#banner_tag_left"); //获取左侧单击按钮 var right_btn = $("#banner_tag_right"); //获取右侧点击按钮 var Owidth = $("#banner ul li").width(); //获取单个图片宽度 var Oindex = $("#banner ul li");

js实现轮播图效果(附源码)--原生js的应用

1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Author" content="奇客艺术"> <meta name="keyword" content="关键字"> <meta name=