`
天梯梦
  • 浏览: 13741805 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

jQuery 标签教程 Tabs Tutorial

 
阅读更多

Selection_057

 

Writing the Markup

Lets start by writing our markup as if our visitor doesn't even have JavaScript enabled. Even if you do not wish to support users without JavaScript, it is still a good pattern to follow to exercise separation of concerns.

  <ul class='tabs'>
    <li><a href='#tab1'>Tab 1</a></li>
    <li><a href='#tab2'>Tab 2</a></li>
    <li><a href='#tab3'>Tab 3</a></li>
  </ul>
  <div id='tab1'>
    <p>Hi, this is the first tab.</p>
  </div>
  <div id='tab2'>
    <p>This is the 2nd tab.</p>
  </div>
  <div id='tab3'>
    <p>And this is the 3rd tab.</p>
  </div>

 

I used fragment identifiers (#tab1, #tab2, #tab3) for the href values in the navigation. Each element containing a tab's content is given an ID that corresponds to a fragment identifier. This way the links are semantic and continue to be functional even if the visitor has JavaScript disabled.

JavaScript provides direct access to the fragment identifier, or hash, for anchor element objects and the window.location object by using their hash property.

 

Writing the jQuery

Rather than describing the code, I am just going to include it with comments that explain each step.

  $('ul.tabs').each(function(){
    // For each set of tabs, we want to keep track of
    // which tab is active and its associated content
    var $active, $content, $links = $(this).find('a');

    // If the location.hash matches one of the links, use that as the active tab.
    // If no match is found, use the first link as the initial active tab.
    $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
    $active.addClass('active');

    $content = $($active[0].hash);

    // Hide the remaining content
    $links.not($active).each(function () {
      $(this.hash).hide();
    });

    // Bind the click event handler
    $(this).on('click', 'a', function(e){
      // Make the old tab inactive.
      $active.removeClass('active');
      $content.hide();

      // Update the variables with the new link and content
      $active = $(this);
      $content = $(this.hash);

      // Make the tab active.
      $active.addClass('active');
      $content.show();

      // Prevent the anchor's default click action
      e.preventDefault();
    });
  });

 

See the complete document. I used jQuery's .on() method for event binding, so be sure to use jQuery 1.7 or higher.

 

原文: http://www.jacklmoore.com/notes/jquery-tabs/

本文: jQuery 标签教程 Tabs Tutorial

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    jQuery_EasyUI中文帮助手册(带目录)

    - 选项卡(tabs):创建可切换内容面板的选项卡布局。 - 可伸缩面板(accordion):允许多个面板垂直堆叠,一次只展开一个面板。 - 布局面板(layout):用于创建复杂的布局结构。 3. 菜单和按钮(Menu and Button) - ...

    Bootstrap-3-Tutorial-32---Nav-Tabs:以下视频教程的代码

    本教程将深入探讨如何使用JavaScript在Bootstrap 3中实现导航标签的功能。 Bootstrap 3的Nav Tabs主要由HTML、CSS和JavaScript三部分组成。HTML负责创建结构,CSS用于样式化,而JavaScript(在这里特别提到了...

    EasyUI tutorial 中文版 chm

    使用easyUI创建Tabs标签 使用easyui创建tabs组件和动态添加 使用easyUI创建一个自动播放的tabs 使用easyUI创建XP风格左侧面板 DataGrid 使用easyUI转换HTML table到datagrid 使用easyUI给datagrid添加...

    Bootstrap-3-Tutorial-85---Togglable-Tabs:以下视频教程的代码

    不过,Bootstrap 3的Togglable Tabs功能默认使用的是jQuery,如果你希望使用纯JavaScript实现,可以使用Bootstrap提供的`bootstrap.tab.js`,并且确保在HTML中移除`data-toggle="tab"`属性,改为调用JavaScript方法...

    推荐40款强大的 jQuery 导航插件和教程(上篇)

    "jQuery Tabbed Interface / Tabbed Structure Menu Tutorial"提供了创建分页式界面的步骤,"Mega Vertical"和"Memu"则是专为垂直布局设计的大型导航菜单,适合内容丰富的网站。"Sweet AJAX Tabs With jQuery 1.4 & ...

    Bootstrap-3-Tutorial-33---Nav-Pills:以下视频教程的代码

    它们与.nav-tabs 类相似,但默认情况下显示为水平堆叠的药丸状按钮,而不是顶部有边框的标签。这种样式有助于减少页面上的视觉混乱,同时仍然保持用户友好的导航。 在JavaScript标签下,我们可以推测这个教程可能...

    Bootstrap-3-Tutorial-86---Togglable-Tab-Fading:以下视频教程的代码

    在Bootstrap 3中,一个重要的交互元素就是可切换的选项卡(Togglable Tabs)。这个功能允许用户在不同的内容区域之间轻松切换,而无需重新加载页面。在本教程中,我们将深入探讨如何实现这种效果,并使用JavaScript...

    portfolio:投资组合网站

    Easy Tabs CDN链接: : Jquery同位素CDN链接: : //cdnjs.com/libraries/jquery.isotope/1.5.25 jQuery Caroufredsel CDN链接: https ://cdnjs.com/libraries/jquery.caroufredsel 注意:tutorial分支具有完整...

    详解BootStrap中Affix控件的使用及保持布局的美观的方法

    2. **通过JavaScript API**:可以使用jQuery的`.affix()`方法来初始化Affix功能,同时可以传递一个配置对象来设置偏移量。例如: ```javascript $('#myNav').affix({ offset: { top: 100, // 滚动中距离页面...

Global site tag (gtag.js) - Google Analytics