版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原生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年网络教育教学方法与策略考试卷
- 2026年企业招聘流程与面试技巧指南
- 2026年非煤矿山露天开采边坡安全管理问答
- 中铁企业创新创效演讲稿
- 2026年博物馆奇妙夜主题互动题库
- 工业系统使用培训
- 银行客户经营演讲稿范文
- 2026年农机残膜回收技术知识测试题
- 2026年语言与沟通能力培训测验题目及解析
- 2024年高等教育文学类自考-04265社会心理学笔试考试历年高频考点试题摘选含答案
- 《清洁消毒灭菌》课件
- 工程数学基础课件
- 抗肿瘤药物临床合理应用(临床)
- 口袋妖怪奇幻旅程攻略
- 牙龈疾病-妊娠期龈炎
- GB/T 42609-2023煤粉给料三通换向阀
- 成人机械通气患者俯卧位护理-中华护理学会团体标准
- 年产30万吨合成氨脱碳工段工艺设计
- 优选文档压裂压力诊断PPT
- FZ/T 52010-2014再生涤纶短纤维
评论
0/150
提交评论