我正在构建一个网站,上面有相当多的 ajax,我似乎在让 jScrollPane 为我工作时遇到了一些障碍。
这可能很难写下来。
我有一个主页,在它的底部我有一个 div,我用它来写我所有的叠加层或“lightbxes”。例如
<body>
<a href="#" onclick="$('#popup').load('some-url.php');return false;">content etc</a>
<div id="popup"></div>
</body>
然后在一个这样的覆盖(some-url.php)中我有更多的内容,然后我有更多的 div 使用 ajax 填充。
一些 url.php
<body>
<div id="left"></div>
<div id="right"></div>
<script>
$('#left').load('another-url.php');
</script>
</body>
现在让我们说 div id="left" 我想要一个 jScrollPane 滚动条,但它是通过 ajax 加载的内容。
我尝试的是在“another-url.php”中加载我的所有内容,然后尝试添加滚动窗格。
'另一个 url.php'
<div class="wrapper>
// iterate through my DB and gets lots of content
</div>
<script>
$('#left').jScrollPane();
</script>
这失败了,它说 $('#left').jScrollPane(); 不是一个函数,所以我在加载 div 内容后尝试将它放在第一个叠加层中。
<body>
<div id="left"></div>
<div id="right"></div>
<script>
$('#left').load('another-url.php');
$('#left').jScrollPane();
</script>
</body>
第一次并没有失败,虽然我没有滚动条......但是如果我再次重新加载它,它会再次失败,说 $('#left').jScrollPane(); 不是函数。
所以我查看了文档并尝试使用动态内容示例。
<body>
<div id="left"></div>
<div id="right"></div>
<script>
var api = $('#left').jScrollPane().data('jsp');
('a.some-link').bind(
'click',
function(){
api.getContentPane.load(
'another-url.php',
function(){
api.reinitialise();
}
);
}
);
</script>
</body>
但这一次它又说 $('#left').jScrollPane(); 不是一个函数。此外,当我遇到其中一个错误时,网站上的另一个不是 ajax 的 jScrollPane 也会突然停止工作,直到我重新加载页面,所以很明显 jScrollPane 不知何故和我在一起......
我希望创建图书馆的人可能会在这里闲逛并做出回应。