嗯,封装除了问题,帮看看

 DigsurGallery = {};
DigsurGallery.Rolling = function() {
    this.change = null;
    this.length = 0;
    this.btn2length = 0;
    this.btn1length = 0;
    this.changeA = null;
    this.changeB = null;
}
// 对象下的一个方法
DigsurGallery.Rolling.prototype.FadeInOut = function(name, arr, arr2, HasPaging) {
    // ------------------ Haspaging Start --------------------- //
    var _this = this;
    if(HasPaging == true) {
        var oDiv = $('#' + name);
        var btn1 = $("<input type='button' id='btn1' value='1'>");
        var btn2 = $("<input type='button' id='btn2' value='2'>");
        oDiv.append(btn1);
        oDiv.append(btn2);
        var oUlPageOne = $("<ul id='test1'></ul>");
        var oUlPageTwo = $("<ul id='test2'></ul>");
        oDiv.append(oUlPageOne);
        oDiv.append(oUlPageTwo);
        $("#test2").css({
            "display": "none",
            "position": "relative",
            "width": "100%",
            "height": "100%",
        });
        $("#test1").css({
            "position": "relative",
            "width": "100%",
            "height": "100%",
        });
        oDiv.find('ul').css("height", "100%");
        for(var i = 0; i < arr.length; i++) {
            var oli = $("<li></li>");
            oUlPageOne.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr[i]);
            oli.append(oImg);
        }
        for(var i = 0; i < arr2.length; i++) {
            var oli = $("<li></li>");
            oUlPageTwo.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr2[i]);
            oli.append(oImg);
        }
    } else {
        var oDiv = $('#' + name);
        var oUl = $("<ul></ul>");
        oDiv.append(oUl);
        oDiv.find('ul').css("height", "100%");
        for(var i = 0; i < arr.length; i++) {
            var oli = $("<li></li>");
            oUl.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr[i]);
            oli.append(oImg);
        }
    }

    var lis = oDiv.find('li');
    var Lisimgs = lis.find('img');
    Lisimgs.css({
        "width": "100%",
        "height": "100%",
        "box-shadow": "-5px 6px 11px  #211f1f",
    })
    lis.css({
        "display": "none",
        "width": "100%",
        "height": "100%",
        "position": "absolute",
//      "left": "15%",
//      "top": "15%",
        "float": "left",
    });
    lis.eq(0).css("display", "block");

    // 定时器轮播
    this.change = setInterval(function() {
        this.length++;
        // 判断 个数
        if(this.length == arr.length) {
            this.length = 0;
        }
        // 调用fadeIn、fadeOut方法
        console.log("arr.length为:"+arr.length);
        console.log("this.length为:"+this.length);
        showaa(this.length);
    }.bind(this), 2000);

    function showaa(length) {
        lis.eq(length - 1).fadeOut(1000); //将上一张图片隐藏
        lis.eq(length).fadeIn(2000); //将这张图片出现
    }

    $("#btn1").click(function() {
        clearInterval(_this.change);
        clearInterval(_this.changeB);
        _this.changeA = setInterval(function() {
            _this.btn1length += 1;
            console.log("btn1打印" + _this.btn1length);
        }, 1000);
        console.log("btn1获取当前i值" + _this.btn1length);
    })

    $("#btn2").click(function() {
        clearInterval(_this.change);
        clearInterval(_this.changeA);
        _this.changeB = setInterval(function() {
            _this.btn2length += 1;
            console.log("btn2打印" + _this.btn2length);
        }, 1000);
        console.log("btn2获取当前i值" + _this.btn2length);
    })
}

现在的问题是:
1:当我的Haspage 为true 时,轮播走到arr.length时就不走动了。
2:点击btn的时候,也是不走动,而且,轮播速度加快(console发现的加快)

嗯,谢谢大家,帮我看一下,谢谢谢谢。我对封装这一块很是迷茫,补了好几天还是不太会,帮我看看怎么写,教我一下,不胜感激。

你每次点击的时候 都会加快计时器的循环速度 开启计时器一般都在前方加个清除计时器方法,以免遇到楼主遇到的问题,
还有“定时轮播中”的this 你应该用错了,这应该是直接导致无法循环的原因。
至于 Lis “图片集合”你可以在showaa方法中打印一下 console.log(lis.eq(length - 1))是否是存在的

以上应该是能帮助你解决现在的问题的。不懂继续交流哈

是在for循环时出错的吗?那就输出日志看看循环到哪一步不动了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>封装函数</title>
    </head>
    <style>
        *{margin: 0;padding: 0;}
        li{list-style: none;}
        .FadeInShuffling{width: 100%;margin: 0 auto;border: 1px solid black;height:200px;position: relative;}

    </style>
    <body>
        <div id="page1" class="page FadeInShuffling"></div>

    </body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">

DigsurGallery = {};
DigsurGallery.Rolling = function() {
    this.change = null;
    this.length = 0;
    this.btn2length = 0;
    this.changeB = null;
}
// 对象下的一个方法
DigsurGallery.Rolling.prototype.FadeInOut = function(name, arr, arr2, HasPaging) {
    var _this = this;
    if(HasPaging == true) {
        var oDiv = $('#' + name);
        var btn1 = $("<input type='button' id='btn1' value='1'>");
        var btn2 = $("<input type='button' id='btn2' value='2'>");
        oDiv.append(btn1);
        oDiv.append(btn2);
        var oUlPageOne = $("<ul id='test1'></ul>");
        var oUlPageTwo = $("<ul id='test2'></ul>");
        oDiv.append(oUlPageOne);
        oDiv.append(oUlPageTwo);
        $("#test2").css({
            "display": "none",
            "position": "relative",
            "margin": "0 auto",
            "width": "100%",
            "height": "100%",
        });
        $("#test1").css({
            "position": "relative",
            "margin": "0 auto",
            "width": "100%",
            "height": "100%",
        });
        oDiv.find('ul').css("height", "100%");
        for(var i = 0; i < arr.length; i++) {
            var oli = $("<li></li>");
            oUlPageOne.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr[i]);
            oli.append(oImg);
        }
        for(var i = 0; i < arr2.length; i++) {
            var oli = $("<li></li>");
            oUlPageTwo.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr2[i]);
            oli.append(oImg);
        }
    } else {
        var oDiv = $('#' + name);
        var oUl = $("<ul></ul>");
        oDiv.append(oUl);
        oDiv.find('ul').css("height", "100%");
        for(var i = 0; i < arr.length; i++) {
            var oli = $("<li></li>");
            oUl.append(oli);
            var oImg = $("<img />")
            $(oImg).attr('src', arr[i]);
            oli.append(oImg);
        }
    }

    var lis = oDiv.find('li');
    var Lisimgs = lis.find('img');
    Lisimgs.css({
        "width": "100%",
        "height": "100%",
        "box-shadow": "-5px 6px 11px  #211f1f",
    })
    lis.css({
        "display": "none",
        "width": "70%",
        "height": "70%",
        "position": "absolute",
        "left": "15%",
        "top": "15%",
        "float": "left",
    });
    $("#test1 li").eq(0).css("display", "block");
    $("#test2 li").eq(0).css("display", "block");
    // 定时器轮播
    function Testmove() {
        console.log(_this);
        _this.change = setInterval(function() {
            _this.length++;
            // 判断 个数
            if(_this.length == arr.length) {
                _this.length = 0;
            }
            console.log(_this.length);
            showaa(_this.length, 'test1');
        }, 2000);
    }
    Testmove();

    $("#btn1").click(function() {
        console.log(_this.length);
        $("#test2").toggle();
        $("#test1").toggle();
        clearInterval(_this.changeB);

        Testmove();
    })

    $("#btn2").click(function() {
        $("#test1").toggle();
        $("#test2").toggle();
        clearInterval(_this.change);
        _this.changeB = setInterval(function() {
            _this.btn2length += 1;
            if(_this.btn2length == arr2.length) {
                _this.btn2length = 0;
            }
            showaa(_this.btn2length, 'test2');
        }, 2000);
    })

    function showaa(length, id) {
        $("#" + id + " li").eq(length - 1).fadeOut(1000); //将上一张图片隐藏
        $("#" + id + " li").eq(length).fadeIn(2000); //将这张图片出现
    }
    var FadeIn1 = new DigsurGallery.Rolling();
    var arr = ["Image/1.jpg", "Image/2.jpg", "Image/3.jpg", "Image/4.jpg", "Image/5.jpg", "Image/6.jpg", "Image/7.jpg"];
    var arr2 = ["Image/7.jpg", "Image/6.jpg", "Image/5.jpg", "Image/4.jpg", "Image/3.jpg", "Image/2.jpg", "Image/1.jpg"];
    FadeIn1.FadeInOut('page1',arr,arr2,true);
}
 </script>