基于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 相关文章推荐
javascript 类定义的4种方法
Sep 12 Javascript
javascript中的undefined 与 null 的区别  补充篇
Mar 17 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
May 09 Javascript
JQuery中上下文选择器实现方法
May 18 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
vue.js的提示组件
Mar 02 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
Sep 28 Javascript
vuex 的简单使用
Mar 22 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 Javascript
JS实现页面跳转与刷新的方法汇总
Aug 30 Javascript
vue实现几秒后跳转新页面代码
Sep 09 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
php microtime获取浮点的时间戳
2010/02/21 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
浅谈python标准库--functools.partial
2019/03/13 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
电气工程师岗位职责
2014/01/01 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
防火标语大全
2014/10/06 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
实习报告范文
2019/07/30 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL