在“上一个”上循环 Jquery UI 选项卡和“下一个”按钮

发布于 2025-01-01 21:40:20 字数 779 浏览 5 评论 0原文

我正在为我的网站使用 Jquery UI 选项卡。

<script type='text/javascript'>
//<![CDATA[ 
jQuery(window).load(function(){
jQuery('#myTabs').tabs({ fx: { opacity: 'toggle' }});

jQuery('.next-product').click(function(){ 
var jQuerytabs = jQuery('#myTabs').tabs();
var selected = jQuerytabs.tabs('option', 'selected');
jQuerytabs.tabs('select', selected+1);
});

jQuery('.previous-product').click(function(){ 
var jQuerytabs = jQuery('#myTabs').tabs();
var selected = jQuerytabs.tabs('option', 'selected');
jQuerytabs.tabs('select', selected-1);
}); 

正如您所看到的,我一直在使用上一个下一个按钮从一个选项卡移动到另一个选项卡。 我的问题是“当我单击下一个并且如果最后一个选项卡打开时,第一个选项卡应该自动打开,同样,当我单击上一个并且如果第一个选项卡打开时,最后一个选项卡应该自动打开"

请帮帮我,我已经被困了 3 天多了,没有解决办法。我在网上搜索了很多,但没有解决这个问题。

I am using Jquery UI Tabs for my website.

<script type='text/javascript'>
//<![CDATA[ 
jQuery(window).load(function(){
jQuery('#myTabs').tabs({ fx: { opacity: 'toggle' }});

jQuery('.next-product').click(function(){ 
var jQuerytabs = jQuery('#myTabs').tabs();
var selected = jQuerytabs.tabs('option', 'selected');
jQuerytabs.tabs('select', selected+1);
});

jQuery('.previous-product').click(function(){ 
var jQuerytabs = jQuery('#myTabs').tabs();
var selected = jQuerytabs.tabs('option', 'selected');
jQuerytabs.tabs('select', selected-1);
}); 

As you can see that i have been using the previous next button to move from one tab to another.
My question is "When i click on next and if the last tab is open then automatically the first tab should get open, and similarly When i click on previous and if the first tab is open then automatically the last tab should get open"

Please help me out, i am stuck from over 3 days now and no solution. I have searched a lot on net but no solution for this.

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

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

发布评论

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

评论(1

说好的呢 2025-01-08 21:40:20

您可以计算 .ui-tabs-panel 元素的数量。

jQuery(window).load(function() {

    var $tabs = jQuery('#myTabs');

    $tabs.tabs({
        fx: {
            opacity: 'toggle'
        }
    });

    var amount = $tabs.find('.ui-tabs-panel').length;

    jQuery('.next-product').click(function() {
        var selected = $tabs.tabs('option', 'selected');
        $tabs.tabs('select', selected + 1 === amount ? 0 : selected + 1);
    });

    jQuery('.previous-product').click(function() {
        var selected = $tabs.tabs('option', 'selected');
        $tabs.tabs('select', selected === 0 ? amount - 1 : selected - 1);
    });

});

DEMO

注意:

  • 已经选择您的选项卡元素并重新使用选择器< code>var $tabs = jQuery('#myTabs');,这样会更高效,
  • 无需在点击处理程序上重新调用 .tabs()

You can count the number of .ui-tabs-panel elements.

jQuery(window).load(function() {

    var $tabs = jQuery('#myTabs');

    $tabs.tabs({
        fx: {
            opacity: 'toggle'
        }
    });

    var amount = $tabs.find('.ui-tabs-panel').length;

    jQuery('.next-product').click(function() {
        var selected = $tabs.tabs('option', 'selected');
        $tabs.tabs('select', selected + 1 === amount ? 0 : selected + 1);
    });

    jQuery('.previous-product').click(function() {
        var selected = $tabs.tabs('option', 'selected');
        $tabs.tabs('select', selected === 0 ? amount - 1 : selected - 1);
    });

});

DEMO

Notes:

  • select your tab element already and re-use the selector var $tabs = jQuery('#myTabs');, it'll be more efficient
  • no need to re-call .tabs() on your click handlers
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文