zoukankan      html  css  js  c++  java
  • 网站banner常常要用到图片切换效果

    根据平时网站的需求,自己搞了个可以套用固定结构的JQ,只能针对<div><ul><li></li></ul></div>这样的banner结构

    html部分

    <div class="scroll">
            <div class="scrollImg">
                <ul>
                    <li><a><img src="images/banner1.jpg" /></a></li>
                    <li><a><img src="images/banner2.jpg" /></a></li>
                    <li><a><img src="images/banner3.jpg" /></a></li>
                </ul>
            </div>
            <div class="scrollBtn">
                <ul>
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                </ul>
            </div>
            <a class="leftBtn"></a><!--左按钮-->
            <a class="rightBtn"></a>
        </div>

    jq部分:

    /*-------------------------------------------------------------------------------------------------------------------------------*/
    function change(option){
        var area = (typeof option.area=="undefined")?jQuery(""):option.area;                //鼠标经过停止自动播放的区域
        var box = (typeof option.box=="undefined")?jQuery(""):option.box;                     //包含项目的容器
        var btn = (typeof option.btn=="undefined")?jQuery(""):option.btn;                    //包含焦点按钮的容器
        var leftBtn = (typeof option.leftBtn=="undefined")?jQuery(""):option.leftBtn;        //左按钮
        var rightBtn = (typeof option.rightBtn=="undefined")?jQuery(""):option.rightBtn;    //右按钮
        var waitTime = (typeof option.waitTime=="undefined")?8000:option.waitTime;            //切换间隔时间
        var fadeTime = (typeof option.fadeTime=="undefined")?"slow":option.fadeTime;        //淡入淡出时间
        var autoPlay = (typeof option.autoPlay=="undefined")?true:option.autoPlay;            //是否自动播放
        
        var listNum = box.find("li").length;
        box.find("li").hide();
        box.find("li:first").addClass("active").show();
        btn.find("li:first").addClass("selected");
        
        //切换
        function changeItem(k){
            btn.find("li").removeClass("selected");
            btn.find("li").eq(k).addClass("selected");
            box.find("li").removeClass("active");
            box.find("li").eq(k).addClass("active");
            box.find("li").hide();
            box.find("li.active").fadeIn(fadeTime);
        }
        
        //点击左按钮
        leftBtn.click(function(){
            var e = box.find("li.active").index();
            if(e == 0){e = listNum;}
            e = e - 1;
            changeItem(e);
        });
        
        //点击右按钮
        rightBtn.click(function(){
            var e = box.find("li.active").index();
            if(e == listNum - 1){e = -1;}
            e = e + 1;
            changeItem(e);
        });
        
        //点击焦点按钮
        btn.find("li").click(function(){
            var e = jQuery(this).index();
            changeItem(e);
        });
        
        //自动播放
        function autoRun(){
            var e = box.find("li.active").index();
            if(e == listNum - 1){e = -1;}
            e = e + 1;
            changeItem(e);
        }
        
        if(autoPlay){    
            var intID = setInterval(autoRun,waitTime);                
            area.hover(function(){
                clearInterval(intID);
            },function(){
                intID = setInterval(autoRun,waitTime);
            });
        }
        
    }
    /*-------------------------------------------------------------------------------------------------------------------------------*/
    
    
    //调用切换
    $(function(){
        change({
            area : $(".scroll"),                    //鼠标经过停止自动播放的区域
            box : $(".scrollImg"),                    //包含项目的容器
            btn : $(".scrollBtn"),                    //包含焦点按钮的容器
            leftBtn : $(".scroll a.leftBtn"),        //左按钮
            rightBtn : $(".scroll a.rightBtn"),        //右按钮
            waitTime : 8000,                        //切换间隔时间
            fadeTime : "slow",                        //淡入淡出时间
            autoPlay : true                            //是否自动播放
        });
    });
  • 相关阅读:
    Eclipse在线集成maven M2eclipse插件
    RBAC用户权限管理数据库设计
    Linux下修改mysql密码
    Red hat 6.4下面的qt安装
    export default {} 和new Vue()区别
    Ajax中POST和GET的区别
    JS es6-Symbol
    JS es6编程规范
    JS之箭头函数
    JS异步加载的方式
  • 原文地址:https://www.cnblogs.com/wwqianduan/p/3340211.html
Copyright © 2011-2022 走看看