[原创作品]轮播焦点图插件的实现

  在上上一期写了怎么写jq插件,现在,我把我写的一个焦点图插件贡献出来。不会写插件的朋友们可以参考我上次写的:http://www.cnblogs.com/zhutty/p/4630110.html。因为jq比较好掌握,以后这方面的介绍会少些,之后将与大家共享Angular,node,require,backbone等js内容。其实只要掌握了几种,其他都会变得很简单。计算机技术日新月异,作为一名程序员,应该具备快速学习的能力。好了,不废话。欢迎加群一起讨论交流

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

 1 /**
 2  * Created by Steven on 2015/07/10/0010.
 3  * @email [email protected]
 4  */
 5
 6 (function ($) {
 7
 8     $.fn.slider = function (opt) {
 9         opt = $.extend({
10             speed:‘fast‘,
11             auto: false,
12             interval: 1000
13         }, opt);
14
15         var _this = this;
16         var index = 0;
17         _this.find(‘.window li‘).width(_this.width());
18
19         var animate = function(index){
20             var win = _this.find(‘.window‘);
21             var offset = win.parent().width();
22             win.animate({‘marginLeft‘: -offset * index}, opt.speed);
23             _this.find(‘.tab li‘).removeClass(‘select‘);
24             _this.find(‘.tab li‘).eq(index).addClass(‘select‘);
25         };
26
27         _this.find(‘.tab li‘).mouseover(function () {
28             index = parseInt($(this).index());
29             animate(index);
30
31         });
32
33         _this.find(‘.btn li:first-child‘).click(function(){
34             --index;
35             if(index < 0){
36                 index = _this.find(‘.window li‘).length - 1;
37             }
38             animate(index);
39         });
40
41         _this.find(‘.btn li:last-child‘).click(function(){
42             ++index;
43             if(index >= _this.find(‘.window li‘).length){
44                 index = 0;
45             }
46             animate(index);
47         });
48
49         if(opt.auto){
50             var time = setInterval(function(){
51                 ++index;
52                 if(index >= _this.find(‘.window li‘).length){
53                     index = 0;
54                 }
55                 animate(index);
56             },opt.interval);
57         }
58
59         return $.each(this,function(index,ele){});
60     };
61
62 })(jQuery);

Html

 1 <div class="slider">
 2         <ul class="btn">
 3             <li><i class=" icon-caret-left"></i></li>
 4             <li><i class=" icon-caret-right"></i></li>
 5         </ul>
 6         <ul class="window">
 7             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591046_561095.jpg" alt=""/></li>
 8             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591047_607794.jpg" alt=""/></li>
 9             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591048_865919.jpg" alt=""/></li>
10             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_590990_446978.jpg" alt=""/></li>
11         </ul>
12         <ul class="tab">
13             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591046_561095.jpg" alt=""/></li>
14             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591047_607794.jpg" alt=""/></li>
15             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_591048_865919.jpg" alt=""/></li>
16             <li><img src="http://www.sinaimg.cn/dy/slidenews/1_img/2015_28/2841_590990_446978.jpg" alt=""/></li>
17         </ul>
18     </div>

CSS

 1 .slider {
 2     height: 440px;
 3     overflow: hidden;
 4     position: relative;
 5 }
 6 .slider .btn li{
 7     position: absolute;
 8     width: 30px;
 9     height: 50px;
10     cursor: pointer;
11     color: #fff;
12     text-align: center;
13     font-size: 40px;
14     top:45%;
15 }
16 .slider .btn li:first-child {
17
18     left:0;
19
20 }
21
22 .slider .btn li:last-child {
23
24     right:0;
25
26 }
27
28 .slider img {
29     width: 100%;
30     height: 100%;
31 }
32
33 .slider .window {
34     width: 40000px;
35     height: 400px;
36     overflow: hidden;
37 }
38
39 .slider .window li {
40     float: left;
41     overflow: hidden;
42     width: 1200px;
43 }
44
45 .slider .tab {
46     position: absolute;
47     z-index: 5;
48     width: 880px;
49     margin: -40px auto;
50     left: 13%;
51 }
52
53 .slider .tab li {
54     float: left;
55     width: 200px;
56     height: 80px;
57     margin-left: 18px;
58     cursor: pointer;
59 }

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

Run 起来:

1        $(‘.slider‘).slider({auto: true, interval: 2000});

OK,就这样。原创作品,转载请注明出处。

时间: 2024-08-30 01:03:19

[原创作品]轮播焦点图插件的实现的相关文章

超炫酷的jQuery轮播焦点图 底部带切换缩略图

详细内容请点击 前面我们刚刚分享过一款jQuery/HTML5响应式焦点图动画应用,效果非常炫酷.这次我们再来分享一款基于jQuery的图片轮播焦点图,这款jQuery焦点图的特点是整个图片播放器是宽屏的效果,并且在焦点图底部有一排可以滑动的缩略图,点击缩略图可以快速跳转到相应的图片.  在线演示源码下载 学习来源:http://www.html5tricks.com/jquery-cool-image-slider-thumb.html 更多html5内容请点击

分享10款常用的jQuery焦点图插件

爱编程一直在收集整理编程相关的知识和解决方案,今天小编为大家带来10款非常常用的jquery焦点图插件. 1.jQuery可自动播放动画的焦点图插件 之前我们已经分享过很多非常实用的jQuery焦点图插件,大部分对开发者来说基本上可以直接拿来使用.今天我们要分享一款可以自动播放动画的jQuery焦点图插件,它在切换图片的时候可以播放对应图片的各种动画效果. 在线预览   源码下载 2.jQuery可自动播放动画的焦点图插件 这次我们要分享的这款jQuery焦点图非常特别,它的外观特别简单,但是又

Jquery插件使用 焦点图插件 MyFocus ,另外记录一款插件 KinMaxShow大背景图插件。

以前用flash做首页图片轮播.最近的网站里用到一个插件MyFocus插件焦点图插件 用法如下: <script type="text/javascript" src="js/myfocus-2.0.1.min.js"></script> <script type="text/javascript">                             //设置                       

一款基于jQuery的图片下滑切换焦点图插件

之前为大家分享了好多款jquery插件,今天我们要分享的一款jQuery插件也比较实用,是一款jQuery焦点图插件.焦点图相当普通,一共可以循环播放4张图片,并且每一张图片在切换的时候都是向下滑动的切换效果,并且在向下切换时产生弹性的动画特效,另外,插件是基于jQuery的,各种浏览器的兼容性应该还不错. 在线预览   源码下载 下面是实现这款jQuery焦点图的过程和代码. HTML代码: <div class="slider-wrap col-width"> <

一款基于的jQuery仿苹果样式焦点图插件

这次我们要分享的这款jQuery焦点图非常特别,它的外观特别简单,但是又相当大气.焦点图的整体样式是仿苹果样式的,由于jQuery的运用,我们只要点击图片下方的缩略图即可达到图片切换的焦点图特效,这款jQuery焦点图插件非常适合在产片展示的网页上使用. 在线预览   源码下载 接下来我们一起分享一下实现这款苹果焦点图的过程及源码. HTML代码: <div id="gallery"> <div id="slides" style="wi

一款基于jQuery的图片分组切换焦点图插件

这是一款基于jQuery的图片切换焦点图插件,这款jQuery焦点图插件的特点是图片可以分组切换,也就是说一次可以切换多张图片,相比其他焦点图插件,它能节省更多的空间,可以向用户展示更多的图片,非常实用. 在线预览   源码下载 实现的代码. html代码: <div class="device"> <h2> <a href="javascript:;" class="pre">上一组</a><

基于jQuery的宽屏可左右切换的焦点图插件

之前分享了很多实用的jQuery焦点图插件,大家可以看看.今天要继续为大家分享一款很不错的jQuery焦点图插件,它是宽屏展示的,而且有两个大气的按钮用来左右切换图片.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="Big_Slide_box"> <div id="Big_Slide"> <ul> <li style="background: #E81216;" id

jquery带三种切换效果的焦点图插件-luara.js插件

1.简介 luara.js 焦点图插件,用于设置焦点幻灯片的插件,实例中列出了三种最常用的效果,渐隐.上滑.左滑,可以设置切换的时间间隔. 2.插件调用代码段 <script> $(function(){ <!--调用Luara示例--> $(".example1").luara({ width:"500", height:"334", interval:5000, selected:"seleted"

分享8个常用的jQuery焦点图插件

现在web网页jquery应用越来越广泛,目前几乎每一个WEB项目都在使用jQuery,因为jQuery插件实在太丰富,尤其是一些图片滑块插件和jQuery焦点图插件,更是多如牛毛,很多初学者只需稍微修改就可以使用.本文精选了8款比较强大的jQuery焦点图插件,希望对读者有所帮助. 1.jQuery动画焦点图 可自动播放图片 这是一款最基础的jQuery焦点图插件,包括切换的动画也是最基本的淡入淡出动画特效,但是它很轻巧,而且也比较容易扩展,因此也推荐使用. 在线预览   源码下载 2.jQu