基于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 相关文章推荐
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
jquery live()调用不存在的解决方法
Feb 26 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
jQuery中on()方法用法实例详解
Feb 06 Javascript
javascript中clipboardData对象用法详解
May 13 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 Javascript
每天一篇javascript学习小结(Function对象)
Nov 16 Javascript
复杂的javascript窗口分帧解析
Feb 19 Javascript
vue 实现input表单元素的disabled示例
Oct 28 Javascript
vue实现移动端图片上传功能
Dec 23 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
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
python浪漫表白源码
2019/04/05 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python通过Pillow实现图片对比
2020/04/29 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
KTV的创业计划书范文
2014/02/02 职场文书
学习十八大报告感言
2014/02/04 职场文书
秋天的图画教学反思
2014/05/01 职场文书
统计专业自荐书
2014/07/06 职场文书
写得不错的求职信范文
2014/07/11 职场文书
思想品德评语大全
2014/12/31 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
mysql 子查询的使用
2022/04/28 MySQL