使用滚动条

时间:2016-11-27 11:47:46

标签: javascript jquery html css

我从http://manos.malihu.gr/jquery-custom-content-scroller/

安装了插件

我想使用自定义滚动条从左到右进行水平自动滚动以管理位置。这个插件适合我,但我不能让他从左到右自动滚动。 我已经完成了这个代码,但它有点像错误

        var content=$("#content-1"),autoScrollTimer=2000,autoScrollTimerAdjust,autoScroll;

    content.mCustomScrollbar({
        axis:"x",
        scrollButtons:{enable:true},
        callbacks:{
            whileScrolling:function(){
                autoScrollTimerAdjust=autoScrollTimer*this.mcs.leftPct/100;
            },
            onScroll:function(){
                if($(this).data("mCS").trigger==="internal"){AutoScrollOff();}
            }
        }
    });

    content.addClass("auto-scrolling-on auto-scrolling-to-right");
    AutoScrollOn("right");

    $(".auto-scrolling-toggle").click(function(e){
        e.preventDefault();
        if(content.hasClass("auto-scrolling-on")){
            AutoScrollOff();
        }else{
            if(content.hasClass("auto-scrolling-to-top")){
                AutoScrollOn("left",autoScrollTimerAdjust);
            }else{
                AutoScrollOn("right",autoScrollTimer-autoScrollTimerAdjust);
            }
        }
    });

    function AutoScrollOn(to,timer){
        if(!timer){timer=autoScrollTimer;}
        content.addClass("auto-scrolling-on").mCustomScrollbar("scrollTo",to,{scrollInertia:timer,scrollEasing:"linear"});
        autoScroll=setTimeout(function(){
            if(content.hasClass("auto-scrolling-to-top")){
                AutoScrollOn("right",autoScrollTimer-autoScrollTimerAdjust);
                content.removeClass("auto-scrolling-to-left").addClass("auto-scrolling-to-right");
            }else{
                AutoScrollOn("left",autoScrollTimerAdjust);
                content.removeClass("auto-scrolling-to-right").addClass("auto-scrolling-to-left");
            }
        },timer);
    }

    function AutoScrollOff(){
        clearTimeout(autoScroll);
        content.removeClass("auto-scrolling-on").mCustomScrollbar("stop");
    }

2 个答案:

答案 0 :(得分:0)

你需要的只是一个简单的css规则ReportProgress,不需要一些外部插件,

向我们展示你的html代码和css样式表,你需要为容器div设置这个规则。

答案 1 :(得分:0)

我做到了。 如果有人可能有类似的问题,我的解决方案是:

(function($){
$(window).on("load",function(){
    var content=$("#content-1"),autoScrollTimer=100000,autoScrollTimerAdjust,autoScroll;
    content.mCustomScrollbar({
        axis:'x',
        theme:'rounded-dark',
        scrollButtons:{enable:true},
        mouseWheel:{enable:false},
        callbacks:{
            whileScrolling:function(){
                autoScrollTimerAdjust=autoScrollTimer*this.mcs.rightPct/100;
            },
            onScroll:function(){
                if($(this).data("mCS").trigger==="internal"){AutoScrollOff();}
            }
        }
    });
    content.addClass("auto-scrolling-on auto-scrolling-to-right");
    AutoScrollOn("right");
    content.mouseenter(function(e){
        AutoScrollOff();
        e.preventDefault();
        content.addClass('auto-scrolling-off')
    });
    content.mouseleave(function(){
        if(content.hasClass("auto-scrolling-off")){
            if(content.hasClass("auto-scrolling-to-left")){
                content.addClass('auto-scrolling-on').removeClass('auto-scrolling-off');
                AutoScrollOn("left")
            }else{
                content.addClass('auto-scrolling-on').removeClass('auto-scrolling-off');
                AutoScrollOn("right");
            }
        }
    });
    content.click(function(e){
        e.preventDefault();
        if(content.hasClass("auto-scrolling-on")){
            if(content.hasClass("auto-scrolling-to-left")){
                AutoScrollOff();
                content.mCustomScrollbar("stop");
                AutoScrollOn("left")
            }else{
                AutoScrollOff();
                content.mCustomScrollbar("stop");
                AutoScrollOn("right");
            }
        }
    });

    function AutoScrollOn(to,timer){
        if(!timer){timer=autoScrollTimer;}
        content.addClass("auto-scrolling-on").mCustomScrollbar("scrollTo",to,{scrollInertia:timer,scrollEasing:"linear"});
        autoScroll=setTimeout(function(){
            if(content.hasClass("auto-scrolling-to-left")){
                content.mCustomScrollbar("stop");
                AutoScrollOn("right");
                content.removeClass("auto-scrolling-to-left").addClass("auto-scrolling-to-right");
            }else{
                content.mCustomScrollbar("stop");
                AutoScrollOn("left")
                content.removeClass("auto-scrolling-to-right").addClass("auto-scrolling-to-left");
            }
        },timer);
    }
    function AutoScrollOff(){
        clearTimeout(autoScroll);
        content.removeClass("auto-scrolling-on").mCustomScrollbar("stop");
    }
});

我希望它会有所帮助。