完美实现八种js焦点轮播图(上篇)


Posted in Javascript onJuly 18, 2016

本文分为上下篇为大家分享了js焦点轮播图八种经典效果,供大家参考,具体内容如下

基本布局:

<div id="box">
 <ul id="ul">
 <li style='display:block;'><img src="images/1.jpg" alt=""></li>
 <li><img src="images/2.jpg" alt=""></li>
 <li><img src="images/3.jpg" alt=""></li>
 <li><img src="images/4.jpg" alt=""></li>
 <li><img src="images/5.jpg" alt=""></li>
 </ul>
 <ol id='ol'>
 <li class='active'>1</li>
 <li>2</li>
 <li>3</li>
 <li>4</li>
 <li>5</li>
 </ol>
 </div>

1.普通焦点图

window.onload=function(){
 var oUl=document.getElementById('ul');
 var aLi_u=oUl.getElementsByTagName('li');
 var oOl=document.getElementById('ol');
 var aLi_o=oOl.getElementsByTagName('li');
 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].index=i;
 aLi_o[i].onmouseover=function(){
  for(var i=0;i<aLi_o.length;i++){
  aLi_o[i].className='';
  aLi_u[i].style.display='none';
  }
  this.className='active';
  // console.log(aLi_o[this.index]);
  aLi_u[this.index].style.display='block';
 }
 }
 }

效果图:图略

2.淡入淡出效果

var oUl=document.getElementById('ul');
var aLi_u=oUl.getElementsByTagName('li');
var oOl=document.getElementById('ol');
var aLi_o=oOl.getElementsByTagName('li');

for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].index=i;
 aLi_o[i].onmouseover=function(){
 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].className='';
 aLi_u[i].style.display='none';
 aLi_u[i].style.filter='alpha(opacity=0)';
 aLi_u[i].style.opacity=0;
 }
 this.className='active';
 aLi_u[this.index].style.display='block';
 startMove(aLi_u[this.index],{opacity:100});
 };
}

效果图:

完美实现八种js焦点轮播图(上篇)

3.向上滚动效果:

var oUl=document.getElementById('ul');
var aLi_u=oUl.getElementsByTagName('li');
var oOl=document.getElementById('ol');
var aLi_o=oOl.getElementsByTagName('li');
var LiHeight=aLi_u[0].offsetHeight;

for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].index=i;
 aLi_o[i].onmouseover=function(){
 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].className='';

 this.className='active';

 startMove(oUl,{top:-this.index*LiHeight});
 }
 };
}

效果图:

完美实现八种js焦点轮播图(上篇)

4.定时上下滚动:

window.onload=function(){
 var oBox=document.getElementById('box');
 var oUl=document.getElementById('ul');
 var aLi_u=oUl.getElementsByTagName('li');
 var oOl=document.getElementById('ol');
 var aLi_o=oOl.getElementsByTagName('li');
 var LiHeight=aLi_u[0].offsetHeight;
 var iNow=0;//当前索引
 var timer=null;//定时器

 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].index=i;
 aLi_o[i].onmouseover=function(){
 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].className='';

 this.className='active';
 //建立关系:很重要
 iNow=this.index;

 startMove(oUl,{top:-this.index*LiHeight});
 }
 };
 //开定时器
 timer=setInterval(toRun,2000);

 oBox.onmouseover=function(){
 clearInterval(timer);
 };
 oBox.onmouseout=function(){
 timer=setInterval(toRun,2000);
 };
 //定时函数
 function toRun(){
 if(iNow==aLi_o.length-1){
 iNow=0;
 }else{
 iNow++;
 }

 for(var i=0;i<aLi_o.length;i++){
 aLi_o[i].className='';
 }
 aLi_o[iNow].className='active';
 startMove(oUl,{top:-iNow*LiHeight});
 }
};

效果图:

完美实现八种js焦点轮播图(上篇)

更多关于轮播图效果的专题,请点击下方链接查看学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木,大家继续关注更多精彩焦点轮播图。

Javascript 相关文章推荐
extjs 列表框(multiselect)的动态添加列表项的方法
Jul 31 Javascript
jQuery对象与DOM对象之间的转换方法
Apr 15 Javascript
jQuery中 prop() attr()使用详解
May 19 Javascript
jQuery实现动画效果circle实例
Aug 06 Javascript
FullCalendar日历插件应用之数据展现(一)
Dec 23 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 Javascript
JS实现根据密码长度显示安全条功能
Mar 08 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
详解Angular如何正确的操作DOM
Jul 06 Javascript
编写v-for循环的技巧汇总
Dec 01 Javascript
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
jQuery实现根据滚动条位置加载相应内容功能
Jul 18 #Javascript
JS HTML5拖拽上传图片预览
Jul 18 #Javascript
jQuery 操作input中radio的技巧
Jul 18 #Javascript
JS HTML5实现拖拽移动列表效果
Aug 27 #Javascript
浅谈$('div a') 与$('div&gt;a')的区别
Jul 18 #Javascript
浅析JavaScript中的array数组类型系统
Jul 18 #Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 #Javascript
You might like
php array_intersect()函数使用代码
2009/01/14 PHP
PHP技术开发技巧分享
2010/03/23 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
PHP7新功能总结
2019/04/14 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
火山动力Java笔试题
2014/06/26 面试题
应届生法律求职信
2013/10/22 职场文书
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
创意活动策划书
2014/01/15 职场文书
30年同学聚会邀请函
2014/01/25 职场文书
师范生求职自荐信
2014/06/14 职场文书
多媒体教室标语
2014/06/26 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
实习单位意见
2015/06/04 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python