2016-12-03 75 views
0

我使用materializecss来创建选项卡。所以,我正想要检测哪个选项卡打开,然后使用Javascript或Jquery配置UI。检测使用jquery选择了哪个选项卡

if (tab.index == 0 || 'brands'){ 
    //Configure some UI 
}else if(tab.index == 1 || 'products'){ 
    //Configure some UI 
} 

HTML部分看起来是这样的:

<ul class="tabs blue-grey darken-2"> 
    <li class="tab col s6"><a class="active" href="#brands" style="color: white;">Brands</a></li> 
    <li class="tab col s6"><a style="color: white;" href="#products">Products</a></li> 
</ul> 

我已经没有手动更改选项卡上的按钮,点击是这样的:

$('ul.tabs').tabs('select_tab', 'products'); 

,但不知道如何实现问题部分。我希望得到一些帮助:)我经历了许多类似的问题,但没有找到解决办法。如果问题以某种方式公布,请发表评论。

回答

0

有一个onShow回调。请参阅http://materializecss.com/tabs.html

此代码未经测试,并且没有关于如何在供应商网站上使用onShow的简单示例,但我希望它能向您展示方式。 'some_param'是你需要知道标签对象属性的地方 - 也许它有一个索引。如果没有,那么也许你可以添加区分类到第一个和其他标签,并使用jQuery .hasClass(classname')来决定接下来会发生什么。

$(document).ready(function(){ 
    $('ul.tabs').tabs('select_tab', 'tab_id').onShow(function(selectedTab){ 

    if (selectedTab.some_param === some_val){ 
     ...do something 
    } 

    }); 
}); 
+0

没有运气。据我所知onShow应该知道,这个标签打开后,然后做点什么。但我尝试了例如'window.alert(“Clicked tab opened”);'但它没有做任何事情。我也找不到参数。我经历了他们的.js,我看到的唯一的事情是var index = 0。所以我假设索引从0开始。 –

相关问题