0

我已经设计了 TabMenu 如下

<script type="text/javascript">
    $(function() {
      $('#container-1').tabs();
      $('#container-2').tabs();
    }
</script>

.....
<div id="container-1">
    <ul>
    <li><a href="#fragment-1"><span id="start">First</span></a></li>
    </ul>
</div>
<div id="container-2">
    <ul>
    <li><a href="#fragment-1"><span id="end">Last</span></a></li>
    </ul>
</div>
.....

是否可以获取 ClickedTab 数据而不是索引?就像 ClickTab 是 first then 一样#fragment1。否则,如果 ClickTab 是最后一个,#fragment2.

我怎样才能做到这一点?

4

2 回答 2

1

你能澄清你的意思吗?

如果你改变这个:

<li><a href="#fragment-1"><span id="end">Last</span></a></li>

至:

<li><a href="#fragment-2"><span id="end">Last</span></a></li>

然后它会在您单击它时加载#fragment-2。

如果您确实想获取单击选项卡的数据,则可以挂钩到 tabsselect 事件

$('.ui-tabs-nav').bind('tabsselect', function(event, ui) {
//ui.panel is a dom element that contains the contents of the clicked tab.
}

进一步阅读可在Jquery UI 文档中找到

于 2008-12-11T05:30:26.727 回答
0

我希望这意味着你得到了另一部分的工作。在前面的示例的基础上,这是可能的:

  $(document).ready(function() {
      $('#container-1').tabs({
          selected : function(e, ui) {
            if ($($("a", e.target).get(ui.index)).attr('href') == '#fragment-1') {
                alert('First clicked!');
            }
          }        
      }); 
  });
   ....
  <div  id="container-1">
        <ul>
            <li><a href="#fragment-1"><span>Home</span></a></li>
            <li><a href="#fragment-2"><span>Contact</span></a></li>

         </ul>
  </div>

最终,使用 index 可能会更好,因为这需要您了解一些选项卡实现细节,并且您可以使用开关来处理每个选项卡的逻辑。但是,如果您觉得内容更适合您的需求,那么这应该可以正常工作。

于 2008-12-11T14:16:27.353 回答