【JavaScript_轮播图】
今天给大家带来的是我自己做的一个轮播图效果,让我们一起来学习一下吧。
这是我的页面所有代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>轮播图</title>
<style type="text/css">
*{padding: 0;margin: 0;}
#ban_box{width: 1000px;height: 400px;margin: 5% auto;position: relative;overflow: hidden;}
#banner{position: absolute;z-index: 1;width:4000px;height: 400px;}
#banner img{width: 1000px;height: 400px;float: left;}
#but {position: absolute;left: 450px;bottom: 20px;z-index: 99;height: 20px;width: 110px;}
#but span {float: left;margin-right:25px;width: 20px;height: 20px;border-radius: 50%;background: #ddd;cursor: pointer;}
#but span:last-child{margin: 0;}
#but .on{background: #C9251D;}
.arrow {position: absolute;top: 180px;z-index: 2;text-decoration: none;font-size: 50px;font-weight: bold;color: #000;cursor: pointer;display: none;}
#prev{left: 20px;}
#next{right: 20px;}
#ban_box:hover .arrow{display: block;}
</style>
</head>
<body>
<div id="ban_box">
<div id="banner" style="left:-1000px;">
<img src="img/7.jpg"/>
<img src="img/11.jpg"/>
<img src="img/383708577581202919.jpg"/>
<img src="img/7.jpg"/>
</div>
<div id="but">
<span value="1" class="on"></span>
<span value="2"></span>
<span value="3"></span>
</div>
<a href="javascript:;" id="prev" class="arrow"><</a>
<a href="javascript:;" id="next" class="arrow">></a>
</div>
<script type="text/javascript" src="js/fz.js" ></script>
<script type="text/javascript">
var box = $("ban_box");
var banner = $("banner");
var prev = $("prev");
var next = $("next");
var but = $('but').getElementsByTagName('span');
var timer;
var value=1;
function animation(lenghts){
var left = parseInt(banner.style.left) + lenghts;
banner.style.left = left + 'px';
banner.style.transition = ".5s";
//无限滚动判断
if (left > -1000) {
banner.style.left = -3000 + 'px';
}
if (left < -3000) {
banner.style.left = -1000 + 'px';
}
}
function butShow() {
//将之前的小圆点的样式清除
for (var i = 0; i < but.length; i++) {
if (but[i].className == "on") {
but[i].className = "";
}
}
//数组从0开始,故index需要-1
but[value - 1].className = "on";
}
//上一页
prev.onclick = function() {
value -= 1;
if (value < 1) {
value = 3;
}
butShow();
animation(1000);
}
//下一页
next.onclick = function() {
value += 1;
if (value > 3){
value = 1;
}
butShow();
animation(-1000);
}
for (var i = 0; i < but.length; i++) {
but[i].onclick = function(){
console.log(i);
var click = parseInt(this.getAttribute('value'));
var lenghts = 1000 * (value - click);
animation(lenghts);
value = click;
butShow();
}
}
//定时器
function play() {
timer = setInterval(function () {
next.onclick();
}, 1000)
}
play();
//鼠标悬浮停止
function stop() {
clearInterval(timer);
}
box.onmouseover = stop; //鼠标移到目标上让它停止
box.onmouseout = play; //鼠标移开时让它播放
</script>
</body>
</html>
这其中有我自己封装的一些东西,需要引进去,或者把其中需要找的ID用dom找出来就可以了哦
这是我的效果图,大家可以找一些漂亮的图片哦,效果一定会很漂亮哦:

大家如果有什么问题可以在下面问,或者我的代码有什么bug也可以帮我提出,有更好的办法也可以分享给我哦。
【JavaScript_轮播图】的更多相关文章
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- 实现下来ScrollView放大轮播图
创建工程,创建一个UIScrollView属性,并遵循其协议: #define kWidth self.view.frame.size.width//屏幕宽 #define kHeight self. ...
- ViewPager轮播图
LoopViewPagerLayout无限轮播 项目地址:https://github.com/why168/LoopViewPagerLayout 支持三种动画: 支持修改轮播的速度: 支持修改滑动 ...
- CSS-用伪类制作小箭头(轮播图的左右切换btn)
先上学习地址:http://www.htmleaf.com/Demo/201610234136.html 作者对轮播图左右按钮的处理方法一改往常,不是简单地用btn.prev+btn.next的图片代 ...
- phpcms首页实现轮播图
1.在你想要加轮播图的位置加入以下 <div id="flowDiagram" > <div id="button"> <span ...
- React视角下的轮播图
天猫购物网站最显眼的就是轮播图了.我在学习一样新js库,一个新框架或新的编程思想的时候,总是感叹"入门必做选项卡,进阶须撸轮播图."作为一个React组件,它是状态操控行为的典型, ...
- Jquery 轮播图简易框架
=====================基本结构===================== <div class="carousel" style="width: ...
- 原生js焦点轮播图
原生js焦点轮播图主要注意这几点: 1.前后按钮实现切换,同时注意辅助图2.中间的button随着前后按钮对应切换,同时按button也能跳转到相应的index3.间隔调用与无限轮播.4.注意在动画时 ...
- superSlider实现美女轮播图
superSlider实现美女轮播图 <!DOCTYPE html><html lang="en"><head><meta charset ...
随机推荐
- Nginx学习之配置RTMP模块搭建推流服务
写在开始 小程序升级实时音视频录制及播放能力,开放 Wi-Fi.NFC(HCE) 等硬件连接功能.同时提供按需加载.自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求. ...
- 虚拟机下linux系统安装nginx
近在windows虚机下安装nginx,也遇到部分问题,写篇随笔总结一下 一.安装虚机 windows下安装虚拟机我就不说了,一搜一大把,一直下一步就ok了 二. 打开虚拟安装nginx 1.选择版本 ...
- 微信红包店小程序开发过程中遇到的问题 php获取附近周边商家 显示最近商家
最近公司在做一个项目就是微信红包店.仿照的是微信官方在做的那个红包店的模式.客户抢红包,抢到以后到店消费,消费以后就可以拿到商家的红包了. 项目中的两个难点: 1通过小程序来发红包 这个之前在开发语 ...
- c#常用快捷键
VS快捷键大全(总结了一些记忆的口诀) 原文转载至 https://www.cnblogs.com/liyunhua/p/4537054.html#top 谢谢大牛的分享! 相信.Net ...
- TypeScript VS JavaScript 深度对比
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...
- C#Winform使用mysql作为本地数据库
MYSQL是老牌关系型数据库,在受够了sqlite,mslocaldb,sqlce等本地数据库之后,发现了mysql5.6的一些版本也可以绿色安装,编程实现从资源文件里面解压到目标机器上,并配置好成为 ...
- python 浅析类方法与静态方法
类方法,静态方法的定义 Python 是双面向的,既可以面向函数编程,也可以面向对象编程,所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即 ...
- css 负边距
负边距 可以改变 他在文档流中的尺寸 当块级元素设置 margin: -10px; 这个快 的大小没变但是他的定位的位置向上串了,压住了上面的文字 而且在他后面的文字 会爬到他身上 而前面的文 ...
- 分布式文件系统FastDFS如何做到高可用
FastDFS是用C语言编写的一款开源的轻量级分布式文件系统.它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的 ...
- java.io与网络通信
文件IO java.io.File是用于操作文件或目录的类: File file = new File("hello.txt"); 实例化File时不关心路径的目标并不会去读取文件 ...