2018-07-30

css和js实现最简单的轮播图效果

html代码

<div class="banner">
<img src="1.png">
<ul>
<li><a href="1.png">1</a></li>
<li><a href="2.png">2</a></li>
<li><a href="3.png">3</a></li>
<li><a href="4.png">4</a></li>
</ul>
</div>

css代码

/* 先取消默认样式 /
a { text-decoration: none; }
ul { list-style-type: none; }
ul, li {
padding: 0;
margin: 0;
}
.banner li {
float: left;
}
.banner img {
width: 600px;
height: 400px;
}
/
relative和absolute用于控制切换按钮位置 /
.banner {
position: relative;
width: 600px;
height: 400px;
margin: auto;
}
.banner ul {
position: absolute;
right: 10px;
bottom: 10px;
}
.banner ul li {margin-left: 5px;}
.banner ul li a {
display: inline-block;
width: 20px;
height: 20px;
background-color: #8c8c8c;
text-align: center;
border-radius: 50%; /
让按钮变圆形 */
color: #FFF
}

js代码

导入jquery库

<script src="jquery.js"></script>

(document).ready(function(){ // 在一开始绑定a的点击切换轮播图事件(".banner>ul>li>a").click(function(){
banner(this);
return false;
});
bannerRoll();
});
// 用a标签按钮切换轮播图
function banner(obj) { // obj 当前标签
var img = (obj).parent().parent().prev();(img).attr("src", (obj).attr("href")); } var t; // 用于标识定时器 function bannerRoll() { t = setInterval(showPic, 3000); // 设置每三秒调用换图函数换张图 } var x = 0; // 全局变量,记录当前第几张轮播图 function showPic() { // 获取a父标签li的个数,轮流播放 var arr_uls =(".banner>ul");
arr_uls.each(function() { // 遍历ul标签,给它的img换张图
if (x >= (this).children().length) x = 0;(this).prev("img").attr("src", arr_uls.children("li").eq(x).children("a").attr("href"));
});
x++;
}
//鼠标经过盒子时,清除定时
$(".banner").mouseenter( function(){
clearInterval(t);
}).mouseleave( function(){
//鼠标离开盒子时,再次定时
bannerRoll();
});

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 100个常用的javascript函数 1、原生JavaScript实现字符串长度截取 复制代码代码如下: fun...
    老头子_d0ec阅读 373评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 1,928评论 0 1
  • 正则表达式 为什么有正则表达式?因为查找是一个比较复杂的东西,我们更加准确快速查找自 己想要的 什么是正则表达式?...
    老头子_d0ec阅读 272评论 0 0
  • js原声代码实现ajkx Ajax的核心是XMLHttpRequest对象 1、创建XMLHttpRequest对...
    老头子_d0ec阅读 203评论 0 0