0

我使用 jqueryUI 选项卡,并希望在每个选项卡内实现一个平滑的滚动条。我尝试了几个可滚动的插件,如 jQuery 自定义内容滚动器、TinyScrollbar 和现在的 areaaperta NiceScroll,但每次我都遇到同样的问题 - 滚动条只能在一个选项卡内工作。

    <script>
    $(function() {
        $( "#tabs" ).tabs();
    });
    </script>

    <div id="tabs" style="width:900px; font-size:100%;">
    <ul>
        <li><a href="#tabs-1" >FIRST</a></li>
        <li><a href="#tabs-2">SECOND</a></li>
        <li><a href="#tabs-3">THIRD</a></li>
    </ul>
    <div id="tabs-1">
        <div id="thisdiv">
        <p><b>FIRST SCROLLABLE PARAGRAPH</b>...</p></div></div>

    <div id="tabs-2"><div id="thisdiv2">
        <p><b>SECOND SCROLLABLE PARAGRAPH</b>...</p>
    </div></div>
    <div id="tabs-3">
        <p>THIRD TAB </p>
    </div>
</div>

    <script>
    $(document).ready(
  function() {     
    $("#thisdiv").niceScroll({cursorcolor:"#00F"});
    $("#thisdiv2").niceScroll({cursorcolor:"#00F"});  }
);
    </script>

这是 jsfiddle,它表明 UItabs 和 niceScroll 插件的两个滚动条之间没有冲突:http: //jsfiddle.net/Fluc/EhcqX/4/

在这里,我尝试在每个选项卡内使用带有滚动条的相同 div:http: //jsfiddle.net/Fluc/cJPT3/2/

如您所见,可滚动仅在第一个选项卡内有效。与其他可滚动插件相同。

我不是 jquery 程序员,但感觉问题与某处的显示属性有关。

任何帮助将不胜感激!

4

1 回答 1

1

这个完美的尝试让我知道。

<script>
$(document).ready(function() {
    $("#tabs").tabs();
    jQuery('#tabs').bind('tabsselect', function(event, ui) {    
        ui.tab 
        ui.panel
        ui.index
        if (ui.index==0) {
            $("#tabs-1 > .scrollable").niceScroll({cursorcolor:"#00F"});
        }else if (ui.index==1) {
            $("#tabs-2 > .scrollable").niceScroll({cursorcolor:"#00F"});
        }else if (ui.index==2) {
            $("#tabs-3 > .scrollable").niceScroll({cursorcolor:"#00F"});
        } 
  });
});
</script>

我还更新了你的小提琴http://jsfiddle.net/cJPT3/9/

于 2013-01-21T14:28:51.387 回答