1

我最近开始在一个小项目上尝试使用 jQuery mobile 并遇到了问题。我是使用这个框架的新手,非常感谢您提供的任何建议

导致问题的脚本是自定义滚动条 http://manos.malihu.gr/jquery-custom-content-scroller/

这个想法是,当单击菜单项时,它会触发包含自定义滚动条的面板中的幻灯片。问题是当我第一次加载网站时,滚动条显示正常。如果我然后导航到另一个页面并返回到第一页,滚动条似乎已经重复。如果我再次重复该过程,那么它会出现第三次和第四次。

这个问题似乎只发生在使用 AJAX 加载的桌面上。它只在它发生的“第一”页上。理想情况下,如果可以的话,我想保持 AJAX 加载,但这似乎是问题的根源,因为在链接上使用 rel=""external" 似乎可以解决问题。显然,这会强制页面重新加载,我想这样做尽可能避免

<!DOCTYPE html>
<html>
<head>

//containing Jquery mobile js and css as well as bootstrap and a few smaller extras

</head>   

<body>

<div data-role="page" class="padded-bottom" id="member-page">

//slide in panels are included here

<div data-role="header" class="top-bar">

//contains the menu

</div><!-- /header -->

<section data-role="content" class="mid" style="height:auto;">

//page content

</section>

//footer content

<script>

$(".content-scrollbar").mCustomScrollbar({
advanced:{updateOnContentResize:true}
}); 

</script>

//other minor footer scripts

</div><!-- page -->

</body>
</html>`

这是我的“第一页”的基本布局。然而,该网站上的后续页面布局几乎完全相同,这就是我认为我可能出错的地方。当我离开“第一”页并返回那里时,加载微调器不再显示,假设该页面可能已以某种方式缓存,我不确定,但这就是问题发生的时候。

抱歉,如果我漫无边际,但我真的很感激对此的一些建议,它让我发疯,我很想绕过它。谢谢

4

1 回答 1

0

请试试 :

$(".content-scrollbar").mCustomScrollbar("update"); 

在ajax之后更新ui

也许

$(".content-scrollbar").mCustomScrollbar("destroy");

在初始化插件之前

我希望我能帮上忙

编辑 1

if($(".mCustomScrollbar").length > 0){
    $(".content-scrollbar").mCustomScrollbar("destroy");
}


$(".content-scrollbar").mCustomScrollbar({
    advanced:{updateOnContentResize:true}
}); 
于 2013-11-02T14:15:26.850 回答