首页 技术 正文
技术 2022年11月20日
0 收藏 715 点赞 3,480 浏览 3386 个字

众所周知,轮播图是被广泛的运用的。

  轮播图我们在很多的网站上都可以看到,例如淘宝、京东这些网站都很常见。

  下面开始我们的轮播之旅:

搭建我们的骨架:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
   <title></title>
</head>
<body> </body>
</html>

添加区块:



 <div class="banner">
<div class="b_main">
<div class="b_m_pic">
<ul>
<li>
<a>
<img src="img/1.png" width="100%" height="100%"/><!--这里的宽高是为了占满盒子-->
</a>
</li>
<li>
<a>
<img src="img/2.png" width="100%" height="100%"/>
</a>
</li>
<li>
<a>
<img src="img/3.jpg" width="100%" height="100%"/>
</a>
</li>
<li>
<a>
<img src="img/4.jpg" width="100%" height="100%"/>
</a>
</li>
<li>
<a>
<img src="img/5.png" width="100%" height="100%"/>
</a>
</li>
<li>
<a>
<img src="img/6.png" width="100%" height="100%"/>
</a>
</li>
</ul>
</div>
</div>
<!--小圆点-->
<div class="b_list">
<ul>
<li class="l_click"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="b_btn">
<div class="b_left">&lt</div>
<div class="b_right">&gt</div>
</div>
</div>

css样式:


 <style>
*{margin:;padding:}
ul li{list-style:none}
img{margin:}
</style>
<style>
.banner{position: relative;width: 1366px;height: 780px;margin: 100px auto;border: 10px solid #009999;border-radius: 15px}
.banner .b_main{position: relative;width: 1366px;height: 780px;}
.banner .b_main .b_m_pic{position: relative;width: 1366px;height: 780px;}
.b_main .b_m_pic li{position: absolute;width: 1366px;height: 780px;top:;left:;}/*这里给绝对定位,是为了把li叠在一起*/
</style>
<style>
/*小圆点的样式*/
.b_list ul{position:absolute;right: 40px;bottom: 30px;}/*这里的ul根据banner定位*/
.b_list ul li{width: 20px;height: 20px;float: left;background: #333;margin-left: 20px;border-radius: 50px;
border:2px solid white;}
.b_list ul .l_hover,.b_list ul .l_click{border:2px solid #333;background: white}
/*两边耳朵的样式*/
.b_btn div{position: absolute;width: 100px;height: 100px;background: rgba(0,0,0,0.7);font-size: 60px;color: white;text-align: center;line-height: 100px;top: 50%;margin-top: -80px;cursor: pointer;}
.b_btn .b_left{left:;border-radius: 50%}/*移到左边*/
.b_btn .b_right{right:;border-radius: 50%}/*移到右边*/
</style>

 

接下来是我们的JS代码:

  var $li = $(".b_list ul li");//获取.b_list里面的所有li,放到$li这个变量里面
var len = $li.length-1;
var _index = 0;//li的索引
var $img = $(".b_main .b_m_pic li");//同上
var $btn = $(".b_btn div"); var timer = null; // alert(typeof timer); timer是一个对象 $li.hover(function(){
$(this).addClass("l_hover");//指向li添加样式
},function(){
$(this).removeClass("l_hover");//指向li删除样式
}); //点击事件
$li.click(function(){
_index = $(this).index();
//获取li的下标,改变样式
//$li.eq(_index).addClass("l_click").siblings().removeClass("l_click");
//获取图片的下标,实现淡入淡出
//$img.eq(_index).fadeIn().siblings().fadeOut();
play();
}); //封装函数
function play(){
//获取li的下标,改变样式
$li.eq(_index).addClass("l_click").siblings().removeClass("l_click");
//获取图片的下标,实现淡入淡出
$img.eq(_index).fadeIn().siblings().fadeOut();
} //两边耳朵的点击事件
$btn.click(function(){
var index = $(this).index();
if(index) {
_index++;
if (_index > len) {
_index = 0;
}
play();
}else {
_index--;
if(_index < 0){
_index = len;
}
play();
}
}); //定时轮播
function auto(){
//把定时器放进timer这个对象里面
timer = setInterval(function(){
_index++;
if(_index > len){
_index = 0;
}
play();
},2000);
}
auto(); //当我移上d_main的时候停止轮播
$(".b_main").hover(function(){
clearInterval(timer);
},function(){
//移开重新调用播放
auto();
});
//当我移上两边耳朵的时候停止轮播
$(".b_btn div").hover(function(){
clearInterval(timer);
},function(){
//移开重新调用播放
auto();
});

下面是我们的效果图:

  jQ实现的一个轮播图

总结:

  1、图片、小圆点、两边的耳朵要使用position:absolute绝对定位,进行叠加。

    注:绝对定位要根据父级元素进行定位,父级元素要加上position: relative;

  2、根据索引值改变图片,达成切图

    注:实现淡入淡出分别是fadeIn和fadeOut两个jq方法

      siblings() 方法返回被选元素的所有同级元素。同级元素是共享相同父元素的元素。

  3、定时器(实现轮播):

      setInterval()是开始播放,clearInterval()是关闭,有始有终嘛~~~~~

      定时器有两个参数,第一个是函数方法(可以另写一个方法,写上方法名调用,也可以直接写一个function),第二个是时间

      

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894