jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明

jQuery Tab插件 用于在Tab中显示iframe

简介

jQuery Tab插件是一个轻量级的jQuery插件,用于创建带有选项卡切换效果的网页界面,支持通过iframe方式展示内容,非常适合制作具有多种功能的网站。该插件使用方便、易于应用,在开发实际项目中广泛应用。该插件的源码可以在Github上获得。

安装步骤

1.引入依赖文件

在HTML中需要引入如下依赖文件

<link href="jquery.tab.css" rel="stylesheet">
<script src="jquery.min.js"></script>
<script src="jquery.tab.js"></script>

2.创建选项卡容器

在HTML中创建一个容器用来包裹选项卡元素

<div class="tab-container">
  <ul class="tab">
    <li><a href="#tab-1">Tab 1</a></li>
    <li><a href="#tab-2">Tab 2</a></li>
    <li><a href="#tab-3">Tab 3</a></li>
  </ul>
  <div class="tab-content">
    <div id="tab-1">Tab 1 Content</div>
    <div id="tab-2">Tab 2 Content</div>
    <div id="tab-3">Tab 3 Content</div>
  </div>
</div>

3.调用插件

在jQuery中使用tab()方法来调用插件。

$('.tab-container').tab();

以上三步即可完成jQuery Tab插件的安装和启用。接下来我们将介绍插件的额外功能和选项。

选项和功能

选项一:iframe

使用iframe选项可以将内容以IFrame的方式在TAB中展示,非常适合需要展示外站链接的场景。下面我们以一个在线博客为例子演示如何以IFrame方式展示内容:

<div class="tab-container">
  <ul class="tab">
    <li><a href="#tab-1">Tab 1</a></li>
    <li><a href="#tab-2">Tab 2</a></li>
    <li><a href="#tab-3" data-tab-remote="https://example.com/">Tab 3</a></li>
  </ul>
  <div class="tab-content">
    <div id="tab-1">Tab 1 Content</div>
    <div id="tab-2">Tab 2 Content</div>
    <div id="tab-3" data-tab-remote="https://example.com/">Loading content ...</div>
  </div>
</div>

可以看到,在Tab 3中我们在a标签中添加了data-tab-remote="https://example.com/"属性,告诉插件需要以IFrame的方式加载该Tab的内容。

在启用插件时需要添加iframe选项:

$('.tab-container').tab({
  iframe: true
});

选项二:远程脚本

在一些不能直接访问的域外面的地方,比如公司内部域网或本地环境,我们经常需要引用一些远程的JS脚本。jQuery Tab插件也支持以远程脚本的方式加载TAB内容。

以引用百度地图API为例,实现如下:

<div class="tab-container">
  <ul class="tab">
    <li><a href="#tab-1">Tab 1</a></li>
    <li><a href="#tab-2">Tab 2</a></li>
    <li><a href="#tab-3" data-tab-script="https://api.map.baidu.com/api?v=2.0&ak=123">Tab 3</a></li>
  </ul>
  <div class="tab-content">
    <div id="tab-1">Tab 1 Content</div>
    <div id="tab-2">Tab 2 Content</div>
    <div id="tab-3" data-tab-script="https://api.map.baidu.com/api?v=2.0&ak=123">Loading content ...</div>
  </div>
</div>

可以看到,在Tab 3中我们在a标签中添加了data-tab-script="https://api.map.baidu.com/api?v=2.0&ak=123"属性,告诉插件需要以JavaScript文件的方式加载该Tab的内容。

在启用插件时需要添加remoteScript选项:

$('.tab-container').tab({
  remoteScript: true
});

源码解析

源码解析请参考Github中的README.md文件。

示例演示

示例一:Tab切换+iframe模式

在以下代码中,我们使用jQuery Tab插件创建了一个Tab切换的界面,在其中包含一个IFrame用于展示内容。代码中涉及到了HTML、CSS和JavaScript三个方面的知识点。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>jQuery Tab插件+iframe示例</title>
  <link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
  <link href="jquery.tab.css" rel="stylesheet">
  <script src="jquery.min.js"></script>
  <script src="jquery.tab.js"></script>
  <script>
    $(function() {
      $('#jquery-tab-example').tab({
        iframe: true
      })
    })
  </script>
  <style>
    .tab-iframe {
      border: none;
      padding: 0;
      margin: 0;
      width: 100%;
      height: 300px;
    }
  </style>
</head>
<body>
  <div id="jquery-tab-example" class="tab-container">
    <ul class="tab" role="tablist">
      <li role="presentation"><a href="#tab1" aria-controls="tab1" role="tab" data-toggle="tab">Tab 1</a></li>
      <li role="presentation"><a href="#tab2" aria-controls="tab2" role="tab" data-toggle="tab">Tab 2</a></li>
      <li role="presentation"><a href="#tab2" aria-controls="tab3" role="tab" data-toggle="tab" data-tab-remote="https://www.baidu.com">Tab 3</a></li>
    </ul>
    <div class="tab-content">
      <div id="tab1" class="tab-pane" role="tabpanel">
        <h4>Tab 1 Content</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut volutpat placerat erat, vel feugiat sem mattis at. Maecenas ut quam non mi venenatis faucibus. Nunc nec ante eget nisi mollis feugiat.</p>
        <p>Suspendisse feugiat, eros eu elementum adipiscing, eros dolor sagittis mi, a porta dolor erat eget urna. Fusce lobortis scelerisque turpis vitae pellentesque.</p>
      </div>
      <div id="tab2" class="tab-pane" role="tabpanel">
        <h4>Tab 2 Content</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut volutpat placerat erat, vel feugiat sem mattis at. Maecenas ut quam non mi venenatis faucibus. Nunc nec ante eget nisi mollis feugiat.</p>
        <p>Suspendisse feugiat, eros eu elementum adipiscing, eros dolor sagittis mi, a porta dolor erat eget urna. Fusce lobortis scelerisque turpis vitae pellentesque.</p>
      </div>
      <div id="tab3" class="tab-pane" role="tabpanel">
        Loading content...
      </div>
    </div>
  </div>
</body>
</html>

示例二:Tab切换+远程脚本模式

在以下代码中,我们使用jQuery Tab插件创建了一个Tab切换的界面,在其中包含一个远程脚本用于引用百度地图API。代码中涉及到了HTML、CSS和JavaScript三个方面的知识点。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>jQuery Tab插件+远程脚本示例</title>
  <link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
  <link href="jquery.tab.css" rel="stylesheet">
  <script src="jquery.min.js"></script>
  <script src="jquery.tab.js"></script>
  <script>
    $(function() {
      $('#jquery-tab-example').tab({
        remoteScript: true
      })
    })
  </script>
  <style>
    #tab4 .baidu-map {
      width: 100%;
      height: 300px;
    }
  </style>
</head>
<body>
  <div id="jquery-tab-example" class="tab-container">
    <ul class="tab" role="tablist">
      <li role="presentation"><a href="#tab1" aria-controls="tab1" role="tab" data-toggle="tab">Tab 1</a></li>
      <li role="presentation"><a href="#tab2" aria-controls="tab2" role="tab" data-toggle="tab">Tab 2</a></li>
      <li role="presentation"><a href="#tab3" aria-controls="tab3" role="tab" data-toggle="tab">Tab 3</a></li>
      <li role="presentation"><a href="#tab4" aria-controls="tab4" role="tab" data-toggle="tab" data-tab-script="http://api.map.baidu.com/api?v=2.0&ak=123">Tab 4</a></li>
    </ul>
    <div class="tab-content">
      <div id="tab1" class="tab-pane" role="tabpanel">
        <h4>Tab 1 Content</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut volutpat placerat erat, vel feugiat sem mattis at. Maecenas ut quam non mi venenatis faucibus. Nunc nec ante eget nisi mollis feugiat.</p>
        <p>Suspendisse feugiat, eros eu elementum adipiscing, eros dolor sagittis mi, a porta dolor erat eget urna. Fusce lobortis scelerisque turpis vitae pellentesque.</p>
      </div>
      <div id="tab2" class="tab-pane" role="tabpanel">
        <h4>Tab 2 Content</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut volutpat placerat erat, vel feugiat sem mattis at. Maecenas ut quam non mi venenatis faucibus. Nunc nec ante eget nisi mollis feugiat.</p>
        <p>Suspendisse feugiat, eros eu elementum adipiscing, eros dolor sagittis mi, a porta dolor erat eget urna. Fusce lobortis scelerisque turpis vitae pellentesque.</p>
      </div>
      <div id="tab3" class="tab-pane" role="tabpanel">
        <h4>Tab 3 Content</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut volutpat placerat erat, vel feugiat sem mattis at. Maecenas ut quam non mi venenatis faucibus. Nunc nec ante eget nisi mollis feugiat.</p>
        <p>Suspendisse feugiat, eros eu elementum adipiscing, eros dolor sagittis mi, a porta dolor erat eget urna. Fusce lobortis scelerisque turpis vitae pellentesque.</p>
      </div>
      <div id="tab4" class="tab-pane" role="tabpanel">
        <h4>Tab 4 Content</h4>
        <div class="baidu-map">
          百度地图
        </div>
      </div>
    </div>
  </div>

  <script src="http://api.map.baidu.com/api?v=2.0&ak=123"></script>
  <script>
    function initialize() {
      var map = new BMap.Map('tab4')
      var point = new BMap.Point(116.404, 39.915)
      map.centerAndZoom(point, 15)
    }
    initialize()
  </script>
</body>
</html>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 深入分析JQuery和JavaScript的异同

    深入分析 jQuery 和 JavaScript 的异同 JavaScript 是一门编程语言,而 jQuery 则是建立在 JavaScript 语言上的一个开源库。在许多方面,jQuery 帮助简化了JavaScript 编程,但也有一些重要的异同点需要我们深入了解。本文将会介绍这些异同点。 引入方式 在你能够使用 jQuery 或 JavaScript…

    JavaScript 2023年5月18日
    00
  • C#基于正则表达式实现获取网页中所有信息的网页抓取类实例

    C#基于正则表达式实现获取网页中所有信息的网页抓取类实例 1. 前言 网页抓取是实现自动化数据采集、分析和处理的重要手段之一。本篇文章将介绍使用C#基于正则表达式实现获取网页中所有信息的网页抓取类实例。 2. 实现过程 2.1 步骤一:获取网页内容 使用C#自带的HttpClient类可以很方便地获取网页的原始内容。首先,我们需要先定义一个GetHtml方法…

    JavaScript 2023年6月10日
    00
  • JavaScript框架(iframe)操作总结

    JavaScript框架(iframe)操作总结 什么是 iframe? iframe 是 HTML 标签之一,用于在网页中嵌入另一个网页或者文档。它可以允许开发者在其网页中嵌入其他页面,或将整个页面作为框架嵌入到网页中。这个功能通常用于在网站页面中添加广告、视频或其他内容。 实现 iframe 的方式 下面是实现 iframe 的方式: HTML实现: &…

    JavaScript 2023年6月11日
    00
  • 基于JavaScript获取url参数2种方法

    当开发 web 应用时,我们经常需要从 URL 中获取参数。JavaScript 是一种方便快捷、实用的语言,而获取 URL 参数是 JavaScript 开发中必须面对的一个问题。本文将详细介绍两种基于 JavaScript 获取 URL 参数的方法,并提供具体的示例说明。 方法1:使用正则表达式 要从 URL 中获取参数,我们可以使用 JavaScrip…

    JavaScript 2023年6月11日
    00
  • JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型) ECMAScript ECMAScript 是 JavaScript 的标准规范,定义了 JavaScript 的基础语法、数据类型、函数和对象等内容。可以通过 console.log(typeof yourVariable) 来获取变量的类型,同…

    JavaScript 2023年5月19日
    00
  • 如何处理vue router 路由传参刷新页面参数丢失

    处理Vue Router路由传参刷新页面参数丢失的攻略非常重要,下面是完整的步骤以及代码示例。 1. 使用query传参 在路由中使用query传参,是一种非常常见的方法。但是在使用query传参的时候,需要注意以下几点: 如果地址栏中存在多个参数,为了避免参数重叠,参数名最好使用前缀的方式,例如”user_id=12″可以更改为”user[id]=12″或…

    JavaScript 2023年6月11日
    00
  • ASP.NET笔记之 ListView 与 DropDownList的使用

    ASP.NET笔记之 ListView 与 DropDownList的使用 介绍 在ASP.NET中,ListView和DropDownList都是常用的控件之一,ListView可以显示多行数据并提供样式控制,DropDownList则是提供了下拉列表的选择功能。本文将详细讲解ListView和DropDownList的使用,包括基本概念、属性设置和样式控…

    JavaScript 2023年6月10日
    00
  • JavaScript中call,apply,bind的区别与实现

    JavaScript中的call, apply, bind这三个方法都用于改变函数的this指向。下面分开讲解它们的用途、区别以及实现原理。 1. call方法 1.1 用途 call方法可以借用另一个对象的方法,并且将this指向当前对象。 1.2 示例说明 以下是一个简单的示例,调用Array.prototype.push方法将一个数组合并到另一个数组中…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部