JQuery 滚动/分页选项卡

Posted

技术标签:

【中文标题】JQuery 滚动/分页选项卡【英文标题】:JQuery Scrolling/Paging Tabs 【发布时间】:2010-12-01 05:06:32 【问题描述】:

我正在尝试为网站创建一个简单的标签栏,该网站能够滚动查看页面上不适合的标签。这非常简单,不需要任何 ajax 或动态加载的内容...它只是显示所有选项卡,当您单击一个选项卡时,它会将您带到另一个页面。

我已经搜索了互联网,似乎找不到任何其他东西: http://www.extjs.com/deploy/dev/examples/tabs/tabs-adv.html 然而这是非常沉重和复杂的......我正在寻找一个在 jquery 中的轻量级示例。如果有人可以提供帮助,我将不胜感激!

【问题讨论】:

【参考方案1】:

我最终自己编写了一个将溢出设置为隐藏的 div。然后使用下面的jquery来移动div中的标签。

    $(document).ready(function()
    
      $('.scrollButtons .left').click(function()
      
        var content = $(".tabs .scrollable .content")
        var pos = content.position().left + 250;
        if (pos >= 0)
        
            pos = 0;
        
        content.animate( left: pos , 1000);
      );
      $('.scrollButtons .right').click(function()
      
        var content = $(".tabs .scrollable .content")
        var width = content.children('ul').width();
        var pos = content.position().left - 250;
        //var width = content.width();
        if (pos <= (width * -1) + 670)
        
            pos = (width * -1) + 600;
        
        content.animate( left: pos , 1000);
      );
    );

我的 Html 看起来像这样:

    <div class="tabs">
    <div class="scrollable">
        <div class="content">
            <ul>
                <li>Tab1</li>
                <li>Tab2</li>
                <li>Tab3</li>
                <li>Tab4</li>
                <li>Tab5</li>                    
                </ul>
        </div>
    </div>
    <div class="scrollButtons">
        <ul>
            <li>
                <div class="left">
                </div>
            </li>
            <li>
                <div class="right">
                </div>
            </li>
        </ul>
    </div>
</div>

【讨论】:

克里斯你还记得 css 吗? 我刚刚能够使用此代码并且效果很好。不过,我确实必须在脚本中将 left 替换为 marginLeft。 @Goran我为我的左右使用了一个标签,并将它们左右浮动,并将 .content 向左浮动。设置宽度和溢出:隐藏在 .content 上最终更改了 2 个脚本行 var pos = +content.css("marginLeft").replace("px", "") - 600;和 content.animate( marginLeft: pos , 1000);【参考方案2】:

我自己刚刚创建了一个插件: 项目首页:http://jquery.aamirafridi.com/jst

【讨论】:

嘿,你跟上了吗?似乎它不适用于较新版本的 JQuery 和 JQuery UI。在大多数情况下。【参考方案3】:

你能简单地将标签包装在一个 DIV 中并在 CSS 中设置 overflow-x: auto 吗?

【讨论】:

【参考方案4】:

我总是使用JQuery UI tabs 作为标签的起点。您可以在网站的下载部分自定义 JQuery UI 下载。如果您已经在您的网站上使用 JQuery,则此方法应该比任何其他实现更轻。

开箱即用,JQuery UI 选项卡不会为您提供所需的滚动。我相信这可以通过更改 CSS 来实现,但如果您更改网站的导航(即创建更多级别,使用更短的标题),很可能会更容易。

希望对你有帮助

【讨论】:

以上是关于JQuery 滚动/分页选项卡的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 选项卡阻止滚动到锚点

如何滚动 jQuery ui 标签?

重置 jquery 选项卡

使用选项卡控制器时出现奇怪的滚动行为 - iOS

数据表无法通过 JQuery-UI 选项卡正确工作

在该选项卡中单击分页链接时如何激活选项卡?