博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片轮播
阅读量:5886 次
发布时间:2019-06-19

本文共 3936 字,大约阅读时间需要 13 分钟。

#stage {

width: 500px;
height: 300px;
border: 3px solid black;
margin: 100px;
overflow: hidden;
position: relative;
}
#banner {
width: 3000px;
height: 300px;
background-color: rosybrown;
}
.items {
width: 500px;
height: 300px;
color: white;
font-size: 150px;
text-align: center;
line-height: 300px;
float: left;
}
.btn-l,
.btn-r {
width: 50px;
height: 300px;
background-color: black;
opacity: 0.5;
color: white;
font-size: 40px;
line-height: 300px;
text-align: center;
position: absolute;
top: 0px;
}
.btn-l {
left: 0px;
}
.btn-r {
right: 0px;
}
.btn-l:hover,
.btn-r:hover {
cursor: pointer;
opacity: 0.2;
}
.points {
position: absolute;
bottom: 10px;
left: 200px;
/*background-color: orangered;*/
width: 125px;
height: 20px;
}
.dot {
width: 15px;
height: 15px;
border-radius: 50%;
background-color: gainsboro;
float: left;
margin-right: 5px;
cursor: pointer;
}
.active {
background-color: red;
}
</style>
</head>

<body>

<div id="stage">
<div class="btn-l">
<</div>
<div class="btn-r">></div>
<div id="banner">
<div class="items" style="background-color: red;">1</div>
<div class="items" style="background-color: blueviolet;">2</div>
<div class="items" style="background-color: green;">3</div>
<div class="items" style="background-color: yellow;">4</div>
<div class="items" style="background-color: brown;">5</div>
<div class="items" style="background-color: red;">1</div>
</div>
<div class="points">
<div data="1" class="dot active"></div>
<div data="2" class="dot"></div>
<div data="3" class="dot"></div>
<div data="4" class="dot"></div>
<div data="5" class="dot"></div>
</div>
</div>
</body>

</html>

<script>
// 取对象
var btn_l = document.getElementsByClassName('btn-l')[0];
var btn_r = document.getElementsByClassName("btn-r")[0];
var banner = document.getElementById("banner");
var dots = document.getElementsByClassName('dot');
// 定义变量
var count = 1;
var arr = [];
// 右侧按钮点击事件
btn_r.onclick = function() {
if(count < 6) {
count++;
arr.push(window.setInterval("move_left()", 20));
} else if(count == 6) {
count = 1;
banner.style.marginLeft = 0 + 'px';

count++;

arr.push(window.setInterval("move_left()", 20));
}
for(var i = 0; i < dots.length; i++) {
dots[i].setAttribute("class", "dot");
}
dots[count - 1].setAttribute("class", "dot active");
}
// 左侧按钮点击事件
btn_l.onclick = function() {
if(count > 1) {
count--;
arr.push(window.setInterval("move_right()", 20));
}else if(count == 1){
count = 6;
banner.style.marginLeft = -2500 + 'px';
count--;
arr.push(window.setInterval("move_right()", 20));
}
for(var i = 0; i < dots.length; i++) {
dots[i].setAttribute("class", "dot");
}
dots[count - 1].setAttribute("class", "dot active");
}
// 向左移动
function move_left() {
if(banner.offsetLeft == (count - 1) * (-500)) {
clear();
} else {
banner.style.marginLeft = banner.offsetLeft - 20 + "px";
}

}

// 向右移动
function move_right() {
if(banner.offsetLeft == (count - 1) * (-500)) {
clear();
} else {
banner.style.marginLeft = banner.offsetLeft + 20 + "px";
}
}
// 清除所有间隔执行
function clear() {
for(var x in arr) {
window.clearInterval(arr[x]);
}
}
// 批量添加点击事件
for(var j = 0; j < dots.length; j++) {
dots[j].onclick = function() {

count_s = this.getAttribute("data");

if(count > count_s) {
count = count_s;
arr.push(window.setInterval("move_right()", 20));
} else if(count < count_s) {
count = count_s;
arr.push(window.setInterval("move_left()", 20));
}

for(var i = 0; i < dots.length; i++) {

dots[i].setAttribute("class", "dot");
}
this.setAttribute("class", "dot active");
}
}
// 自动轮播
function auto_move(){
if(count < 6) {
count++;
arr.push(window.setInterval("move_left()", 20));
} else if(count == 6) {
count = 1;
banner.style.marginLeft = 0 + 'px';

count++;

arr.push(window.setInterval("move_left()", 20));
}
for(var i = 0; i < dots.length; i++) {
dots[i].setAttribute("class", "dot");
}
dots[count - 1].setAttribute("class", "dot active");
}
// window.setInterval("auto_move()",3000);
</script>

转载于:https://www.cnblogs.com/ping04/p/7524898.html

你可能感兴趣的文章
git 放弃本地修改(转)
查看>>
.NET获取服务器信息,如服务器版本、IIS等
查看>>
你能熟练使用Dictionary字典和List列表吗?
查看>>
读取Json
查看>>
关于DLL文件和EXE文件不在同一目录下的设置
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 密码强化、网络安全强化...
查看>>
web 开发之js---ajax 中的两种返回状态 xmlhttp.status和 xmlhttp.readyState
查看>>
TeX
查看>>
【Machine Learning in Action --2】K-最近邻分类
查看>>
cocos2dx3.1.1+cocosstudio+lua问题总结
查看>>
漫游Kafka设计篇之性能优化(7)
查看>>
MVC在添加控制器的时候发现没有添加的选项了?肿么办?
查看>>
Android AndroidManifest.xml配置文件
查看>>
[原创]自定义BaseAcitivity的实现,统一activity的UI风格样式
查看>>
C# LDAP认证登录
查看>>
spark源码 hashpartitioner
查看>>
Vue文件跳转$router传参数
查看>>
gitlab简单使用教程【转】
查看>>
《荣枯鉴》闻达卷二
查看>>
Java 8 新特性-菜鸟教程 (0) -Java 8 新特性
查看>>