jquery.BannerRotator.js
项目地址:https://github.com/snipertulip/BannerRotator
演示地址:http://snipertulip.github.io/BannerRotator/demo/
下载地址:https://github.com/snipertulip/BannerRotator/releases
纯js,图片动画轮播插件。
下面作为参考,具体代码,请去github.com下载,上面有链接地址。
“jquery.bannerrotator.js”插件代码:
(function($, window, document, undefined) {
var Rotator = function(ele, opt) {
this.$element = ele,
this.defaults = {
"millisec": 3000
},
this.options = $.extend({},
this.defaults, opt);
this.last_i = 0;
this.current_i = 0;
this.i_count = 0;
this.li_cache = {};
this.li_cache_btn = {};
this.interval = {};
this.li_cache = this.$element.find(".animation li");
this.li_cache_btn = this.$element.find(".button li");
this.i_count = this.li_cache.length; (function($this) {
$this.li_cache_btn.each(function(index, element) {
$(this).bind("mousedown",
function() {
if ($this.index !== $this.last_i) {
$this.current_i = index;
clearInterval($this.interval);
$this.action();
$this.interval = setInterval($this.action.bind($this), $this.options.millisec)
}
})
})
})(this);
this.action();
this.interval = setInterval(this.action.bind(this), this.options.millisec)
};
Rotator.prototype = {
action: function() {
return (function($this) {
$this.li_cache.each(function(index, element) {
if ($this.last_i != $this.current_i && index === $this.last_i) {
$(element).find("[data-easing]").each(function(index, element) {
$(element).animate($.parseJSON(($(element).attr("data-from")).replace(/\'/g, '"')), $(element).attr("data-speed"), $(element).attr("data-easing"))
});
$($this.li_cache_btn[index]).removeClass("active")
}
if (index === $this.current_i) {
$(element).find("[data-easing]").each(function(index, element) {
$(element).animate($.parseJSON(($(element).attr("data-to")).replace(/\'/g, '"')), $(element).attr("data-speed"), $(element).attr("data-easing"))
});
$($this.li_cache_btn[index]).addClass("active")
}
});
if ($this.i_count === $this.current_i + 1) {
$this.last_i = $this.current_i;
$this.current_i = 0
} else {
$this.last_i = $this.current_i++
}
} (this))
}
};
$.fn.html5Rotator = function(options) {
new Rotator(this, options)
}
})(jQuery, window, document);
jquery.bannerrotator.js
页面调用代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Banner Rotator</title>
<style>
#rotator { width: 100%; height: 400px; margin-bottom:32px; background: url(images/banner_bg.jpg); position: relative; }
#rotator1 { width: 100%; height: 400px; background: url(images/banner_bg.jpg); position: relative; }
.animation { width: inherit; height: inherit; position: relative; overflow: hidden; }
ul, li { list-style: none; margin: 0; padding: 0; }
.a-left { left: -500px; top: 50px; position: absolute;}
.a-right { right: -500px; top: 50px; position: absolute;}
.a-top { top: -500px; left: 500px; position: absolute;}
.a-bottom { bottom: -500px; left: 500px; position: absolute;}
.caption{padding:12px;}
.absctraction{width:400px; height:225px; padding:12px;}
.button { position: absolute; bottom: 0; right: 0; }
.button li { float: left; width: 18px; height: 18px; margin-bottom: 6px; margin-right: 6px; border: 4px solid #fff; background-color: #ccc; border-radius: 18px; cursor:pointer;}
.button li.active { background-color: #0cf; }
</style>
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/jquery.easing.1.3.js"></script>
<script src="js/jquery.BannerRotator.1.0.0.js"></script>
<script>
$(document).ready(function(e) {
$('#rotator').html5Rotator({millisec:2000});
$('#rotator1').html5Rotator({millisec:3000}); });
</script>
</head> <body>
<div id="rotator">
<ul class="animation">
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/dengziqi.jpg" width="121" height="140"></div>
</div>
<div class="a-top" data-to="{'top': '100'}" data-from="{'top': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">邓紫棋</div>
<div class="absctraction">姓名:邓紫棋(原名:邓诗颖)
生日:1991年8月16日(农历:辛未羊年七月初七)
简介:邓紫棋(G.E.M.),原名邓诗颖,1991年8月16日生于中国上海,4岁移居香港,中国香港创作型女歌手。2008年7月10日...</div>
</div>
</li>
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/fanbingbing.jpg" width="121" height="140" alt=" "></div>
</div>
<div class="a-bottom" data-to="{'bottom': '100'}" data-from="{'bottom': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">范冰冰</div>
<div class="absctraction">生日:1981年9月16日
简介:范冰冰,1981年9月16日生于山东青岛,电影演员、歌手,毕业于上海师范大学谢晋影视艺术学院。1996年参演电视剧《女强人》。1998年主演电视剧《还珠格格》系列成名,2001年起投...</div>
</div>
</li>
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/yangmi.jpg" width="121" height="140"></div>
</div>
<div class="a-right" data-to="{'right': '400'}" data-from="{'right': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">杨幂</div>
<div class="absctraction">生日:1986年9月12日
简介:杨幂,1986年9月12日出生于北京,毕业于北京电影学院表演系2005级本科班。中国女演员、歌手、电视剧制片人。杨幂曾获得第24届、第26届中国电视金鹰奖提名,第17届上海电视节白...</div>
</div>
</li>
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/lixiaolu.jpg" width="121" height="140"></div>
</div>
<div class="a-right" data-to="{'right': '400'}" data-from="{'right': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">李小璐</div>
<div class="absctraction">生日:1981年9月30日
简介:李小璐,1981年9月30日出生于安徽安庆(一说北京),毕业于北京美国英语语言学院,中国影视演员。1998年,17岁的...</div>
</div>
</li>
</ul>
<ul class="button">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div id="rotator1">
<ul class="animation">
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/fanbingbing.jpg" width="121" height="140" alt=" "></div>
</div>
<div class="a-right" data-to="{'right': '400'}" data-from="{'right': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">范冰冰</div>
<div class="absctraction">生日:1981年9月16日
简介:范冰冰,1981年9月16日生于山东青岛,电影演员、歌手,毕业于上海师范大学谢晋影视艺术学院。1996年参演电视剧《女强人》。1998年主演电视剧《还珠格格》系列成名,2001年起投...</div>
</div>
</li>
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/yangmi.jpg" width="121" height="140"></div>
</div>
<div class="a-right" data-to="{'right': '400'}" data-from="{'right': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">杨幂</div>
<div class="absctraction">生日:1986年9月12日
简介:杨幂,1986年9月12日出生于北京,毕业于北京电影学院表演系2005级本科班。中国女演员、歌手、电视剧制片人。杨幂曾获得第24届、第26届中国电视金鹰奖提名,第17届上海电视节白...</div>
</div>
</li>
<li>
<div class="a-left" data-to="{'left': '250'}" data-from="{'left': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="img"><img src="data:images/lixiaolu.jpg" width="121" height="140"></div>
</div>
<div class="a-right" data-to="{'right': '400'}" data-from="{'right': '-500'}" data-speed="1000" data-easing="easeOutCubic">
<div class="caption">李小璐</div>
<div class="absctraction">生日:1981年9月30日
简介:李小璐,1981年9月30日出生于安徽安庆(一说北京),毕业于北京美国英语语言学院,中国影视演员。1998年,17岁的...</div>
</div>
</li>
</ul>
<ul class="button">
<li class="active"></li>
<li></li>
<li></li>
</ul>
</div> <p class="test"> 简单粗鲁,不见怪<br>
搞得分享,你们一定能用到,代码还用贴出么?<br>
不懂不能问我哦,我先饭,你们一定懂的……<br>
IE7以下的,就不用问了,过时的东西 <br>
多个动画,记得复制设置外围div样式(如本例中的:rotator,rotator1)<br>
背景动画,就不要我多废话吧,自己实现(很简单),记得多动老子,:)))
</p>
</body>
</html>
页面测试
jquery.BannerRotator.js的更多相关文章
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- jQuery.template.js 简单使用
之前看了一篇文章<我们为什么要尝试前后端分离>,深有同感,并有了下面的评论: 我最近也和前端同事在讨论这个问题,比如有时候前端写好页面给后端了,然后后端把这些页面拆分成很多的 views, ...
- 修改 jquery.validate.js 支持非form标签
尝试使用markdown来写一篇blog,啦啦啦 源代码传送门:github 在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有 ...
- 表单验证插件之jquery.validate.js
提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...
- 延迟加载外部js文件,延迟加载图片(jquery.lazyload.js和echo,js)
js里一说到延迟加载,大都离不开两种情形,即外部Js文件的延迟加载,以及网页图片的延迟加载: 1.首先简单说一下js文件的3种延迟加载方式: (1)<script type="text ...
- 初探jquery.slimscroll.js和iscroll5.js
网上关于实现各种滚动效果的插件不胜枚举,这里,我简单介绍一下自己用过的两款比较有代表性的插件: 1.jquery.slimscroll.js,需要先引入jquery类库,主要用于模拟传统的浏览器滚动条 ...
- 动态生成二维码插件 jquery.qrcode.js
前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...
- Jquery客户端校验——jquery.validate.js
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证 ...
- 懒加载插件- jquery.lazyload.js
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
随机推荐
- 3月23日html(四) 格式与布局
一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口. 二.position:absolute 1.外层没有position:absolute(或relat ...
- JAVA中this用法小结[转]
Java关键字this只能用于方法方法体内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this.因此,this只能在类中的非静态方法中使用,静 ...
- nginx+uwsgi+flask搭建python-web应用程序
Flask本身就可以直接启动HTTP服务器,但是受限于管理.部署.性能等问题,在生产环境中,我们一般不会使用Flask自身所带的HTTP服务器. 从现在已有的实践来看,对于Flask,比较好的部署方式 ...
- bzero()等的区别
bzero 原型: extern void bzero(void *s, int n); 用法: #include <string.h> 功能:置字节字符串s的前n个字节为零. 说 ...
- Android开发多线程断点续传下载器
使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线.电量不足等情况下,这就需要使用到断点 ...
- POJ1061青蛙的约会(扩展欧几里德算法)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 102239 Accepted: 19781 Descript ...
- html.css随便记
css 绝对定位:一个元素绝对定位时,浏览器首先将它从流中完全删除,然后浏览器再把这个元素放在属性指定的位置上,对其他元素没有影响 绝对定位要相对于最近的父级元素进行定位 position: ab ...
- inline-block及解决空白间距
參考:http://www.jb51.net/css/76707.html http://www.webhek.com/remove-whitespace-inline-block/ inline-b ...
- MySql索引原理与使用大全
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 一.索引介绍 索引是对数据库表中一列或多列的值进行排序的一种结构.在关系数据库中,索引是一种 ...
- 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)
相对于第一篇来讲,这里讲的是磁盘缓存的延续.在这里我们主要是关注四个类.各自是DiskLruCache.LruDiskCache.StrictLineReader以及工具类Util. 接下来逐一的对它 ...