问题是:我使用的是mCustomScrollbar和一个div,其中的数据是从另一个html文件中加载的。
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文件:
<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站点:
<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重新计算并正常工作。,在第一次点击之后,我该怎么做才能使这段代码正常工作呢?请帮助我,因为我的想法已经用完了。
发布于 2014-01-01 18:31:06
似乎是在每个加载程序之后多次调用mCustomScrollbar()而不销毁它,并再次调用更新。
理想情况下,您应该在显示模式之后调用mCustomScrollbar()一次,即单击页面底部的Roślinność。然后加载器函数后退应该有更新方法。
首先摆脱这个函数:updateScrollbar();
第二,在Roślinność单击:$("#frame_holder").mCustomScrollbar();之后调用它
第三,更新加载程序函数中的滚动条:编辑:在frame_holder生成的容器(.mCSB_container)中加载。
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');
});
}https://stackoverflow.com/questions/20870955
复制相似问题