完美实现八种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 相关文章推荐
JS实现self的resend
Jul 22 Javascript
Javascript面向对象扩展库代码分享
Mar 27 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
javaScript使用EL表达式的几种方式
May 27 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
AngularJs学习第八篇 过滤器filter创建
Jun 08 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 Javascript
js实现扫雷源代码
Nov 27 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
解决await在forEach中不起作用的问题
Feb 25 Javascript
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
Apr 13 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 array操作10个小技巧分享
2011/06/23 PHP
php中in_array函数用法探究
2014/11/25 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
解密效果
2006/06/23 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
军训生自我鉴定范文
2013/12/27 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
采购员工作总结范文
2015/08/12 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
DE1103使用报告
2022/04/05 无线电
ant design vue的form表单取值方法
2022/06/01 Vue.js
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL