jQuery 图片轮播
HTML
<div class="carousel">
<ul class="car-img">
<li><img src="data:images/imgs1.jpg"></li>
<li><img src="data:images/imgs2.jpg"></li>
<li><img src="data:images/imgs1.jpg"></li>
<li><img src="data:images/imgs2.jpg"></li>
<li><img src="data:images/imgs1.jpg"></li>
<li><img src="data:images/imgs2.jpg"></li>
</ul>
<div class="navgation">
<span class="nav-prev"><</span>
<span class="nav-next">></span>
</div>
<ul class="car-btn">
<li class="lihover"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
CSS
*{
margin:0;
padding:0;
border:0;
box-sizing:border-box;
}
li{
list-style:none;
}
.carousel{
position:relative;
width:100%;
height:600px;
}
.carousel .car-img{
position:relative;
width:100%;
height:100%;
overflow:hidden;
}
.carousel .car-img li{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
.carousel .car-img li img{
border:0;
width:100%;
height:100%;
}
.carousel .navgation{
position:absolute;
top:295px;
width:100%;
color:#fff;
font-size:30px;
line-height:45px;
}
.carousel .navgation .nav-prev{
display:inline-block;
width:30px;
height:50px;
background:rgba(51,51,51,.5);
}
.carousel .navgation .nav-next{
float:right;
display:inline-block;
width:30px;
height:50px;
background:rgba(51,51,51,.5);
}
.carousel .navgation .nav-prev.btnhover,.carousel .navgation .nav-next.btnhover{
color:red;
cursor:pointer;
}
.carousel .car-btn{
position:absolute;
bottom:20px;
width:auto;
margin-left: calc(50% - 120px);
overflow:hidden;
}
.carousel .car-btn li{
float:left;
margin:10px;
width:20px;
height:20px;
border-radius:20px;
background:rgba(102,255,0,1);
}
.carousel .car-btn li.lihover{
float:left;
margin:10px;
width:20px;
height:20px;
border-radius:20px;
background:rgba(255,0,0,1);
}
jQuery
$(function(){
var isPagerClick=false, //判断底下的小按钮
isPrevClick=false, //判断左右滑动的按钮
index=0, //目标值
pre=0,
handid;
start();
function start(){
init(); //初始化函数
$(".car-img li").eq(0).fadeIn().siblings().fadeOut();
handid = setInterval(play,2000); //轮播
}
function init(){
$(".car-btn li").bind("click",pagerClick); //给小按钮绑定点击事件
$(".navgation span").bind("click",btnClick);//给左右按钮绑定点击事件
$(".navgation span").hover(btnMouseOver,btnMouseOut);
}
function pagerClick(){ //小按钮的点击事件
isPagerClick=true; //已经点击
clearInterval(handid); //消除setInterval
var oPager=$(this).index(); //获取点击按钮的索引值
if(oPager != pre) //判断点击按钮的位置
{
index=oPager - 1;
play();
}
}
function btnClick(){
if($(this).hasClass("nav-prev")){ //判断点击按钮的 左 或者是 右
isPrevClick=true;
clearInterval(handid);
if(index==0 || index==1)
{
if(index==0){index=$(".car-img li").length-2;}
else{index=$(".car-img li").length-1;}
}else
{
index-=2;
}
play();
}
else{
isPrevClick=true;
clearInterval(handid);
play();
}
}
function btnMouseOver(){
$(this).addClass("btnhover");
}
function btnMouseOut(){
$(this).removeClass("btnhover");
}
function play(){
index++;
if(index == $(".car-img li").length)
{
index = 0;
}
$(".car-img li").eq(pre).fadeOut(100,function(){
$(".car-img li").eq(index).fadeIn(500,function(){
if(isPagerClick) //判断是否点击了
{
handid=setInterval(play,2000); //重新设置setInterval
isPagerClick=false;
};
if(isPrevClick)
{
handid=setInterval(play,2000);
isPrevClick=false;
}
}).siblings().fadeOut();
$(".car-btn li").eq(index).addClass("lihover");
$(".car-btn li").eq(pre).removeClass("lihover");
pre=index;
});
}
})
效果图

jQuery 图片轮播的更多相关文章
- 12款经典的白富美型—jquery图片轮播插件—前端开发必备
图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美 ...
- Nivo Slider - 世界上最棒的 jQuery 图片轮播插件
Nivo Slider 号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本.目前下载量已经突破 1,800,000 次!jQuery 独立版本的插件主要有如 ...
- jquery图片轮播插件slideBox
效果预览: 源代码下载: jQuery图片轮播(焦点图)插件jquery.slideBox 特点:兼容IE6+,Chrome,Firefox,Opera,safari,可左右,可上下,可快可慢,可指定 ...
- Jquery 图片轮播实现原理总结
Jquery 图片轮播实现原理总结 以前要做图片轮播效果的时候,总是在网上找一段jquery的复制粘贴进去,只索取不奉献,今个就把我对这个的实现原理讲解一下. 首先说下,我在网上找的例子全是用的UL ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- jquery 图片轮播demo实现
转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 图片轮播demo,弄清楚过程其实是一个很简单的东西,看网上都没有什么实质性的代码,就自己把过程捋了一遍实现了. 这次因为随手写的,所以没有做 ...
- jquery图片轮播效果(unslider)
今天做网站(住建局网站)需要用到图片轮播,刚开始想借鉴DTCMS上的,查看CSS与页面代码,呵呵,不复杂,直接复制过来,结果调整半天,页面还是各种乱,没办法,网上找一个吧,于是找到了今天要说的这货un ...
- Jquery图片轮播和CSS图片轮播
学习Jquery以后,很多时候觉得比写源生代码要简单一点.我们用JQuery做了一个图片轮播的动画,感觉比写CSS要简单一些.下面我来具体讲一下是怎么用JQuery来写. <body> & ...
- jQuery 图片轮播的代码分离
以前遇到过jQuery实现列表自动滚动,这次的图片轮播在原理上与之相同,只有一些细微的差别,就是需要在图片的右下角显示当前图片的序号. html代码,以及对应的css代码: <div id=&q ...
- 面板支持单个,多个元素的jQuery图片轮播插件
一.先附上demo <!doctype html> <html> <head> <meta charset="utf-8"> < ...
随机推荐
- 源码安装Ansible
一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...
- Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行.那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能. 以下内容摘自A ...
- Codeforces Round #324 (Div. 2)解题报告
---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...
- HDU 2222 AC自动机 裸题
题意: 问母串中出现多少个模式串 注意ac自动机的节点总数 #include <stdio.h> #include <string.h> #include <queue& ...
- linux —— shell 编程(整体框架与基础笔记)
导读 关于shell编程基础的学习,网上有很多资源,如果在校图书馆应该也有一些教程,所以这里对于零碎的基础不做详细记录,而只是对一些常用的概念.命令与操作做一个简要的记录,以备方便查找. (本文所有语 ...
- Core OS 层
Core OS层的底层功能是很多其他技术的构建基础.通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架.但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架. Acce ...
- 杯具,万达电商又换CEO
万达电商CEO再离职.而这距他入职还差一个月才满一年. 昨晚.万达电商CEO董策告诉新浪科技6月3日已正式从万达电商离职.将去往澳洲照应家人.而谈到离职原因和万达电商时,董策以开会为由收了电话. 从2 ...
- memcache实现公共计数器网站
在反问题的过程中遇到的最近项目.网上查了很多资料并没有完全实现. 因此,要找到适合自己的xmemcache client和memcache关联API和说明,我们发现了一个比较完美的实现. 键类:net ...
- Android设置虚线、圆角、渐变
有图又真相,先上图再说. 点击效果: 设置虚线: <?xml version="1.0" encoding="utf-8"?> <shape ...
- CSDN markdown 编辑器 第四篇 LaTex语法
Latex是为了写数学公式的. 嗯-但实际这样的语言的作用是为了排版的.数学公式仅仅是他的附加属性. 可是markdown引入这个全然是为了写公式.其它的Latex语法不支持. CSDN markdo ...