项目地址: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的更多相关文章

  1. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  2. jQuery.template.js 简单使用

    之前看了一篇文章<我们为什么要尝试前后端分离>,深有同感,并有了下面的评论: 我最近也和前端同事在讨论这个问题,比如有时候前端写好页面给后端了,然后后端把这些页面拆分成很多的 views, ...

  3. 修改 jquery.validate.js 支持非form标签

    尝试使用markdown来写一篇blog,啦啦啦 源代码传送门:github 在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有 ...

  4. 表单验证插件之jquery.validate.js

    提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...

  5. 延迟加载外部js文件,延迟加载图片(jquery.lazyload.js和echo,js)

    js里一说到延迟加载,大都离不开两种情形,即外部Js文件的延迟加载,以及网页图片的延迟加载: 1.首先简单说一下js文件的3种延迟加载方式: (1)<script type="text ...

  6. 初探jquery.slimscroll.js和iscroll5.js

    网上关于实现各种滚动效果的插件不胜枚举,这里,我简单介绍一下自己用过的两款比较有代表性的插件: 1.jquery.slimscroll.js,需要先引入jquery类库,主要用于模拟传统的浏览器滚动条 ...

  7. 动态生成二维码插件 jquery.qrcode.js

    前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...

  8. Jquery客户端校验——jquery.validate.js

    jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证 ...

  9. 懒加载插件- jquery.lazyload.js

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

随机推荐

  1. POJ2002 二分查找&哈希

    问题重述: 给定整数n,以及n个点的坐标xi, yi.求这n个点可以组成的正方形的数目(每个点可重复使用). 分析: 根据正方形的性质,给定两个点就能确定可能构成的两个正方形的另外两个顶点.因此,只需 ...

  2. nvm linux命令

    nvm alias default 0.12.10 nvm alias default 0.10.24 nvm list NVM_NODEJS_ORG_MIRROR=http://npm.taobao ...

  3. Symfony2源码分析——启动过程2

    文章地址:http://www.hcoding.com/?p=46 上一篇分析Symfony2框架源码,探究Symfony2如何完成一个请求的前半部分,前半部分可以理解为Symfony2框架为处理请求 ...

  4. 如何在Ubuntu 14.04中使用Samba共享文件

    Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...

  5. 消息机制 - Windows程序设计(SDK)004

    消息机制 让编程改变世界 Change the world by program 内容节选: 我们来回顾一下,窗口是怎么从代码中诞生出来的? 1. 首先我们是通过给 WNDCLASS 窗口类结构各个成 ...

  6. MySQL binlog_rows_query_log_events

    当binlog_format=statement的时候进制日志只记录的是SQL语句,当binlog_fromat=row的时候记录的是event,如果想要在row模式的情况下 也记录SQL语句:bin ...

  7. Jsvc安装,配置 常规用户使用tomcat的80端口

     Jsvc安装 一.下载安装包,地址如下: http://commons.apache.org/proper/commonsdaemon/download_daemon.cgi 二.安装步骤,参考链接 ...

  8. spring 配置文件XSD地址

    这边部署不能访问外网,所以sping配置文件里的XSD地址要改一下象  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd ...

  9. nmap 使用脚本引擎进行扫描

    1.下载nmap(nmap官网). 2.安装nmap. 3.编辑环境变量(windows下所需),保存.

  10. (转载)iOS Framework: Introducing MKNetworkKit

    This article is available in Serbo-Croatian,  Japanese and German. (Translations in Serbo-Croatian b ...