本文实例为大家分享了js轮播图实现代码,供大家参考,具体内容如下

思路:
1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片
2、Container内有个放图片的list进行position的定位 ,其中的图片采用float的方式,同时当图片进行轮播时,改变list的Left值使得其显示的图片发生变化。
3、图片的轮播使用定时器,通过定时器改变list的Left值是的图片循环展示
4、当鼠标滑动到图片上时,清除定时器,图片停止轮播,当鼠标移出时继续进行轮播
5、图片上有一组小圆点用于与当前显示的图片相对应,同时可以通过点击的方式查看对应的图片
6、图片可以通过点击进行左右滑动显示
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图</title>
<style type="text/css">
.container{
margin:0 auto;
width:600px;
height:400px;
position: relative;
overflow: hidden;
border:4px solid gray;
box-shadow: 3px 3px 5px gray;
border-radius:10px;
}
.list{
width:4200px;
height:400px;
position: absolute;
top:0px;
}
img{
float:left;
width:600px;
height:400px;
}
.dots{
position: absolute;
left:40%;
bottom:30px;
list-style: none;
}
.dots li{
float:left;
width:8px;
height:8px;
border-radius: 50%;
background: gray;
margin-left:5px
}
.dots .active{
background: white;
}
.pre,.next{
position: absolute;
top:40%;
font-size:40px;
color:white;
text-align:center;
background: rgba(128,128,128,0.5);
/* display:none;*/
}
.pre{
left:30px;
}
.next{
right:30px;
}
</style>
</head>
<body>
<div class="container">
<div class="list" style=" left:-600px;">
<img src="img/5.jpg">
<img src="img/1.jpg">
<img src="img/2.jpg">
<img src="img/3.jpg">
<img src="img/4.jpg">
<img src="img/5.jpg">
<img src="img/1.jpg">
</div>
<ul class="dots">
<li index=1 class="active dot"></li>
<li index=2 class="dot"></li>
<li index=3 class="dot"></li>
<li index=4 class="dot"></li>
<li index=5 class="dot"></li>
</ul>
<div class="pre"><</div>
<div class="next">></div>
</div>
<script type="text/javascript">
var index=1,timer;
function init(){
eventBind();
autoPlay();
}
init();
function autoPlay(){
timer =setInterval(function () {
animation(-600);
dotIndex(true);
},1000)
}
function stopAutoPlay() {
clearInterval(timer);
}
function dotIndex(add){
if(add){
index++;
}
else{
index--;
}
if(index>5){
index = 1;
}
if(index<1){
index = 5;
}
dotActive();
}
function dotActive() {
var dots = document.getElementsByClassName("dot");
var len = dots.length;
for(var i=0 ;i<len ;i++){
dots[i].className = "dot";
}
for(var i=0;i<len;i++){
/*此处可以不用parseInt,当不用全等时*/
if(index === parseInt(dots[i].getAttribute("index"))){
dots[i].className = "dot active";
}
}
}
function eventBind(){
/*点的点击事件*/
var dots = document.getElementsByClassName("dot");
var len = dots.length;
for(var i=0;i<len;i++){
(function(j){
dots[j].onclick = function(e){
var ind = parseInt(dots[j].getAttribute("index"));
animation((index - ind)*(-600));/*显示点击的图片*/
index = ind;
dotActive();
}
})(i)
}
/*容器的hover事件*/
var con = document.getElementsByClassName("container")[0];
/*鼠标移动到容器上时,停止制动滑动,离开时继续滚动*/
con.onmouseover = function (e) {
stopAutoPlay();
}
con.onmouseout =function(e){
autoPlay();
}
/*箭头事件的绑定*/
var pre = document.getElementsByClassName("pre")[0];
var next = document.getElementsByClassName("next")[0];
pre.onclick = function (e) {
dotIndex(false);
animation(600);
}
next.onclick = function (e) {
dotIndex(true);
animation(-600);
}
}
function animation(offset){
var lists = document.getElementsByClassName("list")[0];
var left = parseInt(lists.style.left.slice(0,lists.style.left.indexOf("p"))) + offset;
if(left<-3000){
lists.style.left = "-600px";
}
else if(left>-600){
lists.style.left = "-3000px";
}
else{
lists.style.left = left+"px";
}
}
</script>
</body>
</html>
精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 轮播图
# 原生js实现轮播图的示例代码
# js实现轮播图的完整代码
# JS实现轮播图效果的3种简单方法
# 原生JS实现的自动轮播图功能详解
# 简单的JS轮播图代码
# 使用JavaScript实现轮播图效果完整实例
# 可以通过
# 上时
# 当鼠标
# 有个
# 鼠标
# 要有
# 上有
# 只显示
# 设置为
# 大家分享
# 绑定
# 具体内容
# 相对应
# 大家多多
# 移出
# 全等
# 小圆点
# style
# container
# css
相关文章:
如何在宝塔面板创建新站点?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
实现点击下箭头变上箭头来回切换的两种方法【推荐】
如何在Windows 2008云服务器安全搭建网站?
小型网站制作HTML,*游戏网站怎么搭建?
建站主机选择指南:服务器配置与SEO优化实战技巧
如何通过云梦建站系统实现SEO快速优化?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
c# 在ASP.NET Core中管理和取消后台任务
如何快速搭建自助建站会员专属系统?
建站VPS能否同时实现高效与安全翻墙?
无锡营销型网站制作公司,无锡网选车牌流程?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
北京建设网站制作公司,北京古代建筑博物馆预约官网?
C#如何使用XPathNavigator高效查询XML
,有什么在线背英语单词效率比较高的网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
香港网站服务器数量如何影响SEO优化效果?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
大学网站设计制作软件有哪些,如何将网站制作成自己app?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何做静态网页,sublimetext3.0制作静态网页?
建站之星后台密码遗忘或太弱?如何重置与强化?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
在线制作视频网站免费,都有哪些好的动漫网站?
建站168自助建站系统:快速模板定制与SEO优化指南
魔毅自助建站系统:模板定制与SEO优化一键生成指南
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何有效防御Web建站篡改攻击?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
IOS倒计时设置UIButton标题title的抖动问题
如何用美橙互联一键搭建多站合一网站?
如何快速查询网址的建站时间与历史轨迹?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何快速搭建个人网站并优化SEO?
香港服务器租用费用高吗?如何避免常见误区?
中山网站制作网页,中山新生登记系统登记流程?
网站制作服务平台,有什么网站可以发布本地服务信息?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何在阿里云高效完成企业建站全流程?
大连 网站制作,大连天途有线官网?
公司网站的制作公司,企业网站制作基本流程有哪些?
免费视频制作网站,更新又快又好的免费电影网站?
建站VPS推荐:2025年高性能服务器配置指南
黑客入侵网站服务器的常见手法有哪些?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
*请认真填写需求信息,我们会在24小时内与您取得联系。