700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > js实现在移动端图片轮播

js实现在移动端图片轮播

时间:2019-09-24 19:04:59

相关推荐

js实现在移动端图片轮播

web前端|js教程

javascript,图片,移动

web前端-js教程

rsa加密算法c源码下载,蓝桥杯比赛可以用vscode吗,ubuntu16备份,tomcat启动后网页显示乱码,sqlite行不行,常州网页设计,一个服务器可以放多少网站,wp主题会员注册插件,前端框架的引用,从爬虫到入狱,php 平均数,seo如何优化关键词排名,免费行业网站源码,网页模板关于导航,css 布局模板,漂亮的错误页面,管理系统的sql编写,小程序php传值lzw

Documenthtml,body{ width:100%; overflow-x:hidden; } html{ font-size:100px; } .banner{ position:relative; height:3rem; overflow:hidden; } .banner .wrapper{ position:absolute; top:0; left:-100%; height:100%; } .banner .wrapper .slide{ float:left; height:100%; background:#eee; } .banner .wrapper .slide img{ display:none; width:100%; height:100%; } .tip{ position:absolute; left:0; bottom:.1rem; width:100%; height:.16rem; text-align:center; } .tip li{ display:inline-block; margin:0 .03rem; width:.16rem; height:.16rem; background:rgba(0,0,0,0.2); border-radius:50%; vertical-align:top; } .tip li.bg{ background:#007aff; }

微信oa源码,vscode打开后内存跑满,看图软件ubuntu,杀掉tomcat进程名称,403反爬虫,PHP外包客服,武汉seo哪个公司最靠谱lzw

批发源码,ubuntu日志怎么打开,爬虫提取pdf数据,seek() php,合肥英文seolzw

//REM ~function(){ document.documentElement.style.fontSize = document.documentElement.clientWidth/640*100 + px; }() //页面中如果自己使用了TOUCH MOVE等原生事件,需要把浏览器的默认行为阻止掉 $(document).on( ouchmove touchstart touchend,function(ev){ ev.preventDefault(); }) //BANNER var bannerRender = (function(){ var winW = document.documentElement.clientWidth, maxL = 0, minL = 0; var $banner = $(.banner), $wrapper = $banner.children(.wrapper), $slideList = $wrapper.children(.slide), $imgList = $wrapper.find(img); var step = 1, count = 0, followTimer = null; //public fn function isSwipe(strX,strY,endX,endY){ return Math.abs(endX - strX)>30 || Math.abs(endY - strY) > 30) } function swipeDir(strX,strY,endX,endY){ return Math.abs(endX - strX)>=Math.abs(endY - strY)?(endX - strX>0? ight:left):(endY - strY>0?down:up); } //touch start function dragStart(ev){ var point = ev.touches[0]; $wrapper.attr({ strL:parseFloat($wrapper.css(left)), strX:point.clientX, strY:point.clientY, isMove:false, dir:null, changeX:null }) } //touch move function dragIng(ev){ var point = ev.touches[0]; var endX = point.clientX, endY = point.clientY, strX = parseFloat($wrapper.attr(strX)), strY = parseFloat($wrapper.attr(strY)), strL = parseFloat($wrapper.attr(strL)), changeX = endX - strX; //计算出是否滑动以及滑动的方向:只有是左右滑动才进行处理 var isMove = isSwipe(strX,strY,endX,endY), dir = swipeDir(strX,strY,endX,endY); if(isMove && /(left|right)/i.test(dir)){ $wrapper.attr({ isMove:true, dir:dir, changeX:changeX }); var curL = strL+changeX; curL = curL>maxL?maxL:(curL=winW/2){ if(dir===left){ step++; }else{ step--; } } } $wrapper[0].style.webkitTransitionDuration = .2s; $wrapper.css(left,-step*winW); lazyImg(); //动画运动过程中,我们监听一个定时器:动画运动完成判断当前是否运动到边界,如果运动到达了边界,我们让其立马回到自己的真实位置 window.clearTimeout(followTimer) followTimer = window.setTimeout(function(){ if(step===0){ $wrapper[0].style.webkitTransitionDuration = s; $wrapper.css(left,-(count-2)*winW); step = count-2; lazyImg(); } if(step===count-1){ $wrapper[0].style.webkitTransitionDuration = s; $wrapper.css(left,-winW); step = 1; lazyImg(); } window.clearTimeout(followTimer) },200) } //图片延迟加载,让当前的活动块及相邻的两个活动块进行加载 function lazyImg(){ var $cur = $slideList.eq(step), $tar = $cur.add($cur.prev()).add($cur.next()); $tar.each(function(index,item){ var $img = $(item).children(img); if($img.attr(isLoad)=== rue){ //ATTR存储或者获取的属性值都是一个字符串,如果当前的图片已经加载过了,我们就不需要重新的加载了 return; } var oImg = new Image; oImg.src = $img.attr(src); oImg.onload = function(){ $img.attr({ src:this.src, isLoad:true }).css(display,lock) oImg = null; } }) } return{ init:function(){ //init css style count = $slideList.length; minL = -($slideList.length-1)*winW; $wrapper.css(width,$slideList.length*winW); $slideList.css(width,winW); //lazy img lazyImg(); $banner.on( ouchstart,dragStart).on( ouchmove,dragIng).on( ouchend,dragEnd) } } })() bannerRender.init();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。