JQuery图片轮播实例
2024-10-03 21:31:50
HTML+CSS代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>图片轮播</title>
<style>
*{ margin:0; padding:0;}
ul{ list-style:none;}
.clear{ clear:both;}
#box{
width:500px;
height:320px;
margin:100px auto;
border:#999 5px solid;
position:relative;
overflow:hidden;
} .m_unit{
width:10000px;
height:320px;
position:absolute;
left:0px;
top:0px;
}
.m_unit ul{overflow:hidden; list-style:none;}
.m_unit ul li{float:left;} .btn{}
.btn .btn_icon{ width:60px; height:60px; overflow:inherit; background:url(images/btn.png) no-repeat;}
.btn #b_left{ position:absolute;top:50%;left:0;}
.btn #b_right{ position:absolute;top:50%;right:0; background-position:-60px 0;} .dot{position:absolute; bottom:5px; right:10px;}
.dot ul li{ width:20px; height:20px; float:left; margin-right:2px; background:#000; opacity:0.3;}
.dot ul .initial{ background:#F00;opacity:0.8;}
</style> </head> <body>
<div id="box">
<div class="m_unit">
<ul>
<li><a href="#"><img src="data:images/a1.png"/></a></li>
<li><a href="#"><img src="data:images/a2.png"/></a></li>
<li><a href="#"><img src="data:images/a3.png"/></a></li>
<li><a href="#"><img src="data:images/a4.png"/></a></li>
</ul>
<div class="clear"></div>
</div> <div class="btn">
<div id="b_left" class="btn_icon"></div>
<div id="b_right" class="btn_icon"></div>
</div> <div class="dot">
<ul>
<li class="initial"></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
</body>
</html>
JAVAScript+JQuery代码:
<!--导入JQuery-->
<script src="js/jquery-1.12.4.min.js"></script>
<script>
//获取图片长度
var imgLength = $('.m_unit ul li').length; //拼接假0
$('.m_unit ul').append($('.m_unit ul li').eq(0).clone()); //信号量
var idx =0; //自动轮播
var timer = setInterval(rightBtn,2000); //鼠标进入box
$('#box').mouseenter(function(){
clearInterval(timer);
}); //鼠标离开box
$('#box').mouseleave(function(){
timer = setInterval(rightBtn,2000);
}); //右按钮的点击事件
$('#b_right').click(rightBtn);
function rightBtn(){
idx++;
$('.m_unit').animate({'left':-500 * idx},1000,function(){
if(idx > imgLength-1){
idx = 0;
$(this).css('left','0px');
}
});
dotChange();
} //左按钮的点击事件
$('#b_left').click(function(){
idx--;
if(idx < 0){
idx =imgLength-1;
$('.m_unit').css('left',-500 * imgLength);
}
$('.m_unit').animate({'left':-500 * idx},1000);
dotChange();
}); //设置小圆点击事件
$('.dot ul li').each(function(i) {
$(this).click(function(){
idx =i;
$('.m_unit').animate({'left':-500 * idx},1000);
dotChange();
});
}); //设置小红点跟随轮播
function dotChange(){
var idxx=idx;
if(idxx > imgLength-1) idxx=0;
$('.dot ul li').eq(idxx).css({'background':'#F00','opacity':0.8}).siblings().css({'background':'#000','opacity':0.3});
}
</script>
最新文章
- 【2016-10-31】【坚持学习】【Day16】【MongoDB】【入门】
- java类型占用字节数&;类型转换
- linux挂载硬盘失败,报错!
- 查看CPU是否支持虚拟化
- OpenGL入门学习(转)
- jquery.cookie.js使用介绍
- Mirantis Certification summary
- boost锁的使用
- 2. 托管对象数据模型的基本知识(Core Data 应用程序实践指南)
- WCF小试
- Linux设置开放一个端口
- nginx跨域的简单应用
- web app 、native app、hybrid app比较
- 题解 P1130 【红牌】
- Spring 注解@Component,@Service,@Controller,@Repository
- in 和 exist 区别 (转)
- 源码安装nginx
- Timer的schedule和scheduleAtFixedRate方法的区别解析(转)
- 怎样在 Ubuntu Linux 上安装 MySQL
- scrapy--Beautyleg