基于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代码示例(重构前后对比)
Jan 23 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
全面解析Bootstrap表单样式的使用
Sep 09 Javascript
js实现对table的增加行和删除行的操作方法
Oct 13 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
解决vue props 拿不到值的问题
Sep 11 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
一起来写段JS drag拖动代码
2010/12/09 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
Python根据区号生成手机号码的方法
2015/07/08 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
2014年班组长工作总结
2014/11/20 职场文书
赔偿协议书
2015/01/27 职场文书
同意报考证明
2015/06/17 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers