使用 jScrollPane() 时 Div 不显示

发布于 2024-12-01 08:21:06 字数 533 浏览 2 评论 0原文

这应该非常简单,但是就这样。我有一个简单的 div 容器,由 Twitter feed (jTweetsAnywhere) 填充:

<div id='twitter-feed'></div>

此功能运行良好,并为我提供了一个带有 Twitter feed 的简单容器,并带有 overflow:auto。再说一次:工作正常,溢出可以用标准的丑陋滚动条滚动。

加载 jquery.jScrollPane.min.js、jquery.scrollpane.css、jquery.mousewheel.js 和 mwheelintent.js 并像这样初始化后:

$(document).ready(function(){
    . . .
    $("#twitter-feed").jScrollPane();
});

...#twitter-feed div 不再显示,并且不会引发运行时错误。

想法?

This should be exceedingly simple, but here goes. I have a simple div container that gets populated by a Twitter feed (jTweetsAnywhere):

<div id='twitter-feed'></div>

This functionality works fine and gives me a simple container with a Twitter feed, with overflow:auto. Again: works fine, overflow is scrollable with the standard ugly scrollbar.

After loading jquery.jScrollPane.min.js, jquery.scrollpane.css, jquery.mousewheel.js, and mwheelintent.js, and initializing like so:

$(document).ready(function(){
    . . .
    $("#twitter-feed").jScrollPane();
});

...the #twitter-feed div no longer displays, and no runtime error is thrown.

Thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜是你 2024-12-08 08:21:06

我最初的猜测是 .jsScrollPane() 在 jTweets 返回任何内容之前很久就被调用了。这意味着它很有可能在容器为空时设置容器的高度,因此它可能设置为 0。您是否尝试过为 #twitter-feed 提供静态高度?

My initial guess is that .jsScrollPane() is getting called long before jTweets returns anything. This means that there is a good chance that it is setting the height of the container while its empty, so it probebly is set to 0. Have you tried to give #twitter-feed a static height?

清风不识月 2024-12-08 08:21:06

遇到同样的问题..并查看内置调试器的 Chrome,我发现了我们的问题并发布在 jscrollpane google 组中..我几乎担心我们可能需要更改 jTweetsAnywhere 代码才能使其正常工作..如果这个是真的,我会这样做并确保我在此处发布解决方案和链接...简而言之:

jTweetsAnywhere 在 jScrollPane 调用之前动态创建此内容:

<div id="twitter-feed">
<div class="jta-tweets-list">
<ul><li>tweet</li><li>tweet</li></ul>
</div>
</div>

在 jScrollPane 调用之后,您的代码#twitter-feed 容器内部被修改为如下功能:

<div id="twitter-feed">
<div class="jta-tweets-list">
<div class="jspContainer"><!-- I believe this is where the tweets <ul> needs to be loaded? --><div class="jspPane"></div></div>
<ul><li>tweet</li><li>tweet</li></ul>
</div>
</div>

Having the same exact issue..and viewing Chrome built in debugger i've found our problem and posted in the jscrollpane google group..I'm almost afraid we might have to alter jTweetsAnywhere code to get this to work correctly..If this is true, I'll do it and make sure I post the solution here and a link...in a nutshell:

jTweetsAnywhere dynamically creates this before your jScrollPane call:

<div id="twitter-feed">
<div class="jta-tweets-list">
<ul><li>tweet</li><li>tweet</li></ul>
</div>
</div>

After the jScrollPane call, your code inside the #twitter-feed container is modified to function like this:

<div id="twitter-feed">
<div class="jta-tweets-list">
<div class="jspContainer"><!-- I believe this is where the tweets <ul> needs to be loaded? --><div class="jspPane"></div></div>
<ul><li>tweet</li><li>tweet</li></ul>
</div>
</div>
黒涩兲箜 2024-12-08 08:21:06

jScrollPane.js 有一个漂亮的小方法 autoReinitialise,当设置为 true 时,基本上会添加一个 setInterval()不断检查目标 div 中的内容。

只需在 jTweetsAnywhere 调用之后调用 jScrollPane 即可:

$('.jta-tweets-list').jTweetsAnywhere({ stuff in here })

并通过 autoReinitialise: true 向其传递一个对象 -

$('.jta-tweets-list').jScrollPane(
    {
        autoReinitialise: true
    }

);

希望这有帮助!

jScrollPane.js has a nifty little method autoReinitialise, that when set to true basically adds a setInterval() that is constantly checking for the content within your target div.

Just make your call to jScrollPane AFTER your jTweetsAnywhere call:

$('.jta-tweets-list').jTweetsAnywhere({ stuff in here })

and pass it an object with autoReinitialise: true-

$('.jta-tweets-list').jScrollPane(
    {
        autoReinitialise: true
    }

);

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文