基于jquery实现轮播焦点图插件
2019/6/27 22:29:42
本文主要是介绍基于jquery实现轮播焦点图插件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
直接上代码,可能不是最好的,欢迎吐槽。
/** * 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程序设计有所帮助。
这篇关于基于jquery实现轮播焦点图插件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28基于Python+Vue开发的口腔牙科预约管理系统
- 2024-09-28基于Python+Vue开发的酒店客房预订管理系统
- 2024-09-27使用js将ETH账户的资产打散其他账户web3
- 2024-09-27我轻松地将我的 React.js 应用程序翻译成了多种语言。下面是我是如何做到的... ??
- 2024-09-27?? 使用 useMemo 和 useCallback 加速 React:告别缓慢的重新渲染!??
- 2024-09-27Vue CLI多环境配置教程:新手入门指南
- 2024-09-27Vue CLI多环境配置教程:快速入门指南
- 2024-09-27Vue CLI教程:新手入门指南
- 2024-09-27Vue CLI教程:初学者快速入门指南
- 2024-09-27Vue3公共组件教程:入门与实践