jquery Tab 选项卡通用函数

preview
需积分: 0 0 下载量 98 浏览量 更新于2020-10-29 收藏 27KB PDF 举报
### jQuery Tab 选项卡通用函数知识点解析 #### 一、jQuery Tab 选项卡概述 在网页设计中,选项卡(Tabs)是一种常见的交互组件,它可以让用户通过点击不同的标签来切换显示不同的内容区域,以此来优化用户体验并节省页面空间。jQuery 是一种广泛使用的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。本文将详细介绍一个基于 jQuery 的选项卡插件实现方法,并对其核心功能进行解析。 #### 二、关键概念与技术背景 ##### 1. jQuery 介绍 - **定义**:jQuery 是一款快速、简洁的 JavaScript 库。 - **优点**:简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。 - **兼容性**:支持各种主流浏览器,包括 IE6.0+、Firefox、Safari、Google Chrome 以及 Opera 等。 ##### 2. 类选择器 - **定义**:类选择器(Class Selector)是 CSS 中的一种选择器,用于选取具有指定类名的元素。 - **语法**:`$( ".classname" )` - **特点**:尽管使用类选择器的效率较低,但它可以被多次重复使用。 ##### 3. 事件绑定 - **定义**:事件绑定是指将一个或多个事件处理程序附加到特定的 DOM 元素上。 - **jQuery 方法**:`on()`, `click()`, `mouseover()` 等。 - **示例**:`$( "#element" ).click(function() { /* ... */ });` #### 三、jQuery Tab 选项卡核心代码分析 ##### 1. 函数 `cur(ele)` ```javascript function cur(ele) { $(ele).addClass("cur").siblings().removeClass("cur"); } ``` - **作用**:为传入的元素添加样式类 `cur`,同时移除该元素兄弟节点上的 `cur` 类。 - **应用场景**:通常用于激活当前选项卡并使其高亮显示,同时取消其他选项卡的高亮状态。 ##### 2. 函数 `tab(id_tab, tag_tab, id_con, tag_con, act)` ```javascript function tab(id_tab, tag_tab, id_con, tag_con, act) { // 初始化第一个选项卡及其对应的内容区域 $(id_tab).find(tag_tab).eq(0).addClass("cur"); $(id_con).find(tag_con).eq(0).show().siblings(tag_con).hide(); if (!act) { act = "click"; } if (act == "click") { $(id_tab).find(tag_tab).each(function (i) { $(this).click(function () { cur(this); $(id_con).find(tag_con).eq(i).show().siblings(tag_con).hide(); }); }); } if (act == "mouseover") { $(id_tab).find(tag_tab).each(function (i) { $(this).mouseover(function () { cur(this); $(id_con).find(tag_con).eq(i).show().siblings(tag_con).hide(); }); }); } } ``` - **参数解释**: - `id_tab`: 选项卡容器的 ID。 - `tag_tab`: 选项卡的标签类型。 - `id_con`: 内容容器的 ID。 - `tag_con`: 内容区域的标签类型。 - `act`: 触发事件的类型,可选值为 `"click"` 或 `"mouseover"`。 - **初始化**:首先初始化第一个选项卡及其对应的内容区域,即为第一个选项卡添加样式类 `cur` 并显示其对应的内容区域,隐藏其他内容区域。 - **事件绑定**: - 如果 `act` 参数为 `"click"`,则为每个选项卡绑定点击事件。 - 如果 `act` 参数为 `"mouseover"`,则为每个选项卡绑定鼠标悬停事件。 - **事件处理逻辑**: - 当触发事件时,调用 `cur(ele)` 函数为当前选项卡添加样式类 `cur`,并显示其对应的内容区域,同时隐藏其他内容区域。 ##### 3. 初始化选项卡 ```javascript $(document).ready(function () { tab("#tri", "li", "#game_con", "div", "click"); }); ``` - **作用**:当文档加载完成后,初始化选项卡插件。 - **参数说明**: - `#tri`: 选项卡容器的 ID。 - `"li"`: 选项卡的标签类型。 - `#game_con`: 内容容器的 ID。 - `"div"`: 内容区域的标签类型。 - `"click"`: 事件触发类型。 #### 四、HTML 演示代码分析 以下是一段简单的 HTML 演示代码,用于展示如何使用上述的 jQuery Tab 选项卡插件: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="GB2312"> <title>jQuery Tab 选项卡示例</title> <link rel="stylesheet" href="style/enter.css" type="text/css"> <style type="text/css"> .cur { color: red; border-bottom: 2px solid green; background: blue; } #ngame { width: 500px; } #tri { width: 500px; background: #f1f1f1; margin: 0; padding: 0; cursor: pointer; } #tri li { float: left; font-size: 12px; padding: 2px; margin-right: 10px; color: #000; } </style> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> function cur(ele) { $(ele).addClass("cur").siblings().removeClass("cur"); } function tab(id_tab, tag_tab, id_con, tag_con, act) { $(id_tab).find(tag_tab).eq(0).addClass("cur"); $(id_con).find(tag_con).eq(0).show().siblings(tag_con).hide(); if (!act) { act = "click"; } if (act == "click") { $(id_tab).find(tag_tab).each(function (i) { $(this).click(function () { cur(this); $(id_con).find(tag_con).eq(i).show().siblings(tag_con).hide(); }); }); } if (act == "mouseover") { $(id_tab).find(tag_tab).each(function (i) { $(this).mouseover(function () { cur(this); $(id_con).find(tag_con).eq(i).show().siblings(tag_con).hide(); }); }); } } $(document).ready(function () { tab("#tri", "li", "#game_con", "div", "click"); }); </script> </head> <body> <div id="tri"> <ul> <li>选项卡1</li> <li>选项卡2</li> <li>选项卡3</li> </ul> </div> <div id="game_con"> <div>内容区域1</div> <div>内容区域2</div> <div>内容区域3</div> </div> </body> </html> ``` - **HTML 结构**:包含一个选项卡容器 (`<div id="tri">`) 和一个内容容器 (`<div id="game_con">`)。 - **CSS 样式**:定义了 `.cur` 类的样式,用于高亮显示当前激活的选项卡。 - **JavaScript 代码**:实现了上述的 jQuery Tab 选项卡插件,并在文档加载完成后初始化该插件。 #### 五、总结 通过以上对 jQuery Tab 选项卡通用函数的核心代码和 HTML 演示代码的分析,我们可以看出该插件的实现逻辑清晰、易于理解和使用。开发者可以根据实际需求调整事件触发方式(点击或鼠标悬停),并且通过类选择器实现多次重用,使得该插件具有较高的灵活性和实用性。
weixin_38722193
  • 粉丝: 5
  • 资源: 908
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜