博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用jq实现移动端滑动轮播以及定时轮播效果
阅读量:6574 次
发布时间:2019-06-24

本文共 3257 字,大约阅读时间需要 10 分钟。

Html的代码:

css代码:

.carousel_img{width:100%;position:relative;top:0;left:0;overflow:hidden;height:200px;}.car_img{width:100%;height:200px;position:absolute;top:0;left:0;}.carousel_index{position:absolute;top:180px;right:0;padding-right:24px;height:12px;}.carousel_icon{width:12px;height:12px;float:left;}.carousel_icon1{background:url(../image/DovmatchWhite.png) no-repeat;background-size:8px;background-position:center center;}.carousel_icon2{background:url(../image/DovmatchGrey.png) no-repeat;background-size:8px;background-position:center center;}

jq代码:

$(document).ready(function(e) {    var imgObj = document.getElementsByClassName("car_img");    var imgLen = imgObj.length;    var windowWidth = $(window).width();    $(".car_img").bind("click",function(event){            });    int = setInterval(carouselImg,3000);    for(var i=0;i
< imgLen;i++){ $car_img.eq(i).css("left",windowWidth*(i-thisIndex)+spanX); } }}function touchend(event){ var $car_img = $(".car_img"), $this = $(this), $carousel_icon = $(".carousel_icon"), windowWidth = $(window).width(); var thisIndex = $this.index(), imgLen = $(".car_img").length; var thisLeft = parseInt($(this).css("left")); //向左滑动执行的方法 if(thisLeft < -32 && thisIndex < imgLen){ //当轮播图滑动最后一个位置时,当前轮播图位置不变 if(thisIndex == imgLen-1){ for(var i=0;i < imgLen;i++){ $car_img.eq(i).animate({"left":windowWidth*(i-thisIndex)},300); } } //当轮播不在最后一个位置时,轮播图位置变化方法 else{ for(var i=0;i < imgLen;i++){ $car_img.eq(i).animate({"left":windowWidth*(i-(thisIndex+1))},300); $carousel_icon.eq(i).addClass("carousel_icon2").removeClass("carousel_icon1"); } $carousel_icon.eq(thisIndex+1).removeClass("carousel_icon2").addClass("carousel_icon1"); } } //向右滑动执行的方法 else if(thisLeft > 32 && thisIndex >= 0){ //当轮播图在第一个位置时 if( thisIndex == 0){ for(var i=0;i < imgLen;i++){ $car_img.eq(i).animate({"left":windowWidth*(i-thisIndex)},300); } } //轮播图不在第一个位置 else{ for(var i=0;i < imgLen;i++){ $car_img.eq(i).animate({"left":windowWidth*(i-(thisIndex-1))},300); $carousel_icon.eq(i).addClass("carousel_icon2").removeClass("carousel_icon1"); } $carousel_icon.eq(thisIndex-1).removeClass("carousel_icon2").addClass("carousel_icon1"); } } //当滑动距离在大于-32px并且小于32px时,当前轮播图位置不变 else{ for(var i=0;i < imgLen;i++){ $car_img.eq(i).animate({"left":windowWidth*(i-thisIndex)},100); } } int = setInterval(carouselImg,3000);}function carouselImg(){ var $car_img = $(".car_img"), $carousel_icon = $(".carousel_icon"), windowWidth = $(window).width(); var imgLen = $car_img.length, imgZeroIndex = 0; for(var i=0;i

代码有缺陷,其中touchstart函数中点击开始的X坐标pressX不用全局变量该怎么表示?还有int这样的一个全局变量,没有解决好,有大神可以指正下。

展示效果图

clipboard.png

转载地址:http://kwwno.baihongyu.com/

你可能感兴趣的文章
ORACLE 存储过程异常捕获并抛出
查看>>
HDU 4293 Groups (线性dp)
查看>>
博客园博客美化相关文章目录
查看>>
root用户重置其他密码
查看>>
关于查询扩展版ESI高被引论文的说明
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
解密Angular WebWorker Renderer (二)
查看>>
parceljs 中文文档24小时诞生记
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
ReactNative字体大小不随系统字体大小变化而变化
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
为什么中台是传统企业数字化转型的关键?
查看>>
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
从pandas到geopandas
查看>>