<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* 2019-1-29

 * SuperSlide v3.0 alphaå¼€å‘ç‰ˆ
 * è½»æ¾è§£å†³ç½‘ç«™å¤§éƒ¨åˆ†ç‰¹æ•ˆå±•ç¤ºé—®é¢˜
 * è¯¦å°½ä¿¡æ¯è¯·çœ‹å®˜ç½‘ï¼šhttp://www.SuperSlide2.com/
 *
 * Copyright 2011-2018, å¤§è¯ä¸»å¸­ 
 *
 * è¯·å°Šé‡åŽŸåˆ›ï¼Œä¿ç•™å¤´éƒ¨ç‰ˆæƒ
 * åœ¨ä¿ç•™ç‰ˆæƒçš„å‰æä¸‹å¯åº”ç”¨äºŽä¸ªäººæˆ–å•†ä¸šç”¨é€”

 * v3.0ï¼š
    1ã€ä¿®å¤ mouseOverStop å’Œ autoPlayå‡ä¸ºfalseä¸‹ï¼Œç‚¹å‡»åˆ‡æ¢æŒ‰é’®åŽä¼šè‡ªåŠ¨æ’­æ”¾bug;
    2ã€interTimeé»˜è®¤å€¼æ”¹ä¸º4000;
    3ã€visé»˜è®¤å€¼æ”¹ä¸º"auto"
    4ã€scrollé»˜è®¤å€¼æ”¹ä¸º"auto"
    5ã€å¢žåŠ&nbsp;å‚æ•° responsive -- é»˜è®¤å€¼tureï¼Œæ˜¯å¦å¼€å¯å“åº”å¼åŠŸèƒ½
    6ã€å¢žåŠ&nbsp;å‚æ•° responsiveFun -- å“åº”å¼å›žè°ƒå‡½æ•°
    7ã€å¢žåŠ&nbsp;å‚æ•° responsiveFunTime -- é»˜è®¤å€¼100ï¼Œå•ä½æ¯«ç§’ï¼Œå¤–æ¡†å®½åº¦æ”¹å˜ï¼ˆè§¦å‘å“åº”å¼ï¼‰æ—¶å›žè°ƒå‡½æ•°æ‰§è¡Œé—´éš”
    8ã€å¢žåŠ&nbsp;å‚æ•° autoHeight -- é»˜è®¤å€¼trueï¼Œè‡ªåŠ¨é€‚é…å†…å®¹é«˜åº¦ï¼Œå¸¸ç”¨äºŽç§»åŠ¨ç«¯ï¼Œeffect:"leftæˆ–leftLoop",vis:1,scroll:1æ—¶æœ‰æ•ˆ
    9ã€å¢žåŠ&nbsp;å‚æ•° canTouch -- é»˜è®¤å€¼"auto"ï¼Œç§»åŠ¨ç«¯æœ‰æ•ˆï¼›æ˜¯å¦å¸¦è§¦æ‘¸æ‹–æ‹½æ•ˆæžœï¼›å¯é€‰"auto"|true|falseï¼›autoæƒ…å†µä¸‹æ˜¯é™¤äº†fadeã€foldã€slideDownä¸å¸¦è§¦æ‘¸ï¼Œå…¶å®ƒéƒ½å¸¦
    10ã€é‡æ–°è®¾è®¡"fold"çš„å®žçŽ°æ–¹å¼ï¼Œä¸å†éœ€è¦è®¡ç®—å®½é«˜ï¼ŒçŽ°åœ¨å¯ä»¥è‡ªé€‚åº”é«˜åº¦
    11ã€æ–°å¢žå¤–ç½®æ–¹æ³•ï¼š
        play() -- æ’­æ”¾
        pause() -- æš‚åœ
        prev() -- ä¸Šä¸€é¡µ
        next() -- ä¸‹ä¸€é¡µ
        goTo(int) -- è·³åˆ°ç¬¬inté¡µ
        refresh() -- åˆ·æ–°æ•ˆæžœ
        reset() -- é‡ç½®æ•ˆæžœ
        getIndex() -- èŽ·å–å½“å‰é¡µç&nbsp;
        getPages() -- èŽ·å–æ€»é¡µæ•°
        clearStyle() -- æ¸…é™¤æ’ä»¶åŠ&nbsp;å…¥çš„style
        destroyInter() -- é”€æ¯setIntervalå’ŒsetTimeout
        destroyEvents() -- é”€æ¯äº‹ä»¶ç»‘å®š
        destroy() -- é”€æ¯æ’ä»¶ï¼ˆclearStyle() + destroyInter() + destroyEvents()ï¼‰

        ä½¿ç”¨æ–¹å¼ï¼š
        æ‰§è¡ŒslideåŽä¼šè¿”å›žsuperslideå¯¹è±¡é›†åˆï¼›
        ä¾‹å¦‚ï¼š
        var ss = $(".slider").slide({ .... });
        çŽ°åœ¨æƒ³è®¾ç½®ç¬¬äºŒä¸ª".slider"æš‚åœï¼Œæ‰§è¡Œä»£ç&nbsp;ä¸ºï¼š ss[1].pause();
    */

(function ($, win) {
    $.fn.slide = function (options) {
        $.fn.slide.defaults = {
            type: "slide",
            effect: "fade",
            autoPlay: false,
            delayTime: 500,
            interTime: 4000,
            triggerTime: 150,
            defaultIndex: 0,
            titCell: ".hd li",
            mainCell: ".bd",
            targetCell: null,
            trigger: "mouseover",
            scroll: "auto",
            vis: "auto",
            titOnClassName: "on",
            autoPage: false,
            prevCell: ".prev",
            nextCell: ".next",
            pageStateCell: ".pageState",
            opp: false,
            pnLoop: true,
            easing: "swing",
            startFun: null,
            endFun: null,
            switchLoad: null,

            playStateCell: ".playState",
            mouseOverStop: true,
            defaultPlay: true,
            returnDefault: false,

            responsive: true,
            responsiveFun: null,
            responsiveFunTime: 100,
            autoHeight: true,
            canTouch: "auto"
        };

        var ary = [];
        var createObj = function (opts, slider) {

            var _this = this;
            var effect = opts.effect;
            var prevBtn = $(opts.prevCell, slider);
            var nextBtn = $(opts.nextCell, slider);
            var pageState = $(opts.pageStateCell, slider);
            var playState = $(opts.playStateCell, slider);

            var navObj = $(opts.titCell, slider); //å¯¼èˆªå­å…ƒç´&nbsp;ç»“åˆ
            var navObjSize = navObj.length;
            var conBox = $(opts.mainCell, slider); //å†…å®¹å…ƒç´&nbsp;çˆ¶å±‚å¯¹è±¡
            var conBoxSize = conBox.children().length;
            var sLoad = opts.switchLoad;
            var tarObj = $(opts.targetCell, slider);

            /*å­—ç¬¦ä¸²è½¬æ¢*/
            var index = parseInt(opts.defaultIndex);
            var delayTime = parseInt(opts.delayTime);
            var interTime = parseInt(opts.interTime);
            var triggerTime = parseInt(opts.triggerTime);

            var scroll = isNaN(opts.scroll) ? "auto" : parseInt(opts.scroll);
            var vis = isNaN(opts.vis) ? "auto" : parseInt(opts.vis);

            var autoPlay = (opts.autoPlay == "false" || opts.autoPlay == false) ? false : true;
            var opp = (opts.opp == "false" || opts.opp == false) ? false : true;
            var autoPage = (opts.autoPage == "false" || opts.autoPage == false) ? false : true;
            var pnLoop = (opts.pnLoop == "false" || opts.pnLoop == false) ? false : true;
            var mouseOverStop = (opts.mouseOverStop == "false" || opts.mouseOverStop == false) ? false : true;
            var defaultPlay = (opts.defaultPlay == "false" || opts.defaultPlay == false) ? false : true;
            var returnDefault = (opts.returnDefault == "false" || opts.returnDefault == false) ? false : true;
            var canTouch = opts.canTouch;

            //è§¦æ‘¸ç›¸å…³
            var supportTouch = !!("ontouchstart" in window || window.navigator.msMaxTouchPoints);
            if( canTouch=="auto" ){
                if ( ("left leftLoop leftMarquee top topLoop topMarquee").indexOf(effect) != -1 ) {
                    canTouch=true;
                }else{
                    canTouch=false;
                }
            }else{
                canTouch = (opts.canTouch == "false" || opts.canTouch == false) ? false : true;
            }
            canTouch = (canTouch &amp;&amp; supportTouch)?true:false;

            var touchStart = supportTouch ? 'touchstart' : 'touchstart';
            var touchMove = supportTouch ? 'touchmove' : 'touchmove';
            var touchEnd = supportTouch ? 'touchend' : 'touchend';
            // var touchStart = supportTouch ? 'touchstart' : 'mousedown';
            // var touchMove = supportTouch ? 'touchmove' : 'mousemove';
            // var touchEnd = supportTouch ? 'touchend' : 'mouseup';

            //å†…éƒ¨ä½¿ç”¨å˜é‡
            var slideH = 0;
            var slideW = 0;
            var selfW = 0;
            var selfH = 0;
            var easing = opts.easing;
            var inter = null; //autoPlay-setInterval
            var titST = null; //titCell-setTimeout
            var rtnST = null; //è¿”å›žé»˜è®¤-setTimeout
            var pnST = null; //å‰åŽæŒ‰é’®é•¿å®‰-setTimeout
            var resizeST = null; //winå“åº”å¼-setTimeout
            var titOn = opts.titOnClassName;

            var onIndex = navObj.index(slider.find("." + titOn));
            var oldIndex = index = onIndex == -1 ? index : onIndex;
            var defaultIndex = index;
            var scrollNum = 0;

            var _ind = index;
            var cloneNum = 0;
            var _tar;
            var isMarq = effect == "leftMarquee" || effect == "topMarquee" ? true : false;
            var isLeftEffectForTouch = ("left leftLoop leftMarquee fade fold").indexOf(effect) == -1?false:true;
            var isTopEffectForTouch = ("top topLoop topMarquee fade fold").indexOf(effect) == -1?false:true;
            var isLeftEffect = ("left leftLoop leftMarquee").indexOf(effect) == -1?false:true;
            var isTopEffect = ("top topLoop topMarquee").indexOf(effect) == -1?false:true;
            var conBoxParWidth = conBox.parent().width();
            var conBoxParHeight = conBox.parent().height();

            var responsiveCallBack = function () {
                if ($.isFunction(opts.responsiveFun)) {
                    opts.responsiveFun(index, navObjSize, slider, $(opts.titCell, slider), conBox, tarObj, prevBtn, nextBtn)
                }
            };
            var startCallBack = function () {
                if ($.isFunction(opts.startFun)) {
                    opts.startFun(index, navObjSize, slider, $(opts.titCell, slider), conBox, tarObj, prevBtn, nextBtn)
                }
            };
            var endCallBack = function () {
                if ($.isFunction(opts.endFun)) {
                    opts.endFun(index, navObjSize, slider, $(opts.titCell, slider), conBox, tarObj, prevBtn, nextBtn)
                }
            };
            var resetOn = function () {
                navObj.removeClass(titOn);
                if (defaultPlay) {
                    navObj.eq(defaultIndex).addClass(titOn)
                }
            };

            //ç»‘å®štitCelläº‹ä»¶
            var titCellEvent = function (o) {
                if (opts.trigger == "mouseover") {
                    o.hover(function () {
                        var hoverInd = o.index(this);
                        titST = setTimeout(function () {
                            index = hoverInd;
                            doPlay();
                            resetInter();
                        }, opts.triggerTime);
                    }, function () { clearTimeout(titST) });
                } else {
                    o.click(function () {
                        index = o.index(this);
                        doPlay();
                        resetInter();
                    })
                }
            };

            //å•ç‹¬å¤„ç†èœå•æ•ˆæžœ
            if (opts.type == "menu") {
                if (defaultPlay) {
                    navObj.removeClass(titOn).eq(index).addClass(titOn);
                }
                navObj.hover(
                    function () {
                        _tar = $(this).find(opts.targetCell);
                        var hoverInd = navObj.index($(this));

                        titST = setTimeout(function () {
                            index = hoverInd;
                            navObj.removeClass(titOn).eq(index).addClass(titOn);
                            startCallBack();
                            switch (effect) {
                                case "fade":
                                    _tar.stop(true, true).animate({ opacity: "show" }, delayTime, easing, endCallBack);
                                    break;
                                case "slideDown":
                                    _tar.stop(true, true).animate({ height: "show" }, delayTime, easing, endCallBack);
                                    break;
                            }
                        }, opts.triggerTime);

                    }, function () {
                        clearTimeout(titST);
                        switch (effect) {
                            case "fade":
                                _tar.animate({ opacity: "hide" }, delayTime, easing);
                                break;
                            case "slideDown":
                                _tar.animate({ height: "hide" }, delayTime, easing);
                                break;
                        }
                    }
                );

                if (returnDefault) {
                    slider.hover(function () { clearTimeout(rtnST); }, function () { rtnST = setTimeout(resetOn, delayTime); });
                }

                return;
            }

            //åˆ‡æ¢åŠ&nbsp;è½½
            var doSwitchLoad = function (objs) {

                var changeImg = function (t) {
                    for (var i = t; i &lt; (vis + t); i++) {
                        objs.eq(i).find("img[" + sLoad + "]").each(function () {
                            var _t = $(this);
                            _t.attr("src", _t.attr(sLoad));
                            if (conBox.find(".clone")[0]) { //å¦‚æžœå­˜åœ¨.clone
                                var chir = conBox.children();
                                for (var j = 0; j &lt; chir.length; j++) {
                                    chir.eq(j).find("img[" + sLoad + "]").each(function () {
                                        if ($(this).attr(sLoad) == _t.attr("src")) {
                                            $(this).attr("src", $(this).attr(sLoad));
                                        }
                                    });
                                }
                            }
                        });
                    }
                };
                switch (effect) {
                    case "fade":
                    case "fold":
                    case "top":
                    case "left":
                    case "slideDown":
                        changeImg(index * scroll);
                        break;
                    case "leftLoop":
                    case "topLoop":
                        changeImg(cloneNum + scrollNum(_ind));
                        break;
                    case "leftMarquee":
                    case "topMarquee":
                        var curS = effect == "leftMarquee" ? conBox.css("left").replace("px", "") : conBox.css("top").replace("px", "");
                        var slideT = effect == "leftMarquee" ? slideW : slideH;
                        var mNum = cloneNum;
                        if (curS % slideT != 0) {
                            var curP = Math.abs(curS / slideT ^ 0);
                            if (index == 1) {
                                mNum = cloneNum + curP
                            } else {
                                mNum = cloneNum + curP - 1
                            }
                        }
                        changeImg(mNum);
                        break;
                }
            }; //doSwitchLoad end

            //åˆå§‹åŒ–
            var setInit = function () {
                var tempIndex = index;
                if (true) {}
                selfW = 0;
                selfH = 0;
                conBox.children().each(function () { //å–æœ€å¤§å€¼
                    if ($(this).width() &gt; selfW) {
                        selfW = $(this).width();
                        slideW = $(this).outerWidth(true);
                    }
                    if ($(this).height() &gt; selfH) {
                        selfH = $(this).height();
                        slideH = $(this).outerHeight(true);
                    }
                });

                if (opts.vis == "auto") {
                    if(isTopEffect){
                        vis = parseInt(conBoxParHeight / slideH);
                    }else{
                        vis = parseInt(conBoxParWidth / slideW);
                    }
                    
                    vis = vis==0?1:vis;
                }
                if (opts.scroll == "auto") {
                    scroll = vis
                }
                cloneNum = conBoxSize &gt;= vis ? (conBoxSize % scroll != 0 ? conBoxSize % scroll : scroll) : 0;

                //å¤„ç†åˆ†é¡µ
                if (navObjSize == 0) {
                    navObjSize = conBoxSize;
                }
                //åªæœ‰å·¦å³æŒ‰é’®
                if (isMarq) {
                    navObjSize = 2;
                    tempIndex = 0;
                }
                if (autoPage) {
                    if (conBoxSize &gt;= vis) {
                        if (effect == "leftLoop" || effect == "topLoop") {
                            navObjSize = conBoxSize % scroll != 0 ? (conBoxSize / scroll ^ 0) + 1 : conBoxSize / scroll;
                        }
                        //else if (isMarq){ navObjSize=2 }
                        else {
                            var tempS = conBoxSize - vis;
                            navObjSize = 1 + parseInt(tempS % scroll != 0 ? (tempS / scroll + 1) : (tempS / scroll));
                            if (navObjSize &lt;= 0) {
                                navObjSize = 1;
                            }
                        }
                    } else {
                        navObjSize = 1
                    }

                    $(opts.titCell, slider).empty();

                    var str = "";

                    if (opts.autoPage == true || opts.autoPage == "true") {
                        for (var i = 0; i &lt; navObjSize; i++) {
                            str += "&lt;li&gt;" + (i + 1) + "&lt;/li&gt;"
                        }
                    } else {
                        for (var i = 0; i &lt; navObjSize; i++) {
                            str += opts.autoPage.replace("$", (i + 1))
                        }
                    }
                    $(opts.titCell, slider).html(str);

                    navObj = $(opts.titCell, slider).children(); //é‡ç½®å¯¼èˆªå­å…ƒç´&nbsp;å¯¹è±¡
                    navObj.eq(index).addClass(titOn);

                    titCellEvent(navObj);

                }

                if (conBoxSize &gt;= vis) { //å½“å†…å®¹ä¸ªæ•°å°‘äºŽå¯è§†ä¸ªæ•°ï¼Œä¸æ‰§è¡Œæ•ˆæžœã€‚

                    //console.log(vis+"|"+cloneNum);

                    var cloneEle = function () {
                        var _chr = conBox.children();
                        for (var i = 0; i &lt; vis; i++) {
                            _chr.eq(i).clone().addClass("clone").appendTo(conBox);
                        }
                        for (var i = 0; i &lt; cloneNum; i++) {
                            _chr.eq(conBoxSize - i - 1).clone().addClass("clone").prependTo(conBox);
                        }
                    };
                    switch (effect) {
                        case "fold":
                            conBox.css({ "overflow": "hidden" }).children().css({ "width": "100%", "float": "left", "marginRight": "-100%", "display": "none" });
                            break;

                        case "top":
                            conBox.wrap('&lt;div class="tempWrap" style="overflow:hidden; position:relative; height:' + vis * slideH + 'px"&gt;&lt;/div&gt;').css({ "top": -(tempIndex * scroll) * slideH, "position": "relative", "padding": "0", "margin": "0" }).children().css({ "height": selfH });
                            break;
                        case "left":
                            var visScope = isNaN(opts.vis) ? opts.vis : vis * slideW + 'px';
                            conBox.wrap('&lt;div class="tempWrap" style="overflow:hidden; position:relative; width:' + visScope + '"&gt;&lt;/div&gt;');
                            conBox.css({ "width": conBoxSize * slideW, "left": -(tempIndex * scroll) * slideW, "position": "relative", "overflow": "hidden", "padding": "0", "margin": "0" }).children().css({ "float": "left", "width": selfW });

                            break;
                        case "leftLoop":
                        case "leftMarquee":
                            cloneEle();
                            var visScope = isNaN(opts.vis) ? "100%" : vis * slideW + 'px';
                            conBox.wrap('&lt;div class="tempWrap" style="overflow:hidden; position:relative; width:' + visScope + '"&gt;&lt;/div&gt;');
                            conBox.css({ "width": (conBoxSize + vis + 1 + cloneNum) * slideW, "position": "relative", "overflow": "hidden", "padding": "0", "margin": "0", "left": -(cloneNum + tempIndex * scroll) * slideW }).children().css({ "float": "left", "width": selfW });

                            break;
                        case "topLoop":
                        case "topMarquee":
                            cloneEle();
                            conBox.wrap('&lt;div class="tempWrap" style="overflow:hidden; position:relative; height:' + vis * slideH + 'px"&gt;&lt;/div&gt;').css({ "height": (conBoxSize + vis + cloneNum) * slideH, "position": "relative", "padding": "0", "margin": "0", "top": -(cloneNum + tempIndex * scroll) * slideH }).children().css({ "height": selfH });
                            break;
                    }

                }

                //é’ˆå¯¹leftLoopã€topLoopçš„æ»šåŠ¨ä¸ªæ•°
                scrollNum = function (ind) {
                    var _tempCs = ind * scroll;
                    if (ind == navObjSize) {
                        _tempCs = conBoxSize;
                    } else if (ind == -1 &amp;&amp; conBoxSize % scroll != 0) {
                        _tempCs = -conBoxSize % scroll;
                    }
                    return _tempCs;
                };

                //pageState.html( "&lt;span&gt;"+(index+1)+"&lt;/span&gt;/"+navObjSize);

            }; //setInit End
            setInit();
            responsiveCallBack();

            //æ•ˆæžœå‡½æ•°
            var doPlay = function (_setInit) {
                // å½“å‰é¡µçŠ¶æ€ä¸è§¦å‘æ•ˆæžœ
                if (defaultPlay &amp;&amp; oldIndex == index &amp;&amp; !_setInit &amp;&amp; !isMarq) {
                    return;
                }

                //å¤„ç†é¡µç&nbsp;
                if (isMarq) {
                    if (index &gt;= 1) {
                        index = 1;
                    } else if (index &lt;= 0) {
                        index = 0;
                    }
                } else {
                    _ind = index;
                    if (index &gt;= navObjSize) {
                        index = 0;
                    } else if (index &lt; 0) {
                        index = navObjSize - 1;
                    }
                }

                //å¤„ç†åˆ‡æ¢åŠ&nbsp;è½½
                if (sLoad != null) {
                    doSwitchLoad(conBox.children())
                }

                startCallBack();

                //å¤„ç†targetCell
                if (tarObj[0]) {
                    _tar = tarObj.eq(index);
                    if (sLoad != null) {
                        doSwitchLoad(tarObj)
                    }
                    if (effect == "slideDown") {
                        tarObj.not(_tar).stop(true, true).slideUp(delayTime);
                        _tar.slideDown(delayTime, easing, function () {
                            if (!conBox[0]) {
                                endCallBack()
                            }
                        });
                    } else {
                        tarObj.not(_tar).stop(true, true).hide();
                        _tar.animate({ opacity: "show" }, delayTime, function () {
                            if (!conBox[0]) {
                                endCallBack()
                            }
                        });
                    }
                }

                if (conBoxSize &gt;= vis) { //å½“å†…å®¹ä¸ªæ•°å°‘äºŽå¯è§†ä¸ªæ•°ï¼Œä¸æ‰§è¡Œæ•ˆæžœã€‚
                    switch (effect) {
                        case "fade":
                            conBox.children().stop(true, true).eq(index).animate({ opacity: "show" }, delayTime, easing, function () { endCallBack() }).siblings().hide();
                            break;
                        case "fold":
                            conBox.children().stop(true, true).eq(index).animate({ opacity: "show" }, delayTime, easing, function () { endCallBack() }).siblings().animate({ opacity: "hide" }, delayTime, easing);
                            break;
                        case "top":
                            conBox.stop(true, false).animate({ "top": -index * scroll * slideH }, delayTime, easing, function () { endCallBack() });
                            break;
                        case "left":
                            conBox.stop(true, false).animate({ "left": -index * scroll * slideW }, delayTime, easing, function () { endCallBack() });
                            break;
                        case "leftLoop":
                            var __ind = _ind;
                            conBox.stop(true, true).animate({ "left": -(scrollNum(_ind) + cloneNum) * slideW }, delayTime, easing, function () {
                                if (__ind &lt;= -1) {
                                    conBox.css("left", -(cloneNum + (navObjSize - 1) * scroll) * slideW);
                                } else if (__ind &gt;= navObjSize) {
                                    conBox.css("left", -cloneNum * slideW);
                                }
                                endCallBack();
                            });
                            break; //leftLoop end

                        case "topLoop":
                            var __ind = _ind;
                            conBox.stop(true, true).animate({ "top": -(scrollNum(_ind) + cloneNum) * slideH }, delayTime, easing, function () {
                                if (__ind &lt;= -1) {
                                    conBox.css("top", -(cloneNum + (navObjSize - 1) * scroll) * slideH);
                                } else if (__ind &gt;= navObjSize) {
                                    conBox.css("top", -cloneNum * slideH);
                                }
                                endCallBack();
                            });
                            break; //topLoop end

                        case "leftMarquee":
                            var tempLeft = conBox.css("left").replace("px", "");
                            if (index == 0) {
                                conBox.animate({ "left": ++tempLeft }, 0, function () {
                                    if (conBox.css("left").replace("px", "") &gt;= 0) {
                                        conBox.css("left", -conBoxSize * slideW)
                                    }
                                });
                            } else {
                                conBox.animate({ "left": --tempLeft }, 0, function () {
                                    if (conBox.css("left").replace("px", "") &lt;= -(conBoxSize + cloneNum) * slideW) {
                                        conBox.css("left", -cloneNum * slideW)
                                    }
                                });
                            }
                            break; // leftMarquee end

                        case "topMarquee":
                            var tempTop = conBox.css("top").replace("px", "");
                            if (index == 0) {
                                conBox.animate({ "top": ++tempTop }, 0, function () {
                                    if (conBox.css("top").replace("px", "") &gt;= 0) {
                                        conBox.css("top", -conBoxSize * slideH)
                                    }
                                });
                            } else {
                                conBox.animate({ "top": --tempTop }, 0, function () {
                                    if (conBox.css("top").replace("px", "") &lt;= -(conBoxSize + cloneNum) * slideH) {
                                        conBox.css("top", -cloneNum * slideH)
                                    }
                                });
                            }
                            break; // topMarquee end

                    } //switch end
                }

                navObj.removeClass(titOn).eq(index).addClass(titOn);

                oldIndex = index;
                if (!pnLoop) { //pnLoopæŽ§åˆ¶å‰åŽæŒ‰é’®æ˜¯å¦ç»§ç»­å¾ªçŽ¯
                    nextBtn.removeClass("nextStop");
                    prevBtn.removeClass("prevStop");
                    if (index == 0) {
                        prevBtn.addClass("prevStop");
                    }
                    if (index == navObjSize - 1) {
                        nextBtn.addClass("nextStop");
                    }
                }

                pageState.html("&lt;span&gt;" + (index + 1) + "&lt;/span&gt;/" + navObjSize);

                // è‡ªåŠ¨é€‚é…é«˜åº¦
                if (opts.autoHeight &amp;&amp; (effect == "left" || effect == "leftLoop") &amp;&amp; vis == 1 &amp;&amp; scroll == 1) {
                    var curItem = conBox.children().not(conBox.find(".clone")).eq(index);
                    var pic = curItem.find("img");
                    var picCount = pic.length;

                    if (picCount &lt;= 0) {
                        conBox.height(curItem.outerHeight());
                        return;
                    }
                    pic.each(function () { //å­˜åœ¨å›¾ç‰‡æ—¶ç›‘æµ‹å›¾ç‰‡é«˜åº¦
                        var img = $(this);
                        var imgInt = setInterval(function () {
                            if (img.height() &gt; 0) {
                                clearInterval(imgInt);
                                picCount--;
                                if (picCount &lt;= 0) {
                                    conBox.height(curItem.outerHeight());
                                }
                            }
                        }, 50);
                    });
                }

            }; // doPlay end

            //åˆå§‹åŒ–æ‰§è¡Œ
            if (defaultPlay) {
                doPlay(true);
            }

            //è¿”å›žé»˜è®¤çŠ¶æ€
            if (returnDefault) {
                slider.hover(function () { clearTimeout(rtnST) }, function () {
                    rtnST = setTimeout(function () {
                        index = defaultIndex;
                        if (defaultPlay) {
                            doPlay();
                        } else {
                            if (effect == "slideDown") {
                                _tar.slideUp(delayTime, resetOn);
                            } else {
                                _tar.animate({ opacity: "hide" }, delayTime, resetOn);
                            }
                        }
                        oldIndex = index;
                    }, 300);
                });
            }

            ///è‡ªåŠ¨æ’­æ”¾å‡½æ•°
            var setInter = function (time) {
                inter = setInterval(function () {
                opp ? index-- : index++;
                doPlay();
                }, !!time ? time : interTime);
            };
            var setMarInter = function (time) { inter = setInterval(doPlay, !!time ? time : interTime); };
            // å¤„ç†mouseOverStop
            var resetInter = function () {
                if (!mouseOverStop &amp;&amp; autoPlay &amp;&amp; !playState.hasClass("pauseState")) {
                    clearInterval(inter);
                    setInter();
                }
            }; /* ä¿®å¤ mouseOverStop å’Œ autoPlayå‡ä¸ºfalseä¸‹ï¼Œç‚¹å‡»åˆ‡æ¢æŒ‰é’®åŽä¼šè‡ªåŠ¨æ’­æ”¾bug */
            // å‰åŽæŒ‰é’®å‡½æ•°
            var nextFun = function () {
                if (pnLoop || index != navObjSize - 1) {
                    index++;
                    doPlay();
                    if (!isMarq) {
                        resetInter();
                    }
                }
            };
            var prevFun = function () {
                if (pnLoop || index != 0) {
                    index--;
                    doPlay();
                    if (!isMarq) {
                        resetInter();
                    }
                }
            };
            //å¤„ç†playState
            var playStateFun = function () {
                autoPlay=true;
                clearInterval(inter);
                playState.removeClass("pauseState");
                isMarq ? setMarInter() : setInter();
            };
            var pauseStateFun = function () {
                autoPlay=false;
                clearInterval(inter);
                playState.addClass("pauseState");
            };

            //åˆå§‹åŒ–è‡ªåŠ¨æ’­æ”¾
            var setAutoPlay = function(){
                if (autoPlay) {
                    if (isMarq) {
                        opp ? index-- : index++;
                        setMarInter();
                        if (mouseOverStop) {
                            conBox.hover(pauseStateFun, playStateFun);
                        }
                    } else {
                        setInter();
                        if (mouseOverStop) {
                            slider.hover(pauseStateFun, playStateFun);
                        }
                    }
                } else {
                    if (isMarq) {
                        opp ? index-- : index++;
                    }
                    playState.addClass("pauseState");
                }
            }
            setAutoPlay();

            //ç»‘å®šäº‹ä»¶
            var setTrigger = function () {
                playState.click(function () { playState.hasClass("pauseState") ? playStateFun() : pauseStateFun() });

                titCellEvent(navObj);
                //å‰åŽæŒ‰é’®äº‹ä»¶
                if (isMarq) {
                    nextBtn.mousedown(nextFun);
                    prevBtn.mousedown(prevFun);
                    //å‰åŽæŒ‰é’®é•¿æŒ‰10å€åŠ&nbsp;é€Ÿ
                    if (pnLoop) {
                       
                        var marDown = function () {
                            pnST = setTimeout(function () {
                                clearInterval(inter);
                                setMarInter(interTime / 10 ^ 0)
                            }, 150)
                        };
                        var marUp = function () {
                            clearTimeout(pnST);
                            clearInterval(inter);
                            setMarInter()
                        };
                        nextBtn.mousedown(marDown);
                        nextBtn.mouseup(marUp);
                        prevBtn.mousedown(marDown);
                        prevBtn.mouseup(marUp);
                    }
                    //å‰åŽæŒ‰é’®mouseoveräº‹ä»¶
                    if (opts.trigger == "mouseover") {
                        nextBtn.hover(nextFun, function () {});
                        prevBtn.hover(prevFun, function () {});
                    }
                } else {
                    nextBtn.click(nextFun);
                    prevBtn.click(prevFun);
                }

                //è§¦æ‘¸äº‹ä»¶
                if( canTouch ){
                    conBox.on(touchStart, function (e) {

                        conBox.stop(1, 1);
                        clearInterval(inter);
                        conBox.find("a").click(function (e) { e.preventDefault() });

                        e = supportTouch ? e.originalEvent.targetTouches[0] : (e || window.event);

                        var distX,
                            distY,
                            oX,
                            oY,
                            oL,
                            oT;
                        var _this = $(this);
                        oL = this.offsetLeft;
                        oT = this.offsetTop;
                        oX = e.pageX;
                        oY = e.pageY;
                        var scrollY = false;

                        $(this).on(touchMove, function (ev) {

                            e = supportTouch ? ev.originalEvent.targetTouches[0] : (ev || window.event);
                            distX = e.pageX - oX;
                            distY = e.pageY - oY;

                            scrollY = Math.abs(distX) &lt; Math.abs(distY)?true:false;

                            if (!scrollY &amp;&amp; isLeftEffectForTouch ) {
                                ev.preventDefault();
                                if (effect == "left" &amp;&amp; ((index == 0 &amp;&amp; distX &gt; 0) || (index &gt;= navObjSize - 1 &amp;&amp; distX &lt; 0))) {
                                    distX = distX * 0.4
                                }
                                if(effect != "fade" &amp;&amp; effect != "fold"){
                                    _this.css({ "left": oL + distX + "px" });
                                }
                            }else if( scrollY &amp;&amp; isTopEffectForTouch ){

                                ev.preventDefault();
                                if (effect == "top" &amp;&amp; ((index == 0 &amp;&amp; distY &gt; 0) || (index &gt;= navObjSize - 1 &amp;&amp; distY &lt; 0))) {
                                    distY = distY * 0.4
                                }
                                if(effect != "fade" &amp;&amp; effect != "fold"){
                                    _this.css({ "top": oT + distY + "px" });
                                }
                            }

                        });

                        $(this).on(touchEnd, function (e) {

                            if (!distX) {
                                conBox.find("a").off("click")
                            }else if (!scrollY &amp;&amp; isLeftEffectForTouch ) {
                                if (Math.abs(distX) &gt; slideW / 10) {
                                    distX &gt; 0 ? index-- : index++;
                                    if (effect == "left") {
                                        index = index &lt; 0 ? 0 : index;
                                        index = index &gt;= navObjSize ? navObjSize - 1 : index;
                                    }
                                }
                                doPlay(true);
                            }else if( scrollY &amp;&amp; isTopEffectForTouch ){
                                if (Math.abs(distY) &gt; slideH / 10) {
                                    distY &gt; 0 ? index-- : index++;
                                    if (effect == "top") {
                                        index = index &lt; 0 ? 0 : index;
                                        index = index &gt;= navObjSize ? navObjSize - 1 : index;
                                    }
                                }
                                doPlay(true);
                            }

                            clearInterval(inter);
                            playState.removeClass("pauseState");
                            if(autoPlay){ isMarq ? setMarInter() : setInter(); }

                            conBox.off(touchMove);
                            conBox.off(touchEnd);

                        });

                    });
                }

            };
            setTrigger();

            // ä¸ºæ£€æµ‹è®¾å¤‡å°ºå¯¸å˜åŒ–ï¼Œæ¸…é™¤ä¸€äº›é™„åŠ&nbsp;æ&nbsp;·è‰²å’Œå…ƒç´&nbsp;
            var clear = function () {
                conBox.stop(true, true);
                if (conBox.parent().hasClass("tempWrap")) {
                    conBox.unwrap("tempWrap")
                };
                conBox.find(".clone").remove();
                if(isLeftEffect){
                    conBox.children().css({ "width": "", "float": "" });
                    conBox.css({ "width": "", "left": 0 });
                }else if(isTopEffect){
                    conBox.children().css({ "height": "" });
                    conBox.css({ "height": "", "top": 0 });
                }
            };

            //æ£€æµ‹è®¾å¤‡å°ºå¯¸å˜åŒ–
            var setResponsive = function(){
                if (opts.responsive) {
                    var _vis;
                    var _conBoxParWidth;
                    var _conBoxParHeight;
                    var orientationChange = function () {
                        responsiveCallBack();
                        _conBoxParWidth = conBox.parent().width();
                        _conBoxParHeight = conBox.parent().height();

                        if ( isLeftEffect &amp;&amp; _conBoxParWidth != conBoxParWidth) { //å¤–å±‚å®½åº¦æœ‰å˜åŒ–æ‰æ‰§è¡Œ
                            conBoxParWidth = _conBoxParWidth;

                            //å¤„ç†sLoad
                            /*
                            _vis = parseInt( conBox.parent().width() / slideW );
                            vis = _vis;
                            if( opts.scroll=="auto" ){ scroll = vis }*/

                            clear();
                            setInit();
                            doPlay(true);
                        }
                        else if ( isTopEffect &amp;&amp; _conBoxParHeight != conBoxParHeight) { //å¤–å±‚é«˜åº¦æœ‰å˜åŒ–æ‰æ‰§è¡Œ
                            conBoxParHeight = _conBoxParHeight;
                            clear();
                            setInit();
                            doPlay(true);
                        }
                    };
                    $(win).resize(function () {
                        if (resizeST) {
                            clearTimeout(resizeST);
                        }
                        resizeST = setTimeout(orientationChange, opts.responsiveFunTime);
                    });
                }
            }
            setResponsive();

            /*-- å¤–ç½®API --*/
            //æ¸…é™¤æ‰€æœ‰é™„åŠ&nbsp;å…ƒç´&nbsp;å’Œæ&nbsp;·è‰²
            this.clearStyle = function () {
                if (conBox.parent().hasClass("tempWrap")) {
                    conBox.unwrap("tempWrap")
                };
                conBox.find(".clone").remove();
                conBox.children().removeAttr("style");
                conBox.removeAttr("style");
            };

            //é”€æ¯setIntervalå’ŒsetTimeout
            this.destroyInter = function () {
                clearInterval(inter);
                clearTimeout(rtnST);
                clearTimeout(titST);
                clearTimeout(pnST);
                //clearTimeout(resizeST);
            };

            //é”€æ¯äº‹ä»¶ç»‘å®š
            this.destroyEvents = function () {
                nextBtn.off();
                prevBtn.off();
                conBox.off();
                slider.off();
                navObj.off();
                //$(win).off();
            };

            //é”€æ¯æ’ä»¶
            this.destroy = function () {
                this.destroyEvents();
                this.destroyInter();
                this.clearStyle();
            };

            //åˆ·æ–°
            this.refresh = function () {
                this.destroy();
                setInit();
                setTrigger();
                doPlay(true);
                setAutoPlay();
            };

            //é‡ç½®ï¼ˆå¾…å®Œå–„ï¼‰
            this.reset = function () {
                index = parseInt(opts.defaultIndex);
                scroll = isNaN(opts.scroll) ? "auto" : parseInt(opts.scroll);
                vis = isNaN(opts.vis) ? "auto" : parseInt(opts.vis);
                autoPlay = (opts.autoPlay == "false" || opts.autoPlay == false) ? false : true;
                navObjSize = navObj.length;
                conBoxSize = conBox.children().length;
                this.refresh();
            };

            //èŽ·å–å½“å‰ç´¢å¼•/é¡µç&nbsp;
            this.getIndex = function () { return index };
            //èŽ·å–æ€»é¡µæ•°
            this.getPages = function(){ return navObjSize };

            //æš‚åœ
            this.pause = function () { pauseStateFun() };
            this.play = function () { playStateFun() };
            this.prev = function () { prevFun() };
            this.next = function () { nextFun() };
            this.goTo = function (i) {
                resetInter();
                if (pnLoop || i != navObjSize ) {
                    index = i;
                    doPlay();
                }
            };
        }; //createObj End

        this.each(function () {
            var o = new createObj($.extend({}, $.fn.slide.defaults, options), $(this));
            ary.push(o);
        }); //each End

        return ary;

    }; //slide End

})(jQuery, window);

jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend(jQuery.easing,
{
    def: 'easeOutQuad',
    swing: function (x, t, b, c, d) { return jQuery.easing[jQuery.easing.def](x, t, b, c, d); },
    easeInQuad: function (x, t, b, c, d) { return c * (t /= d) * t + b; },
    easeOutQuad: function (x, t, b, c, d) { return -c * (t /= d) * (t - 2) + b },
    easeInOutQuad: function (x, t, b, c, d) {
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * t * t + b;
        }
        return -c / 2 * ((--t) * (t - 2) - 1) + b
    },
    easeInCubic: function (x, t, b, c, d) { return c * (t /= d) * t * t + b },
    easeOutCubic: function (x, t, b, c, d) { return c * ((t = t / d - 1) * t * t + 1) + b },
    easeInOutCubic: function (x, t, b, c, d) {
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * t * t * t + b;
        }
        return c / 2 * ((t -= 2) * t * t + 2) + b
    },
    easeInQuart: function (x, t, b, c, d) { return c * (t /= d) * t * t * t + b },
    easeOutQuart: function (x, t, b, c, d) { return -c * ((t = t / d - 1) * t * t * t - 1) + b },
    easeInOutQuart: function (x, t, b, c, d) {
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * t * t * t * t + b;
        }
        return -c / 2 * ((t -= 2) * t * t * t - 2) + b
    },
    easeInQuint: function (x, t, b, c, d) { return c * (t /= d) * t * t * t * t + b },
    easeOutQuint: function (x, t, b, c, d) { return c * ((t = t / d - 1) * t * t * t * t + 1) + b },
    easeInOutQuint: function (x, t, b, c, d) {
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * t * t * t * t * t + b;
        }
        return c / 2 * ((t -= 2) * t * t * t * t + 2) + b
    },
    easeInSine: function (x, t, b, c, d) { return -c * Math.cos(t / d * (Math.PI / 2)) + c + b },
    easeOutSine: function (x, t, b, c, d) { return c * Math.sin(t / d * (Math.PI / 2)) + b },
    easeInOutSine: function (x, t, b, c, d) { return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b },
    easeInExpo: function (x, t, b, c, d) { return (t == 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b },
    easeOutExpo: function (x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b },
    easeInOutExpo: function (x, t, b, c, d) {
        if (t == 0) {
            return b;
        }
        if (t == d) {
            return b + c;
        }
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
        }
        return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b
    },
    easeInCirc: function (x, t, b, c, d) { return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b },
    easeOutCirc: function (x, t, b, c, d) { return c * Math.sqrt(1 - (t = t / d - 1) * t) + b },
    easeInOutCirc: function (x, t, b, c, d) {
        if ((t /= d / 2) &lt; 1) {
            return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
        }
        return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b
    },
    easeInElastic: function (x, t, b, c, d) {
        var s = 1.70158;
        var p = 0;
        var a = c;
        if (t == 0) {
            return b;
        }
        if ((t /= d) == 1) {
            return b + c;
        }
        if (!p) {
            p = d * .3;
        }
        if (a &lt; Math.abs(c)) {
            a = c;
            var s = p / 4;
        } else {
            var s = p / (2 * Math.PI) * Math.asin(c / a);
        }
        return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b
    },
    easeOutElastic: function (x, t, b, c, d) {
        var s = 1.70158;
        var p = 0;
        var a = c;
        if (t == 0) {
            return b;
        }
        if ((t /= d) == 1) {
            return b + c;
        }
        if (!p) {
            p = d * .3;
        }
        if (a &lt; Math.abs(c)) {
            a = c;
            var s = p / 4;
        } else {
            var s = p / (2 * Math.PI) * Math.asin(c / a);
        }
        return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b
    },
    easeInOutElastic: function (x, t, b, c, d) {
        var s = 1.70158;
        var p = 0;
        var a = c;
        if (t == 0) {
            return b;
        }
        if ((t /= d / 2) == 2) {
            return b + c;
        }
        if (!p) {
            p = d * (.3 * 1.5);
        }
        if (a &lt; Math.abs(c)) {
            a = c;
            var s = p / 4;
        } else {
            var s = p / (2 * Math.PI) * Math.asin(c / a);
        }
        if (t &lt; 1) {
            return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
        }
        return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b
    },
    easeInBack: function (x, t, b, c, d, s) {
        if (s == undefined) {
            s = 1.70158;
        }
        return c * (t /= d) * t * ((s + 1) * t - s) + b
    },
    easeOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) {
            s = 1.70158;
        }
        return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b
    },
    easeInOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) {
            s = 1.70158;
        }
        if ((t /= d / 2) &lt; 1) {
            return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
        }
        return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b
    },
    easeInBounce: function (x, t, b, c, d) { return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b },
    easeOutBounce: function (x, t, b, c, d) {
        if ((t /= d) &lt; (1 / 2.75)) {
            return c * (7.5625 * t * t) + b;
        } else if (t &lt; (2 / 2.75)) {
            return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
        } else if (t &lt; (2.5 / 2.75)) {
            return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
        } else {
            return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
        }
    },
    easeInOutBounce: function (x, t, b, c, d) {
        if (t &lt; d / 2) {
            return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * .5 + b;
        }
        return jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * .5 + c * .5 + b;
    }
});</pre></body></html>