Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 始终显示滚动导轨_Javascript_Jquery_Jquery Plugins_Nicescroll - Fatal编程技术网

Javascript 始终显示滚动导轨

Javascript 始终显示滚动导轨,javascript,jquery,jquery-plugins,nicescroll,Javascript,Jquery,Jquery Plugins,Nicescroll,我正在使用jQuery插件替换溢出的中的常见浏览器滚动条。该插件运行良好,但我无法使其正常工作并始终显示滚动条(即使内容未超过边界)。我的最终配置是: $(document).ready(function () { $(".div-wrapper").niceScroll({ cursorcolor: "#333", cursoropacitymin: 0.3, background: "#

我正在使用jQuery插件替换溢出的
中的常见浏览器滚动条。该插件运行良好,但我无法使其正常工作并始终显示滚动条(即使内容未超过
边界)。我的最终配置是:

$(document).ready(function () {
    $(".div-wrapper").niceScroll({
        cursorcolor: "#333",
        cursoropacitymin: 0.3,
        background: "#bbb",
        cursorborder: "0",
        autohidemode: false,
        cursorminheight: 30
    });
};
我已尝试启动
$(“.div wrapper”).getnicesroll().show()
,但它似乎也不起作用


任何帮助都将不胜感激,谢谢

我假设如果内容没有溢出边界框,niceScroll不会做任何事情,这可能是您的问题。请记住,niceScroll不是>$overflow:scroll;。。。如果不深入研究插件本身,我无法确定,但我会假设它有一个内置的检查来测试内容是否需要滚动,如果不需要,则函数会自动退出

首先,你的结尾缺少一个括号-这可能是你的问题吗

将autohidemode设置为false仅意味着当用户停止滚动时,它不会消失,然后在滚动时再次出现。不幸的是,如果内容没有溢出,这并不意味着它是可见的

作为一种解决方法,您可以尝试在调用.nicesroll()后,使用如下方法使id=ascrail2000的元素显式可见:

$(document).ready(function () {
    $(".div-wrapper").niceScroll({
        cursorcolor: "#333",
        cursoropacitymin: 0.3,
        background: "#bbb",
        cursorborder: "0",
        autohidemode: false,
        cursorminheight: 30
    });
    $('#ascrail2000').show();
});
查看最后一行中缺少的参数

您可能还需要使其子元素可见:

    $('#ascrail2000 *').show();
(在您的情况下,请确保元素的id为ascrail2000。)

更新:正如veritas所指出的,使用更通用的选择器
div[id^='ascrail']
而不是
#ascrail2000
可以在一个页面上运行多个nicescroll,因此可以使用JavaScript完成上述操作:

    $("div[id^='ascrail']").show();
或在CSS中:

    div[id^='ascrail'] { display: block; }
或者,如果上述方法不起作用:

    div[id^='ascrail'] { display: block !important; }

这不是最优雅的解决方案,但我担心这是目前解决此问题的唯一方法,因为nicescroll插件没有选择该行为的选项。幸运的是,nicescroll是开源的,因此人们可以很容易地将其分叉并添加这样的选项或在GitHub上。

我通过谷歌搜索看到这个答案,即使它是旧的,如果有人看到这个正在寻找答案,这是我的工作解决方案:

$(".div-wrapper").niceScroll({
    cursorcolor: "#333",
    cursoropacitymin: 0.3,
    background: "#bbb",
    cursorborder: "0",
    autohidemode: false,
    cursorminheight: 30
});
        $('#ascrail2000.nicescroll-rails').show();
        $('#ascrail2000.nicescroll-rails div').height('300px').show();
我需要为“bar”div设置任意高度,因为默认情况下它的高度为:0px,即使显示它,也看不到任何东西。
我想我们可以更好地使用windows尺寸计算一个好的高度,但我不需要:)

现在2018年2月7日和工作版本jquery.nicesroll v3.7.6

在添加了
autohidemode:false之后,它对我来说运行良好

$("#example").niceScroll({
   autohidemode: false       // it make nicescroll scroll bar visible all time
});

该插件正在DOM中创建scroll
divs
,并将其值设置为
display:none确实有效。谢谢,但我的问题有误:/i我不能在javascript(或CSS)中设置硬编码的
#ascrail…
值,因为我可以在页面上滚动
n
。但是
+1
的努力和部分好答案。CSS选择器
div[id^='ascrail']{display:block;}
是解决此问题的CSS解决方案,但我更喜欢其他解决方案。@veritas:恐怕目前没有更好的解决方案,但您可以随时发布功能请求以使其更简单-请参阅我的更新答案。我需要始终显示滚动条。现在它只显示在鼠标上方。任何人都可以帮我。