基于jquery实现轮播焦点图插件


Posted in Javascript onMarch 31, 2016

直接上代码,可能不是最好的,欢迎吐槽。

/**
 * Created by Steven on 2015/07/10/0010.
 * @email zhuttymore@126.com
 */
 
 (function ($) {
 
  $.fn.slider = function (opt) {
   opt = $.extend({
    speed:'fast',
    auto: false,
    interval: 1000
   }, opt);
 
   var _this = this;
   var index = 0;
   _this.find('.window li').width(_this.width());
 
   var animate = function(index){
    var win = _this.find('.window');
    var offset = win.parent().width();
    win.animate({'marginLeft': -offset * index}, opt.speed);
    _this.find('.tab li').removeClass('select');
    _this.find('.tab li').eq(index).addClass('select');
   };
 
   _this.find('.tab li').mouseover(function () {
    index = parseInt($(this).index());
    animate(index);
 
   });
 
   _this.find('.btn li:first-child').click(function(){
    --index;
    if(index < 0){
     index = _this.find('.window li').length - 1;
    }
    animate(index);
   });
 
   _this.find('.btn li:last-child').click(function(){
    ++index;
    if(index >= _this.find('.window li').length){
     index = 0;
    }
    animate(index);
   });
 
   if(opt.auto){
    var time = setInterval(function(){
     ++index;
     if(index >= _this.find('.window li').length){
      index = 0;
     }
     animate(index);
    },opt.interval);
   }
 
   return $.each(this,function(index,ele){});
  };
 })(jQuery);

Html

<div class="slider">
   <ul class="btn">
    <li><i class=" icon-caret-left"></i></li>
    <li><i class=" icon-caret-right"></i></li>
   </ul>
   <ul class="window">
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591046_561095.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591047_607794.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591048_865919.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_590990_446978.jpg" alt=""/></li>
   </ul>
   <ul class="tab">
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591046_561095.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591047_607794.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591048_865919.jpg" alt=""/></li>
    <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_590990_446978.jpg" alt=""/></li>
   </ul>
  </div>

CSS

.slider {
  height: 440px;
  overflow: hidden;
  position: relative;
 }
 .slider .btn li{
  position: absolute;
  width: 30px;
  height: 50px;
  cursor: pointer;
  color: #fff;
  text-align: center;
  font-size: 40px;
  top:45%;
 }
 .slider .btn li:first-child {
 
  left:0;
 
 }
 
 .slider .btn li:last-child {
 
  right:0;
 
 }
 
 .slider img {
  width: 100%;
  height: 100%;
 }
 
 .slider .window {
  width: 40000px;
  height: 400px;
  overflow: hidden;
 }
 
 .slider .window li {
  float: left;
  overflow: hidden;
  width: 1200px;
 }
 
 .slider .tab {
  position: absolute;
  z-index: 5;
  width: 880px;
  margin: -40px auto;
  left: 13%;
 }
 
 .slider .tab li {
  float: left;
  width: 200px;
  height: 80px;
  margin-left: 18px;
  cursor: pointer;
 }

Css文件可以根据需求自己DIY, 但html的.slider里面的结构应该是一样。

Run 起来:
$('.slider').slider({auto: true, interval: 2000});

改进js结构:

/**
 * Created by Steven on 2015/07/10/0010.
 * @email zhuttymore@126.com
 */

(function ($) {

 $.fn.extend({
  slider:function (opt) {
   opt = $.extend({
    
   }, opt);
   //Do something here
   
   return $.each(this,function(index,ele){});
  }
 });

})(jQuery);

以上就是本文的全部内容,希望对大家学习jqueryt程序设计有所帮助。

Javascript 相关文章推荐
FireFox JavaScript全局Event对象
Jun 14 Javascript
编写针对IE的JS代码两种编写方法
Jan 30 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
Mar 05 Javascript
浅谈Javascript如何实现匀速运动
Dec 19 Javascript
js实现登陆遮罩效果的方法
Jul 28 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 Javascript
javascript关于继承解析
May 10 Javascript
jQuery实现的导航下拉菜单效果示例
Sep 05 Javascript
Vue EventBus自定义组件事件传递
Jun 25 Javascript
JQueryDOM之样式操作
Mar 27 jQuery
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
javascript中错误使用var造成undefined
Mar 31 #Javascript
详解JavaScript表单验证(E-mail 验证)
Mar 31 #Javascript
js表单验证实例讲解
Mar 31 #Javascript
javascript创建cookie、读取cookie
Mar 31 #Javascript
基于javascript实现全屏漂浮广告
Mar 31 #Javascript
JS深度拷贝Object Array实例分析
Mar 31 #Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 #Javascript
You might like
php数组中删除元素的实现代码
2012/06/22 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
毕业生护理专业个人求职信范文
2014/01/04 职场文书
给领导的致歉信范文
2014/01/13 职场文书
合作投资意向书
2014/04/01 职场文书
档案工作汇报材料
2014/08/21 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
大学生村官入党自传
2015/06/26 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
公司会议开幕词
2016/03/03 职场文书
话题作文之自信作文
2019/11/15 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL