完美实现八种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 相关文章推荐
javascript的函数
Jan 31 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
Mar 21 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
JavaScript Array对象详解
Mar 01 Javascript
基于ES6作用域和解构赋值详解
Nov 03 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
优雅的elementUI table单元格可编辑实现方法详解
Dec 23 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
ES6顶层对象、global对象实例分析
Jun 14 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
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
php处理复杂xml数据示例
2016/07/11 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
JS学习之一个简易的日历控件
2010/03/24 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
JS画线(实例代码)
2013/11/20 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
python学习之编写查询ip程序
2016/02/27 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python实现自动装机功能案例分析
2020/10/22 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
劳模先进事迹材料
2014/12/24 职场文书
2015年个人思想总结
2015/03/09 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
Pytest中conftest.py的用法
2021/06/27 Python