简要分析javascript的选项卡和轮播图

选项卡

思路

1、按钮和展示的页面要对应:分别遍历,记住当前按钮的索引,让其成为展示页面的索引

2、只出现所对应的页面:所有的页面隐藏,只展示想要的页面

只展示js代码

       for(var i=0;i<input.length;i++){
                  input[i].index=i           //让浏览器解析HTML文档时,保存每一个input的索引
                  input[i].onclick=function(){
                        for(var j=0;j<div.length;j++){   //所有的div为隐藏
                             div[j].style.display=‘none‘
                             input[j].className=‘‘
                       }
                      div[this.index].style.display=‘block‘ //只展示对应的页面
                      this.className=‘active‘
                  }
         }

轮播图

思路

一个完整的轮播图包含:自动播放;鼠标移入移除开始暂停;两边的按钮;下面的小轮播点

自动播放:涉及到定时器,

移入移除:mouseover和mouseout事件,开始/取消定时器

两边的按钮:左右移动,++--,图片和轮播点相对应

下面的轮播点:和选项卡差不多

整体的思路和选项卡差不多,但细微处还是得注意

规定

imDiv为图片div的集合

imgSpan为小轮播点的集合

one为右键two为左键

代码

function changeImage(){
              for(var i=0;i<imDiv.length;i++){
                    imDiv[i].style.display=‘none‘
                    imgSpan[i].style.background=‘#ccc‘
              }
              imDiv[index].style.display=‘block‘
              imgSpan[index].style.background=‘green‘
        }  

这一部分为改变图片和小轮播点的变色:原理和轮播图一样,先让所有的消失和原来的颜色;注意这里的index一开始为0

for(var i=0;i<imgSpan.length;i++){
             imgSpan[i].id=i
             imgSpan[i].onclick=function(){
                     index=this.id
                     changeImage()
             }
        }

这里部分为小轮播点的点击事件,为了让其对应相应的图片,可使用id或者自己setAttribute属性来记住索引,再执行轮播图片的对应代码

            images.onmouseover=function(){
                clearInterval(timer)
              }
            images.onmouseout=function(){
                timer=setInterval(function(){
                      index++
                      if(index>=imDiv.length){
                              index=0
                      }
                      changeImage()

                },2000)
             }
             images.onmouseout()

这里的代码是mouseover和mouseout事件,注意这里的if条件,防止超出应有的图片;后面的img.onmouseout直接自执行,一开始就执行

             one.onclick=function(){
                   index++
                   if(index>=imDiv.length){
                           index=0
                   }
                    changeImage()
             }
             two.onclick=function(){
                   index--
                   if(index<=0){
                           index=2
                   }
                    changeImage()
             }

这里的代码是两边的按钮点击事件,原理都是一样的;因为当你点击的时候,这里的定时器依然是在运行的,造成不好的用户体验;可以让其mouseover和mouseout让定时器关闭和开始,达到良好的用户体验。

总结

第一:不管是选项卡,还是轮播图,思路大致一样,都是先隐藏,谁该出现谁就出现;

第二:轮播图的播放封装成一个函数,有需求直接调用即可

第三:注意索引的对应,属性的灵活应用

第四:爱上原生JavaScript。

pretty funny!

原文地址:https://www.cnblogs.com/iDouble/p/8536875.html

时间: 2024-08-28 19:41:13

简要分析javascript的选项卡和轮播图的相关文章

JavaScript实现移动端轮播图效果

功能描述: 自动无缝轮播图片,底部小圆点跟图片保持一致:手指左右移动轮播图,移动距离大于50px播放下一张(或上一张),小于50px则回弹 具体功能实现: 1.定时器 自动轮播图片 先声明一个index=0用来存图片索引: 添加一个定时器,每隔两秒调用一次,每调用一次定时器(图片播放一次)index就加一: 通过transform(变形)属性和transition(过渡)属性实现图片的轮播. 1 var index = 0; 2 var timer = setInterval(function(

JavaScript 最基本的轮播图实现

html 与css 没来得及写注释 ,以下为源码 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .div1{ width: 600px; height: 400px; margin: auto; position: relative; } img

【课堂实例】轮播图

[目标] 制作一个有5张图片的轮播图 [分析] 想要制作轮播图,需要如下3个步骤: 1.页面打开之后,第一个图片显示,其余的图片,隐藏 2.图片间隔5秒轮播一次 3.传到第5个图后回到第1张 [制作] 1.页面打开之后,第一个图片显示,其余的图片,隐藏: $(“.bg”).not(“:eq(0)”).hide(); 2.间隔5秒轮播: Var i=0; $(function(){ $(“.bg”).not(“:eq(0)”).hide();   //第一张图片隐藏 setInterval(fun

photoSlider-原生js移动开发轮播图、相册滑动插件

详细内容请点击 在线预览   立即下载 使用方法: 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" href="css/photoSlider.min.css" /><script src="js/photoSlider.min.js" type="text/javascript" charset="utf-8&q

photoSlider-html5原生js移动开发轮播图-相册滑动插件

简单的移动端图片滑动切换浏览插件 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" href="css/photoSlider.min.css" /> <script src="js/photoSlider.min.js" type="text/javascript" charset="utf-8">

3d轮播图的效果实现

最近工程比较松,所以自己研究了一下3d轮播图的实现原理,其实说白了也不是很难就是在x,y,z轴上的平移和整个平面的旋转变换达到的效果, 下面是实现代码 html部分 <div class="stage"> <div class="contains"> <div style="transform: rotateY(0deg) translateZ(400px);">关于我</div> <div

原生js实现的3个小特效(时钟、轮播图、选项卡)

时钟: <p id="timeTxt"></p>  //将获取到的时间显示在timeTxt这里面        <button onclick="startTime()">关闭</button>        <!--时钟-->        function startTime(){  //创建startTime()函数            var today=new Date();  //定义一个对象

浅谈轮播图(原生JavaScript实现)

现在各种轮播图插件,玲琅满目,用起来也非常方便,通常只需要选择元素然后传入参数就可以了.但是,和授人以鱼不如授人以渔一样的道理,不管怎样最基本的轮播图原理还是应当掌握的.这样不仅有利于我们自己写出来满足自己要求的轮播图,同时也对我们更好的使用其他插件有帮助.当然,最重要的是扎实我们的JavaScript基本功! 切入正题. 轮播,顾名思义,就是图片的循环"播放".播放可以自动(定时器)也可以手动(按钮).轮播的精要其实是切换,切换可以是上下左右不同方向的移动来实现切换,移动可以匀速小步

jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验

jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验 一丶bootstrap的使用 下载资源文件: bootstrap官网 导入 // 1.导入样式 <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css"> // 2.导入bootstrap的js,依赖jquery,先导入jquer <script