大家平时在项目中很多时候也用到广告轮播图,我也不例外,为了避免重复工作,自己编写了一个兼容所有浏览器的广告轮播插件,调用非常简单。(ps:可以很灵活的修改,以满足不同的需求)

js代码:

(function($){
    $.fn.ban=function(options){
        var defaults={
            maxClass:"b_max",
            minClass:"b_min",
            maxHeight:"256"
        };
        options=$.extend(defaults,options);
        
        var maxClass=$("."+options.maxClass);
        var minClass=$("."+options.minClass);
        var max_len=maxClass.find("li").length;
        var picTimer,num=0;

return this.each(function(index){
            $(this).hover(function(){
                clearInterval(picTimer);
            },function(){
                picTimer=setInterval(function(){
                    if(num == max_len) {
                        picMoveFirst();
                        num=0;
                    } else {
                        picMoves(num);
                    }
                    num++;
                },3000);
            }).trigger("mouseleave");

minClass.find("li").each(function(index){
                $(this).bind("click",function(){
                    picMoves(index);
                    num=index;
                });
            });
        });
        
        function picMoves(index) { //普通切换
             minClass.find("a").removeClass().eq(index).addClass("current");
             maxClass.find("ul").animate({"top":-options.maxHeight*index});
        }
        function picMoveFirst(){
            maxClass.find("ul").append(maxClass.find("li:first").clone());
            maxClass.find("ul").stop(true,false).animate({"top":-options.maxHeight*max_len},300,function(){
                maxClass.find("ul").css("top","0");
                maxClass.find("li:last").remove();
            });
            minClass.find("a").removeClass("current").eq(0).addClass("current");
        }
    }
})(jQuery);

html代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
<!--    <link href="css/global.css" rel="stylesheet">-->
    <style type="text/css">
        *{padding: 0;margin: 0;}
        ul,ol{list-style: none;}
        img{border: 0 none;vertical-align: middle;}
        .banner{position:relative;width: 760px;height: 256px;background: #87ceeb;}
        .b_max{width: 640px;height: 256px;position: absolute;top: 0;left: 0;z-index: 2;overflow: hidden;}
        .b_max li,.b_max li a,.b_max li a img{width: 640px;height: 256px;}
        .b_max ul{position: absolute;top: 0;left: 0;}
        .b_min{position: absolute;right: 0;top: 0;z-index: 1;background:#000;}
        .b_min ul{width: 160px;}
        .b_min img{opacity:0.65; filter:alpha(Opacity=65);}
        .b_min .current img{opacity: 1;filter:alpha(Opacity=100);}
        .b_min li,.b_min li a,.b_min li a img{width: 160px;height: 64px;}
    </style>
    <script type="text/javascript" src="js/jquery-1.7.min.js"></script>
    <script type="text/javascript" src="js/jquery.ban.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#banner").ban();
        });
    </script>
</head>
<body>
<!--banner s-->
<div id="banner" class="banner">
    <div class="b_max">
        <ul>
            <li><a href="#"><img src="data:images/b1.jpg" alt="" /></a></li>
            <li><a href="#"><img src="data:images/b2.jpg" alt="" /></a></li>
            <li><a href="#"><img src="data:images/b3.jpg" alt="" /></a></li>
            <li><a href="#"><img src="data:images/b4.jpg" alt="" /></a></li>
        </ul>
    </div>
    <div class="b_min">
        <ul>
            <li><a href="javascript:;" class="current"><img src="data:images/b1.jpg" alt="" /></a></li>
            <li><a href="javascript:;"><img src="data:images/b2.jpg" alt="" /></a></li>
            <li><a href="javascript:;"><img src="data:images/b3.jpg" alt="" /></a></li>
            <li><a href="javascript:;"><img src="data:images/b4.jpg" alt="" /></a></li>
        </ul>
    </div>
</div>
<!--banner e-->
</body>
</html>
讲解一下:

var defaults={

maxClass:"b_max",
         minClass:"b_min",
         maxHeight:"256"
};

这里插件调用时,假如不传出自己定义的参数,插件就默认调用上面的参数,maxClass是轮播大图列表的最外层div的样式,minClass是小图列表的最外层div的样式,maxHeight是每张大图的高度(ps:这里是垂直方向的切)

$(function(){
            $("#banner").ban();
        });

这个就是默认不传参数时的调用,

假如你自己定义了自己的样式,例如:现在你html里面轮播大图列表的最外层div的样式为ban_max1,小图列表的最外层div的样式为ban_min1,每张大图的高度是200时

插件可以这样很方便的调用;

$(function(){
            $("#banner").ban({

maxClass:"ban_max1",
                minClass:"ban_min1",
                maxHeight:"200"

});
        });

当然这里的$("#banner")也可以自定义;希望能对看到的人有所帮助,有不同看法的欢迎交流,可以加qq交流:651680272

转载于:https://www.cnblogs.com/Timac/archive/2012/09/05/2671511.html

jquery广告轮播插件相关推荐

  1. 网站项目必备——12款白富美型 jQuery 图片轮播插件

    转自:http://www.cnblogs.com/lhb25/archive/2013/01/06/jquery-image-carousel-effect.html 图片轮播是网站中的常用功能,用 ...

  2. html轮播图水平传送带,经典的白富美型jQuery图片轮播插件

    图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美 ...

  3. 支持响应式手机端jQuery图片轮播插件unslider

    支持响应式手机端jQuery图片轮播插件unslider,非常强大的jQuery插件,支持响应式手机端.支持函数回调.支持左右按钮切换,可以自定义是否使用响应式fluid:true/false.是否显 ...

  4. jQuery 图片轮播插件

    网站项目必备--12款经典的白富美型 jQuery 图片轮播插件 图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的  ...

  5. html图片展示插件,12款经典的白富美型—jquery图片轮播插件—前端开发必备

    图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美 ...

  6. 12款经典的白富美型 jQuery 图片轮播插件

    图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的  jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精 ...

  7. 网站项目必备——12款经典的白富美型 jQuery 图片轮播插件

    图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美 ...

  8. html轮播图水平传送带,12款 jquery轮播插件

    Nivo Slider 首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本. 目前下载量已经突破 1,800,000 次!jQuery 独 ...

  9. jQuery百叶窗轮播图插件

    下载地址 这款jQuery图片轮播插件提供了多种百叶窗风格的图片切换方式,每一种百叶窗风格都是随机产生的.另外这款jQuery多百叶窗风格切换焦点图插件支持悬浮文字描述,同时也支持自动播放.相信它可以 ...

最新文章

  1. 最强六大开源轻量级人脸检测项目分析
  2. Python 爬虫 58同城
  3. mac 完全卸载android,关于macos:如何在Mac上完全卸载Android Studio?
  4. python__和_区别_【Python】对_和__差别的理解
  5. 事物Spring boot @Transactional
  6. python中列表和元组的相同点和不同点_详解Python语言中元组和列表的区别
  7. 考研 | 先预览一下考研真题是考研小白最快的入门方法(含21考研最新真题)
  8. 基于JAVA+SpringBoot+Mybatis+Vue+MYSQL的在线考试系统
  9. Elasticsearch head插件
  10. java 自己写一个模板_写一个java生成模板
  11. [转]Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
  12. iOS 14.7 中的所有新功能
  13. SSDP:DDoS***的“新宠”
  14. 中国企业软件为什么如此的难
  15. 玩转5G之--网络布线2 详细解说
  16. ros-noetic-yocs-cmd-vel-mux
  17. 走出996困境:产权、通证与生产力 |链捕手
  18. 寒武纪上半年营收1.7亿扣非后亏7.6亿 招银减持套现超3亿
  19. 为何 987654321/123456789 的值是 8.0000000729
  20. CART回归树原理及示例

热门文章

  1. 聚焦技术前沿 | 字节跳动年薪百万测试开发关注的前沿技术
  2. FunTester框架Redis压测预备
  3. 计算机科学与技术毕业生简历,计算机科学与技术专业应届毕业生简历范文
  4. javagui点击按钮弹出另一个界面_界面设计如何提高转化率和易用性(10则)
  5. win7 微软语音服务器,win7 TTS修复工具(微软tts语音引擎修复)
  6. linux ip onboot,linux onboot no
  7. 为什么android手机内存不够,安卓手机老是内存不足怎么解决
  8. matlab光束,matlab仿真光束的传输特性
  9. 从2D恢复出3D的数据
  10. MATLAB中的视角处理