首页学习--banner的动画及轮播
来源:互联网 发布:mac osx yosemite.vdi 编辑:程序博客网 时间:2024/06/11 14:53
效果请见 http://www.3zang.tech/
html
<section className="g-slide"> <div className="m-slide"> <div className="slide-img"> <ul> <li className="active"> <div className="banner-img banner1-img-one"> <img src="images/banner1-one.png" /> </div> <div className="banner-img banner1-img-two"> <img src="images/banner1-two.png" /> </div> <img className="bg-img" src="images/banner1.png" width="100%" /> </li> <li> <div className="banner-img banner2-img-one"> <img src="images/banner2-one.png" /> </div> <div className="banner-img banner2-img-two"> <img src="images/banner2-two.png" /> </div> <img className="bg-img" src="images/banner2.png" width="100%" /> </li> <li> <div className="banner-img banner3-img-one"> <img src="images/banner3-one.png" /> </div> <div className="banner-img banner3-img-two"> <img src="images/banner3-two.png" /> </div> <img className="bg-img" src="images/banner3.png" width="100%" /> </li> </ul> </div> <div className="slide-btn"> <a href="javascript:;" className="active"></a> <a href="javascript:;"></a> <a href="javascript:;"></a> </div> </div>
js部分
banner: function(){ //首页banner焦点幻灯片 var pollingTime = this.pollingTime; var opts = { 'time': 3000//轮播时间间隔 }; function plugin(elm, options){ var _this = this; _this.$elm = $(elm); opts = $.extend(opts, options||{}); _this.init(); } plugin.prototype = { init: function(){ var _this = this; opts.idx = 1; //初始化几秒后显示第一张图 opts.lengths = _this.$elm.find(opts.btnBox).find(opts.btnDom).length; //长度 //视图事件监听 _this.handle(); }, handle: function(){ var _this = this; function polling(){ if(opts.idx >= opts.lengths){ opts.idx = 0; } _this.$elm.find(opts.btnBox).find(opts.btnDom).eq(opts.idx).addClass(opts.activeClass).siblings().removeClass(opts.activeClass); _this.$elm.find(opts.imgBox).find(opts.imgDom).eq(opts.idx).addClass(opts.activeClass).siblings().removeClass(opts.activeClass); ++opts.idx; } function pollingTime(){ return setInterval(polling, opts.time); } opts.timeHandle = pollingTime(); _this.$elm.hover(function(){ clearTimeout(opts.timeHandle); },function(){ opts.timeHandle = pollingTime(); }); _this.$elm.find(opts.btnBox).find(opts.btnDom).hover(function(e){ opts.idx = $(this).index(); polling(); clearTimeout(opts.timeHandle); e.stopPropagation(); }); } }; $.fn.hslide = function(options){ return new plugin(this, options); } /*banner轮播*/ $('.m-slide').hslide({ 'time': pollingTime, 'imgBox': '.slide-img', 'imgDom': 'li', 'btnBox': '.slide-btn', 'btnDom': 'a', 'activeClass': 'active' }); },
动画部分 很简单的动画效果
/*定义动画效果*/.m-slide .slide-img .active .banner1-img-one,.m-slide .slide-img .active .banner2-img-one{display:block;animation-name:saAnic;-webkit-animation:saAnic 0.3s linear 0s normal none;-moz-animation:saAnic 0.3s linear 0s normal none;animation:saAnic 0.3s linear 0s normal none;}@-webkit-keyframes saAnic{from{opacity:0;left:3%;} to{opacity:1;left:5%;} }@-moz-keyframes saAnic{from{opacity:0;left:3%;} to{opacity:1;left:5%;} }@keyframes saAnic{from{opacity:0;left:3%;} to{opacity:1;left:5%;} }.m-slide .slide-img .active .banner1-img-two,.m-slide .slide-img .active .banner2-img-two{display:block;animation-name:saAnid;-webkit-animation:saAnid 0.3s linear 0s normal none;-moz-animation:saAnid 0.3s linear 0s normal none;animation:saAnid 0.3s linear 0s normal none;}@-webkit-keyframes saAnid{from{opacity:0;right:3%;} to{opacity:1;right:5%;} }@-moz-keyframes saAnid{from{opacity:0;right:3%;} to{opacity:1;right:5%;} }@keyframes saAnid{from{opacity:0;right:3%;} to{opacity:1;right:5%;} }.m-slide .slide-img .active .banner3-img-one{display:block;animation-name:baoAni;-webkit-animation:baoAni 0.4s linear 0s normal none;-moz-animation:baoAni 0.4s linear 0s normal none;animation:baoAni 0.4s linear 0s normal none;}@-webkit-keyframes baoAni{from{opacity:0;left:60%;} to{opacity:1;left:50%;} }@-moz-keyframes baoAni{from{opacity:0;left:60%;} to{opacity:1;left:50%;} }@keyframes baoAni{from{opacity:0;left:60%;} to{opacity:1;left:50%;} }.m-slide .slide-img .active .banner3-img-two{display:block;animation-name:saAni;-webkit-animation:saAni 0.4s linear 0s normal none;-moz-animation:saAni 0.4s linear 0s normal none;animation:saAni 0.4s linear 0s normal none;}@-webkit-keyframes saAni{from{opacity:0;-webkit-transform:scale(0,0);} to{opacity:1;-webkit-transform:scale(1,1);} }@-moz-keyframes saAni{from{opacity:0;-moz-transform:scale(0,0);} to{opacity:1;-moz-transform:scale(1,1);} }@keyframes saAni{from{opacity:0;transform:scale(0,0);} to{opacity:1;transform:scale(1,1);} }
这个抽象出来来,要看看js的基础了
阅读全文
0 0
- 首页学习--banner的动画及轮播
- 首页轮播Banner
- 模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)
- banner的轮播
- banner+okhttp实现轮播动画
- 首页学习--3D轮播
- Banner条的轮播
- APP首次启动:图片轮播3秒后进入首页或点击按钮进入首页(这里用的banner轮播)
- Banner轮播(轻量,指示器动画)
- Android 图片轮播Banner的实现
- banner广告轮播的实现
- 可以滑动,定时轮播的banner
- Banner广告轮播的使用
- banner(图片轮播)框架的使用
- banner实现广告的无线轮播
- 简单的Banner轮播展示
- Android轮播banner的使用
- 无限轮播的Banner简单方法
- python3脚本使用sql loader批量导入字节文件并二次处理
- Python3 socketserver 实现局域网通信
- spark企业经典案例之手机app流量统计
- 操作系统——页面置换算法
- Myeclipse 更改web项目的访问名
- 首页学习--banner的动画及轮播
- 【BZOJ】2431 [HAOI2009]逆序对数列 递推
- Mac OS X 安装Tensorflow
- Qt Qsyntaxhighlighter给QTextEdit设置丰富的语法高亮格式
- CentOS安装到完成项目部署操作记录
- Python打开文件出错 .open
- 在tomcat7上发布springboot war包
- 20day-、UI综合练习(网易彩票)---主要代码和对应的业务分析
- R语言大体概括。