结合jQuery UI选项卡和jScrollPane失败

时间:2012-04-07 22:59:36

标签: jquery-ui jscrollpane jquery-tabs

我无法使用更新版本的jscrollpane来使用jQuery UI标签。 我只有一个标签(第一个)工作,但没有其他标签;我尝试使用以前的版本解释此处修复,放置由标签控制的其他<div>(并且内部是由jScrollPane控制的div),如here所述,但仍然没有运气。有没有人遇到过类似的问题?谢谢你的线索!

3 个答案:

答案 0 :(得分:1)

我自己最终解决了这个问题,当然是通过查看jscrollpane作者自己给出的关于这个问题的this explanation的帮助,但是对于以前版本的jscrollpane。

由于这没有开箱即用,我仍然在实现解决方案时遇到问题,我在标签链接中添加了一个点击监听器,点击后,将jscrollpane添加到内容div,就像这样

jQuery("#tabs ul li a").click(function () {
clickednum = "#tabs-" + jQuery(this).parent().attr("id");
jQuery(clickednum + " .skroler").jScrollPane();
    });

我在这里做的是等待用户点击某个标签链接,然后将jScrollPane添加到与所点击的标签链接相对应的标签内容。

.skroler 是一个extra-div,其中是标签内容,因为脚本作者描述它必须以这种方式完成才能工作)

我正在通过 li id属性重新识别标签(我需要从PHP生成。出于其他原因)

这是具体的实现 - 从工作示例来看,可能在其他环境中可以更简单。

啊,当然,在故事的开头,您需要将jScrollPane初始化为第一个打开的标签,如

jQuery("#tabs-1 .skroler").jScrollPane();

答案 1 :(得分:0)

我有同样的问题,并通过向与生成的标签对应的li标签添加ID来解决它:

<ul>
      <li id="details"><a href="#tabs-1">Details</a></li>
      <li id="history"><a href="#tabs-2">History</a></li>
      <li id="examinations"><a href="#tabs-3">Examinations</a></li>
      <li id="diagnosis"><a href="#tabs-4">Diagnosis</a></li>
</ul>

然后,例如:

$('#diagnosis').click(function() {  
    $('.diagnosis').jScrollPane();
});

答案 2 :(得分:0)

刚遇到同样的问题

$( "#tabs" ).tabs({
    //for the initially loaded tab
    create: function( event, ui ) {
        $(ui.panel).jScrollPane();
    },
    //for the tabs opened later
    activate: function( event, ui ) {
        $(ui.newPanel).jScrollPane();
    },
});

此处有更多信息http://api.jqueryui.com/tabs/