基于JavaScript实现带缩略图的轮播效果


Posted in Javascript onJanuary 12, 2017

先瞄一眼js轮播效果图

基于JavaScript实现带缩略图的轮播效果

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
*{padding:0;margin:0;}
#content {width:400px;height:500px;margin:10px auto;position:relative;border:1px solid #000;color:red;font-size:20px;}
#title, #bottom{position:absolute;width:400px;height:30px;line-height:30px;text-align:center;font-size:20px;background:#f1f1f1;}
#bottom{bottom:0;cursor:pointer;}
#bottom span{display:inline-block;width:15px;height:15px;border-radius:15px;background:#000;text-align:center;line-height:15px;position:relative;}
#bottom span.active{background: #FFFF33;}
#bottom span div {position:absolute;width:110px;height:110px;top:-125px;left:-46px;display:none;}
#bottom span div:after{content:'';position:absolute;left:49px;bottom:-12px;border-top:7px solid #fff;border-right:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid transparent;}
#bottom span img {width:100px;height:100px;border:5px solid #fff;}
#left, #right{position:absolute;width:60px;height:60px;border-radius:60px;line-height:60px;font-size:60px;background:#FFFF66;font-weight:bold;text-align:center;top:50%;margin-top:-25px;color:#fff;cursor:pointer;filter(opacity:70);opacity:0.7;}
#left:hover,#right:hover{filter(opacity:100);opacity:1;}
#left{left:0px;}
#right{right:0px;} 
#img{width:400px;height:500px;}
</style>
<script>
window.onload = function () {
 var bottom = $('bottom'),title = $('title'),
 img = $('img'),left = $('left'),right = $('right');
 var aSpan = bottom.getElementsByTagName('span');
 var aDiv = bottom.getElementsByTagName('div');
 var arr = ['图片一','图片二','图片三', '图片四'];
 var num = 0;
 // 初始化
 picTab();

 // 点击下一张
 right.onclick = function () {
 if (num === aDiv.length - 1) num = -1;
 num++;
 picTab();
 }

 // 点击上一张
 left.onclick = function () {
 if (num === 0) num = aDiv.length;
 num--;
 picTab();
 }

 function picTab() {
 title.innerHTML = arr[num];
 img.src = 'img/' + (num + 1) + '.png';
 for ( var i = 0; i < aSpan.length; i++ ) {
  aSpan[i].className = '';
 }
 aSpan[num].className = 'active';
 }
 // 鼠标移入移出显示缩略图
 for ( var i = 0; i < aSpan.length; i++ ) {
 aSpan[i].index = i;
 aSpan[i].onmouseover = function () {
  aDiv[this.index].style.display = 'block';
 }
 aSpan[i].onmouseout = function () {
  aDiv[this.index].style.display = 'none';
 }
 aSpan[i].onclick = function () {
  num = this.index;
  picTab();
 }
 }
 function $(id) { return document.getElementById(id);}
}
</script>
</head>
<body>
<div id="content">
 <div id="title">带缩略图的轮播</div>
 <div id="left"><</div>
 <div id="right">></div>
 <div id="bottom">
 <span><div><img src="img/1.png"/></div></span>
 <span><div><img src="img/2.png"/></div></span>
 <span><div><img src="img/3.png"/></div></span>
 <span><div><img src="img/4.png"/></div></span>
 </div>
 <img src="" id="img"/>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery实现可拖动的浮动层完整代码
May 27 Javascript
jQuery对Select的操作大集合(收藏)
Dec 28 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
js生成随机数的过程解析
Nov 24 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
js实现HashTable(哈希表)的实例分析
Nov 21 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
Vue多种方法实现表头和首列固定的示例代码
Feb 02 Javascript
JsChart组件使用详解
Mar 04 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
用Vue编写抽象组件的方法
May 06 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 #Javascript
js仿搜狐视频记录片列表展示效果
May 30 #Javascript
原生js实现商品放大镜效果
Jan 12 #Javascript
JS 在数组指定位置插入/删除数据的方法
Jan 12 #Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 #Javascript
原生js实现淘宝购物车功能
Jun 23 #Javascript
jQuery实现拖拽可编辑模块功能代码
Jan 12 #Javascript
You might like
我的论坛源代码(七)
2006/10/09 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
php微信开发之谷歌测距
2018/06/14 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
使用Python对Excel进行读写操作
2017/03/30 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python用match()函数爬数据方法详解
2019/07/23 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
python序列类型种类详解
2020/02/26 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
信息管理应届生求职信
2014/03/07 职场文书
毕业论文评语大全
2014/04/29 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
社区重阳节活动总结
2015/03/24 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL