我正在尝试在我的网站上使用nicescroll,并且该网站在除隐藏div的一页之外的所有地方都可以使用。基本上,我有一个链接,当单击该链接时,会显示以前在页面上隐藏的某些内容。问题-单击链接并显示内容后,它溢出并且不可见并且无法滚动。 Nicescroll由于某些原因无法正常工作。

两者都可以在页面上单独工作-意思是-如果我取出nicescroll代码并保留show / hide div代码,则可以单击链接,页面将变长,并且将出现一个常规滚动条,并且我可以滚动向下到内容的底部。
相反,如果我取出显示/隐藏代码(仅使内容显示在页面加载时)并保留nicescroll代码,则该页面将加载为长页面,并且nicescroll条将显示并正常工作。

我只是不能让他们一起工作。我认为这与页面第一次加载时以及最初调用nicescroll时不需要滚动的页面有关,因此它只是说“我不需要为此页面工作”,然后放弃。因此,我尝试复制看起来像“ nicescroll启动代码”的内容

<script>
  $(document).ready(function() {
    $("#right").niceScroll();
  });
</script>


进入单击“显示/隐藏”链接时调用的函数,希望可以“重新启动”该函数,但该函数也不起作用。

显示/隐藏功能如下所示:

function showHide(shID) {
    if (document.getElementById(shID)) {
        if (document.getElementById(shID+'-show').style.display != 'none') {
            document.getElementById(shID+'-show').style.display = 'none';
            document.getElementById(shID).style.display = 'block';
        }
        else {
            document.getElementById(shID+'-show').style.display = 'inline';
            document.getElementById(shID).style.display = 'none';
        }
    }
}


页面的实际div部分如下所示:

 <a href="#" id="example-show" class="showLink" onclick="showHide('example');return false;">-Show Stuff</a>
                <div id="example" class="more">
                    <p>
                    "Stuff here"
                    </p>
                    <p><a href="#" id="example-hide" class="hideLink"
                    onclick="showHide('example');return false;">-Hide Stuff-</a></p>
                </div>


一切都用id =“ right”包裹在div中,这就是为什么nicescroll脚本将其应用于#right(同样,当我没有显示/隐藏功能时,它也可以正常工作。)

有任何想法吗?

最佳答案

我不知道这是正确的解决方案,但是在我的div出现并调用method之后,它可以正常工作:

$("#myHiddenDiv").getNiceScroll().onResize();

10-04 15:25