模仿轮播图效果

<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>手写轮播图效果</title>
<style>
#imgsDiv{position: relative;height: 400px;}
.picDiv{
position: absolute;
top:0;
left:0;
width:100%;
height: 400px;
background-position: center center;
background-repeat: no-repeat;
z-index:0;
}
#dotLists{
position: relative;
margin:-30px auto 0;
text-align:center;
height: 20px;
z-index: 20;
}
.dot{
display: inline-block;
width: 12px;
height: 12px;
margin:0 8px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
background: #ccc;
cursor: pointer;
}
.hover{
background: #FF1515;
}
</style>
<script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="imgsDiv">
<div class="picDiv" style="background-image:url(https://i.alipayobjects.com/i/ecmng/jpg/201407/31kKIcRiQ3.jpg);"></div>
<div class="picDiv" style="background-image:url(https://i.alipayobjects.com/i/ecmng/jpg/201406/2pMuCMfPWf_src.jpg);"></div>
<div class="picDiv" style="background-image:url(https://i.alipayobjects.com/i/ecmng/jpg/201406/2pMuBhXfEr_src.jpg);"></div>
<div class="picDiv" style="background-image:url(https://i.alipayobjects.com/i/ecmng/jpg/201406/2pMuC9bBef_src.jpg);"></div>
</div>
<p id="dotLists">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</p>
<script>
//轮播
var Rotation=function($div1,$div2){
this.$list1=$div1.children();
this.$list2=$div2.children();
this.timeOut=null;
//初始化
this._start();
}
Rotation.prototype={
_init:function(){
this.$list1.hide()
.eq(0).show().css("z-index","1").addClass("show")
this.$list2.eq(0).addClass(‘hover‘);
},
_start:function(){
var _this=this;
_this._init();
_this._startTimeOut();
_this._addClickEvent(_this.$list2);
_this.$list1.hover(function(){
_this._stopTimeOut();
},function(){
_this._startTimeOut();
});
},
_addClickEvent:function($div){
var _this=this;
$div.on("click",function(){
_this._stopTimeOut();
_this.$list1.stop(true,true);
_this._doNext($(this).index());
});
},
_doNext:function(index){
var _this=this;
var num=_this.$list2.siblings(".hover").index();
_this.$list2.eq(index).addClass("hover")
.siblings().removeClass("hover");
if(num!=index){
_this.$list1.eq(index).show().addClass("show").end()
.eq(num).removeClass("show").fadeOut(900,function(){
_this.$list1.eq(index).css("z-index","1").end()
.eq(num).css("z-index","0");
});
}
},
_startTimeOut:function(){
var _this=this;
var indexNum=_this.$list2.siblings(".hover").index();
timeOut=setInterval(function(){
indexNum++;
_this._doNext(indexNum%(_this.$list1.length));
},3000);
},
_stopTimeOut:function(){
clearInterval(timeOut);
}
}

$(function(){
//调用轮播
new Rotation($("#imgsDiv"),$("#dotLists"));
});
</script>
</body>
</html>

模仿轮播图效果

时间: 2024-11-06 12:10:27

模仿轮播图效果的相关文章

js实现轮播图效果(附源码)--原生js的应用

1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Author" content="奇客艺术"> <meta name="keyword" content="关键字"> <meta name=

【学习ios之路:UI系列】实现轮播图效果(UIImageView,UIScrollView,UIPageControl,NSTimer相结合)

实现效果,在不点击的情况下,自定滚动,点击时,停止.如下图 部分代码如下: //调用NSTimer方法,自定计时 - (void)autoScroll { self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self  selector:@selector(scrollToRight) userInfo:nil repeats:YES]; } //实现触发方法 - (void)scrollToRight { [UIVie

AngularJS:实现轮播图效果

要实现这个功能,可以https://github.com/sroze/ngInfiniteScroll这个第三方控件实现的.实现步骤如下: 1. 下载ng-infinite-scroll.js程序http://sroze.github.io/ngInfiniteScroll/ 目前版本是1.0.0 2. 如果你是用的jQuery2.0以上版本,还需要修改ng-infinite-scroll.js程序,将所有的将所有的$window.xxx改为$(window).xxx, elem.xxx改为$(

模仿轮播图

模仿轮播图中用到了排他思想,定时器和一些方法,刚开始在第一张图片和最后一张图片的衔接处处理的不好,后来解决了bug,下面的是我的代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> * { padding: 0; margin: 0; list-style:

Html5如何快速在页面中写出多个轮播图效果

我们在做项目的过程中,有时候客户需求要求你在同一个页面中,写几个不同样式的轮播图效果,那么如何快速实现呢?(要知道若果你每个轮播图都要用原生javascript写的话,会很麻烦,代码也不够简洁) 这里我们就可以借助插件来实现这一功能,swiper.js就是一个专门处理轮播图效果的js库,下面举例来说明: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g

花瓣网轮播图效果

没有加上定时器效果,仅仅能手动进行图片的切换 效果图: index.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>index</title> &

实现比较简单的轮播图效果

实现简单的轮播图效果. 废话不多说,我们开始. HTML和CSS较为简单,不在这里做赘述.简单的给大家一个HTML代码. <div class="carousel"> <div id="goLeft"></div> <ul> <li><img src="" /></li> <li><img src="" /></l

JS学习笔记--轮播图效果

希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代码 <style> ul, ol { padding:0; margin:0; } li { list-style:none; } #box { width:600px; height:350px; border:10px solid #ccc; margin:0 auto; position:r

JQuery教程:实现轮播图效果

轮播图说起来非常简单,就是几张图片一直不停的轮流播放,但是要想写好代码,也要考虑下性能问题,下面我们来简单的实现一下. 首先,页面代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href=&q