付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原生JS实现匀速图片轮播动画需求:1根据图片动态添加小圆点2目标移动到小圆点轮播图片3鼠标离开图片,定时轮播图片;鼠标在图片上时暂停4左右两侧可点击轮播图片一、布局部分html部分<divclass="wmainclearfix"><!--主内容部分开始--><divclass="slider"><!--轮播图部分开始--><ulclass="imgs"id="slider_imgs"><li><imgsrc="images/slider01.jpg"id="slider1"alt=""/></li><li><imgsrc="images/slider02.jpg"id="slider2"alt=""/></li><li><imgsrc="images/slider03.jpg"id="slider3"alt=""/></li><li><imgsrc="images/slider04.jpg"id="slider4"alt=""/></li><li><imgsrc="images/slider05.jpg"id="slider5"alt=""/></li><li><imgsrc="images/slider01.jpg"id="slider0"alt=""/></li></ul><divclass="arrow"id="arrow"><ahref="javascript:;"class="arrow_1"><</a><ahref="javascript:;"class="arrow_2">></a></div></div><!--轮播图部分结束--></div>css部分.sliderul.imgs{height:453px;width:4380px;position:absolute;}.sliderul.imgsli{display:block;width:730px;height:453px;float:left;}.slider.circle{position:absolute;left:50%;bottom:8px;}.slider.circleli{cursor:pointer;float:left;width:18px;height:18px;margin:4px;background-color:#3e3e3e;border-radius:50%;text-align:center;color:#fff;}.slider.circleli.current{background:pink;color:white;}JS部分1这是匀速动画函数的封装/****obj:做动画的DOM对象***target:对象最终运动到的目标位置(X轴)*/functionanimate(obj,target){//每次调用要先清定时器clearInterval(obj.Timer);//根据目标位置判断移动的方向,每到目标位置步长为20,否则为-20varspeed=target>obj.offsetLeft?20:-20;obj.Timer=setInterval(function(){varleft=obj.offsetLeft;obj.style.left=left+speed+"px";varresult=target-left;//目标位置与当前位置在步长20以内,则到达目标位置if(Math.abs(result)<=20){//停止运动clearInterval(obj.Timer);//有20像素差距我们直接跳转目标位置obj.style.left=target+"px";}},2函数:`这里写代码片0);}轮播图封装函数:functionslider(){//焦点图信息DOM节点varimgs=document.getElementById("slider_imgs");varslides=imgs.parentNode;varlis=imgs.getElementsByTagName("li");vararrows=document.getElementById("arrow");vararrowLink=arrows.children;//创建小圆点varcircle=document.createElement("ol");circle.setAttribute("class","circle");imgs.parentNode.appendChild(circle);for(vari=0,len=lis.length-1;i<len;i++){varli=document.createElement("li");LHTML=i+1;circle.appendChild(li);}//marginLeft=-imgli(length)*olLi(width)/2circle.style.marginLeft=(-13*len)+"px";varolLis=circle.children;olLis[0].className="current";//为小圆点添加鼠标事件for(vari=0;i<olLis.length;i++){//当前小圆点索引olLis[i].index=i;olLis[i].onmouseover=function(){for(varj=0;j<olLis.length;j++){olLis[j].className="";}this.className="current";//图片切换imgs的CSS部分加上定位animate(imgs,this.index*(-lis[0].offsetWidth));//当鼠标挪到定时器,当前播放图片与原点位置回原k=z=p=q=this.index;};}//鼠标移动到轮播图,不定时播放slides.onmouseover=function(){//清除自动轮播定时器clearInterval(Time);};//鼠标移开,自动轮播slides.onmouseout=function(){Time=setInterval(autoPlay,1000);};//定时器部分varTime=null,k=0,z=0;Time=setInterval(autoPlay,1000);//自动轮播图片,定时器TimefunctionautoPlay(){k++;if(k>lis.length-1){imgs.style.left=0;k=1;}animate(imgs,k*(-lis[0].offsetWidth));z++;if(z>olLis.length-1){z=0;}for(varj=0;j<olLis.length;j++){olLis[j].className="";}olLis[z].className="current";}varq=0;varp=0;arrowLink[1].onclick=function(){q++;if(q>lis.length-1){imgs.style.left=0;q=1;}p++;if(p>olLis.length-1){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年保安员(初级)考试内容及考试题库含答案
- 数据可视化全息投影课程设计
- 传送带PLC数据分析课程设计
- 齿轮减速器课程设计感想
- 3个课时课程设计
- 冰块融化课程设计
- 边坡工程课程设计内容
- 基于TLS的负载均衡设计课程设计
- 基于Spark的实时日志分析平台改进课程设计
- 插画临摹课程设计
- 网络教育运营KPI考核表
- DLT5210.1-2021电力建设施工质量验收规程第1部分-土建工程
- 会员预售活动方案
- T/CCAS 007-2019水泥产能核定标准
- 机械设备租赁服务方案
- DB11T 695-2025 建筑工程资料管理规程
- 肿瘤心脏病指南
- DB53-T+1240-2024劳动用工备案服务规范
- 核动力厂厂址评价中的外部人为事件-编制说明
- YB∕T 4146-2016 高碳铬轴承钢无缝钢管
- JJG936-2012示差扫描热计量
评论
0/150
提交评论