完美实现八种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 相关文章推荐
使用基于jquery的gamequery插件做JS乒乓球游戏
Jul 31 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
Vue实战之vue登录验证的实现代码
Oct 31 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
Node.js中的child_process模块详解
Jun 08 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
layui动态表头的实现代码
Aug 22 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
Aug 24 Javascript
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 构造函数construct的前下划线是双的_
2009/12/08 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
深入浅析Vue中的Prop
2018/06/10 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
python实现二叉树的遍历
2017/12/11 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
Django的Modelforms用法简介
2019/07/27 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
python requests.get带header
2020/05/05 Python
Django实现内容缓存实例方法
2020/06/30 Python
python实现AdaBoost算法的示例
2020/10/03 Python
医院后勤自我鉴定
2013/10/13 职场文书
社团活动总结范文
2014/04/26 职场文书
班级活动总结格式
2014/08/30 职场文书
学术会议通知范文
2015/04/15 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书