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

yizhihongxing

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日

相关文章

  • Javascript 学习书 推荐

    JavaScript 学习书推荐 JavaScript 是一门广泛应用于 Web 开发的编程语言,也是目前非常热门的一门语言。那么,学习 JavaScript 应该从哪些书籍开始呢? 以下是我推荐的几本 JavaScript 学习书籍: 1.《JavaScript 高级程序设计》 该书可以帮助你逐步深入地了解 JavaScript 基础语法、内部机制以及高级…

    JavaScript 2023年6月11日
    00
  • javascript 中动画制作方法 animate()属性

    当我们需要用JavaScript来制作一个动画时,最常用的办法就是使用animate()属性。它可以让我们定义元素在一段时间内的移动、淡入/淡出、尺寸变化等动画效果。 基本语法 animate()的基本语法如下: $(selector).animate({styles},speed,easing,callback) 参数说明: selector:表示需要动画…

    JavaScript 2023年6月10日
    00
  • 浅析JS中常用类型转换及运算符表达式

    浅析JS中常用类型转换及运算符表达式 类型转换 显式类型转换 字符串转换 使用toString()、String()函数将其他类型转为字符串类型,或使用+运算符将其他类型与字符串拼接即可: var num1 = 123; console.log(num1.toString()); // "123" console.log(String(n…

    JavaScript 2023年5月28日
    00
  • Javascript中暂停功能的实现代码

    要实现Javascript中的暂停功能,可以采用以下几种方法: 方法一:使用setTimeout 使用setTimeout函数可以实现暂停功能,具体实现方式如下: function sleep(milliseconds) { return new Promise(resolve => setTimeout(resolve, milliseconds))…

    JavaScript 2023年6月10日
    00
  • JS实现带阴历的日历功能详解

    关于“JS实现带阴历的日历功能详解”这个话题,我可以提供以下完整攻略: 简介 该功能主要是通过JS编写代码来实现,主要涉及到公历转农历的计算及日历界面的渲染。实现的目标是在常规的日历功能基础上增加阴历信息的显示,并支持选择日历日期导航切换。 实现步骤 1.公历转农历计算 公历转农历的计算主要涉及到对阳历年月日的解析和推算、传统农历基础数据的读取和查表等。我们…

    JavaScript 2023年5月27日
    00
  • 把json格式的字符串转换成javascript对象或数组的方法总结

    让我来讲解一下“把json格式的字符串转换成javascript对象或数组的方法总结”。 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它由Douglas Crockford在2001年创造。JSON 采用完全独立于语言的文本格式,具有简洁明了、易于读写的特点,是广泛应用于Web应用程序之中的文本…

    JavaScript 2023年5月27日
    00
  • JavaScript中数组sort()方法的基本使用与踩坑记录

    JavaScript中数组sort()方法的基本使用与踩坑记录 sort()方法的基本使用 sort()方法是Javascript中数组对象自带的方法之一,其作用是将数组中的元素按指定的顺序进行排序。 sort()方法本身不接受参数,如果要按照一定的顺序进行排序,则需要在其内部传入比较函数。 比较函数接受两个参数,分别代表当前比较的元素a和下一个比较的元素b…

    JavaScript 2023年5月19日
    00
  • vue如何监听页面缓存事件

    我们可以通过Vue的生命周期函数来监听页面缓存事件,其中包括 beforeRouteLeave 和 beforeRouteEnter 这两个函数。 beforeRouteLeave beforeRouteLeave 是在Vue组件即将被离开路由时被调用的函数,我们可以在这个函数中做一些路由离开前的准备工作,比如保存一些数据、询问用户是否需要保存等。 示例一:…

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