首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery mCustomScrollbar更新错误

jQuery mCustomScrollbar更新错误
EN

Stack Overflow用户
提问于 2014-01-01 17:00:33
回答 1查看 3.2K关注 0票数 2

问题是:我使用的是mCustomScrollbar和一个div,其中的数据是从另一个html文件中加载的。

Javascript:

代码语言:javascript
复制
function updateScrollbar()
{
    $("#frame_holder").mCustomScrollbar('update');
}

function loader(name)
{
    //loads the selected file into div.

    var loading = "./rosliny/"+name+".html";
    $("#frame_holder").load(loading, function () 
    { 
        //enable scrollbar
        $("#frame_holder").mCustomScrollbar();
    }); 
}

index.html文件:

代码语言:javascript
复制
<div id="frame_holder" class="frame_holder"> </div>
<div id="menu_rosliny"><h1>Roślinność</h1>
    <p style="font-family:segoe_ui; font-size:13px; color:white;"> Ogólna charakterystyka</p>
    <p><h1>Drzewa</h1></p>
    <ol style=" cursor:pointer; font-size:13px; color:white; font-family:segoe_ui; text-align:left; paddin:0px; margin:10px; position:relative; top:-10px;">
        <li onclick="loader('brzoza');updateScrollbar();">Brzoza</li>
        <li onclick="loader('buk');updateScrollbar();">Buk</li>
        <li onclick="loader('daglezja');updateScrollbar();">Daglezja</li>
        <li onclick="loader('dab');updateScrollbar();">Dąb</li>
        <li onclick="loader('jodla');updateScrollbar();">Jodła</li>
        <li onclick="loader('klon');updateScrollbar();">Klon</li>
        <li onclick="loader('lipa');updateScrollbar();">Lipa</li>
        <li onclick="loader('modrzew');updateScrollbar();">Modrzew</li>
        <li onclick="loader('sosna');updateScrollbar();">Sosna</li>
        <li onclick="loader('swierk');updateScrollbar();">Świerk</li>
        <li onclick="loader('wiaz');updateScrollbar();">Wiąz</li>
    </ol>

要加载的Html站点:

代码语言:javascript
复制
<div class="container">
    <div class="content">
        <h2>Modrzew europejski <em>(Larix decidua Mill.)</em></h2>
        <p class="rosliny_opis"></p>
        <h2>Ciekawostki</h2>
        <p class="rosliny_opis"></p>
        <p class="rosliny_opis"></p>
        <img id="obr_rosl" src="./images/rosliny/modrzew.png"/>
        <!-- end .content -->
    </div>
  <!-- end .container -->
</div> <br/>

当我单击li元素时,包含文本和图像的网页应该加载到#frame_holder div中。这是正确的。但在此之后,应该会发生滚动条更新。这是不可能的。我只能再次单击相同的li元素,然后mCustomScrollbar重新计算并正常工作。,在第一次点击之后,我该怎么做才能使这段代码正常工作呢?请帮助我,因为我的想法已经用完了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-01 18:31:06

似乎是在每个加载程序之后多次调用mCustomScrollbar()而不销毁它,并再次调用更新。

理想情况下,您应该在显示模式之后调用mCustomScrollbar()一次,即单击页面底部的Roślinność。然后加载器函数后退应该有更新方法。

首先摆脱这个函数:updateScrollbar();

第二,在Roślinność单击:$("#frame_holder").mCustomScrollbar();之后调用它

第三,更新加载程序函数中的滚动条:编辑:在frame_holder生成的容器(.mCSB_container)中加载

代码语言:javascript
复制
function loader(name)
{
    //loads the selected file into div.

    var loading = "./rosliny/"+name+".html";
    $("#frame_holder .mCSB_container").load(loading, function () 
    { 
        //enable scrollbar
        $("#frame_holder").mCustomScrollbar('update');
    }); 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20870955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档