美文网首页
学习记录:简单的焦点图轮播效果

学习记录:简单的焦点图轮播效果

作者: 银票大王 | 来源:发表于2017-04-09 21:04 被阅读0次

这次学习的是慕课网的视频教程Tab选项卡切换效果,视频教的是Tab选项卡切换效果,作业写的是焦点图轮播效果,这两者基本原理是一样的。
实现效果描述:随着鼠标滑过相对应标签,对应的内容也进行切换,鼠标移开后,内容会进行自动切换展示。
首先写html,把展示内容用列表标签进行装载,图片和相对应的文字分别装在列表中,写好基本的CSS样式。

  <div class="wrap" id='wrap'>
    <ul id="pic">
      <li>![](images/54111cd9000174cd04900170.jpg)</li>
      <li>![](images/54111dac000118af04900170.jpg)</li>
      <li>![](images/54111d9c0001998204900170.jpg)</li>
      <li>![](images/54111d8a0001f41704900170.jpg)</li>
      <li>![](images/54111d7d00018ba604900170.jpg)</li>    
    </ul>
    <ol id="list">
      <li class="on">1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
    </ol>
  </div>

无论是TAB标签还是焦点图轮播实现原理就是先设置活动类样式和普通类样式,然后编写事件函数,当事件发生时对元素使用活动类样式,否则就使用普通类样式,在这个焦点图例子里,图片的切换使用了直接用脚本添加样式的方式进行设置,而文字的切换使用脚本调动样式表的方式进行设置,具体例子为:

// 对元素添加类达到控制显示
lilist[i].className="";
lilist[i].className = "on";
//直接对元素的样式属性display进行设置控制显示
liimg[i].style.display="none";
liimg[i].style.display = "block";

整个切换函数的原理是把除了目标之外的其它同类隐藏,然后单独对目标进行设置使之显示:

function change(crindex){
    for(var i=0;i<lilist.length;i++){
        lilist[i].className="";
        liimg[i].style.display="none";
        }
    lilist[crindex].className = "on";
    liimg[crindex].style.display = "block";
    index = crindex; //将当前索引值传递给全局索引
    }

在切换过程中的重点是索引的关联和传递,图片列表中的项目和文字列表中的项目是一一按顺序对应的。
手动切换效果达到后,开始进行自动切换的编写,主要是用到setInterval()函数,先自定义一个播放函数,然后用setInterval()函数每隔2秒运行,并且当列表历遍完后会重头开始历遍。

function autoplay(){ 
    index++;       
    if(index>=lilist.length){
        index=0;
        }
    change(index);
    }
timer = setInterval(autoplay,2000)

接着实现当鼠标滑过整个内容时停止自动播放,鼠标离开整个容器时继续播放下一张,这里重点是在上面的播放函数中一开始就让全局索引数自加1,另外还要在切换函数最后将当前切换的索引值传递给全局索引,这样每次运行播放函数时就会从下一张开始。

divwrap.onmouseover = function(){
    clearInterval(timer);
    }
divwrap.onmouseout = function(){
    timer = setInterval(autoplay,2000)
    }

至此一个简单的焦点图轮播效果就写完了,另外还可以对其添加其它扩展比如鼠标点击才切换或者添加切换动画,可以多种组合灵活使用。

相关文章

  • 学习记录:简单的焦点图轮播效果

    这次学习的是慕课网的视频教程Tab选项卡切换效果,视频教的是Tab选项卡切换效果,作业写的是焦点图轮播效果,这两者...

  • 第五周学习内容

    焦点图轮播特效之原理、焦点图轮播样式之布局、焦点图轮播之箭头切换、焦点图轮播之无限滚动。 js简介、用法、输出。

  • javaScript实现焦点轮播图界面效果(一)

    在本篇文章中我们主要通过html+css+js实现焦点轮播图的效果,那么什么是焦点轮播图呢,这里我们就用图说话,先...

  • UICollectionView实现轮播图

    使用UICollectionView实现一个简单的轮播图效果

  • 简单的轮播图,你会吗?

    开始做第一个轮播图 第一个轮播图比较简单,显示隐藏的方式轮播图片。废话少说直接看效果。 效果https://gks...

  • Swift-UICollectionView无限轮播

    Swift简单的轮播图 效果图 如果有什么问题请大家指正,谢谢! 推荐轮播1 - SDCycleScrollVie...

  • 第十七谈:轮播效果

    本节课我们来开始学习 Bootstrap 的提供的轮播效果组件。 一.轮播效果 一个最简单的经典幻灯片轮播效果,如...

  • 轮播图(Carousel)

    以下内容参考菜鸟教程 一个简单的轮播图由三个方面组成: 轮播指标(即轮播图下方的圆点) 轮播项目(即要实现轮播效果...

  • Retrofit+rxjava

    利用retrofit/rxjava2做一个简单的网络请求、效果是一个轮播图。(轮播图使用的是Banner插件,网址...

  • Vue项目中【封装复用】使用elementUI中的Carouse

    简述: 在项目中,使用轮播的地方有多处,所以做了一个简单的封装效果如Carousel 走马灯实现轮播图效果[htt...

网友评论

      本文标题:学习记录:简单的焦点图轮播效果

      本文链接:https://www.haomeiwen.com/subject/nrldattx.html