`

jQuery使用iframe做tab标签

 
阅读更多
jQuery Tab插件 http://jqueryui.com/tabs/#default


Jquery、tabs、iframe相结合 http://blog.sina.com.cn/s/blog_656977f401014oy6.html
使用Jquery中的ui.tabs.js,如果tab中的界面有按钮需要跳转到新的页面时,整个页面会跳转,为了使界
面在tab内部跳转,可以在tab中使用iframe将页面加载。代码如下:
<div id="expenseTabs" style="width: 98%; background: #cadbe7;">
<ul>
 <li><a id="noTravelExpenseTab" href="#noTravelExpenseDiv"><nobr>非差旅报销</nobr></a>
 </li>
 <li><a id="travelExpenseTab" href="#travelExpenseDiv"><nobr>差旅报销</nobr></a>
 </li>
</ul>
<div id="noTravelExpenseDiv">
 <iframe id="noTravelExpenseFrame"
  src="${contextPath}/expense/noTravelExpenseAction.do" width="100%"
  frameborder="0" marginheight="0" marginwidth="0">
 </iframe>
</div>
<div id="travelExpenseDiv">
 <iframe id="travelExpenseFrame"
  src="${contextPath}/expense/travelExpenseAction.do" width="100%"
  frameborder="0" marginheight="0" marginwidth="0">
 </iframe>
</div>
</div>
<script language="javascript">
 $(function() {
  $('#expenseTabs').tabs({
  cookie: {
   // store cookie for a day, without, it would be a session cookie
   expires: 1
  },
  select:function(event,ui) {
   $('#expenseTabs').tabs("url",ui.index, "");
  }
 });
  $("table tr:nth-child(odd)").addClass("striped");     
 });
 </script>

此时,iframe会出现纵向滚动条,是因为其高度所致。我们可以再加一段代码来设置它的高度。
<script type="text/javascript">
 var noTravelExpenseFrame = document.getElementByIdx_x("noTravelExpenseFrame");
 noTravelExpenseFrame.height = document.body.clientHeight;
 var travelExpenseFrame = document.getElementByIdx_x("travelExpenseFrame");
 travelExpenseFrame.height = document.body.clientHeight;
</script>

这样问题得以解决。

点击“申请报销”按钮时,跳转到另一页面,但此时页面仍在刚才的tab中,如下图所示:

当然,tab边界与iframe边界之间有背景颜色的差异,是因为iframe中src返回的jsp页面宽度不为100%引起的。样式问题可以自己调试。



jQuery Tabs + iFrame’s http://deano.me/2011/08/jquery-tabs-iframes/
<html>
    <head>
        <script type="text/javascript" src="data/js/jquery.js"></script>
        <script type="text/javascript" src="data/js/jquery-ui.js"></script>
        <link href="data/css/smoothness/jquery-ui.css" rel="stylesheet" type="text/css">
        <style>
            html {
                font-size:10px;
            }

            .iframetab {
                width:100%;
                height:auto;
                border:0px;
                margin:0px;
                background:url("data/iframeno.png");
                position:relative;
                top:-13px;
            }

            .ui-tabs-panel {
                padding:5px !important;
            }

            .openout {
                float:right;
                position:relative;
                top:-28px;
                left:-5px;
            }
        </style>
        <script>
            $(document).ready(function() {
                var $tabs = $('#tabs').tabs();

                //get selected tab
                function getSelectedTabIndex() {
                    return $tabs.tabs('option', 'active');
                }

                //get tab contents
                beginTab = $("#tabs ul li:eq(" + getSelectedTabIndex() + ")").find("a");

                loadTabFrame($(beginTab).attr("href"),$(beginTab).attr("rel"));

                $("a.tabref").click(function() {
                    loadTabFrame($(this).attr("href"),$(this).attr("rel"));
                });

                //tab switching function
                function loadTabFrame(tab, url) {
                    if ($(tab).find("iframe").length == 0) {
                        var html = [];
                        html.push('<div class="tabIframeWrapper">');
                        html.push('<div class="openout"><a href="' + url + '"><img src="data/world.png" border="0" alt="Open" title="Remove iFrame" /></a></div><iframe class="iframetab" src="' + url + '">Load Failed?</iframe>');
                        html.push('</div>');
                        $(tab).append(html.join(""));
                        $(tab).find("iframe").height($(window).height()-80);
                    }
                    return false;
                }
            });
        </script>
    </head>
    <body>

        <div id="tabs">
            <ul>
                <li><a class="tabref" href="#tabs-1" rel="http://google.co.uk">google</a></li>
                <li><a class="tabref" href="#tabs-2" rel="http://yahoo.co.uk">yahoo</a></li>
                <li><a class="tabref" href="#tabs-3" rel="http://bing.co.uk">bing</a></li>
            </ul>
            <div id="tabs-1" class="tabMain">
            </div>

            <div id="tabs-2">
            </div>

            <div id="tabs-3">
            </div>
        </div> 

    </body>
</html>
分享到:
评论

相关推荐

    jquery iframe动态添加删除tab选项卡

    jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe...

    两个jquery实现iframe多标签页例子

    在这个“两个jquery实现iframe多标签页例子”中,我们将探讨如何利用jQuery来创建具有动态切换功能的多标签页,并在每个标签页内嵌入iframe,以展示不同的Web内容。 首先,`iframe`(inline frame)是一种HTML元素...

    JQUERY实现iframe页面切换功能

    要使用jQuery实现iframe页面切换,我们首先需要在HTML中设置一个iframe元素,并为其定义一个id,以便于后续的jQuery选择器能够找到它: ```html &lt;iframe id="myIframe" src="初始页面URL"&gt;&lt;/iframe&gt; ``` 接下来,...

    基于js的iframe 可关闭tab标签组件使用方法

    本教程将详细讲解如何使用JavaScript实现一个可关闭的iframe内嵌tab标签组件。这个组件能够帮助用户在同一个页面中方便地切换和管理多个内容区域,而无需刷新整个页面。 首先,`iframe`是HTML5中的一个元素,它允许...

    jquery tab 切换页面 支持iframe

    标题"jquery tab 切换页面 支持iframe"所指的就是如何在jQuery Tab组件中嵌入和切换`iframe`内容。 jQuery Tab的基本原理是通过JavaScript和CSS来创建一个可交互的导航条,每个选项对应一个内容区域。当用户点击...

    jquery横排页签Tab+iframe代码示例

    **jQuery横排页签Tab与iframe整合的代码示例** 在网页设计中,页签(Tab)是一种常见的用户界面元素,用于将大量信息组织成不同的类别,提高用户体验。本示例将详细介绍如何使用jQuery实现横排页签,并结合iframe...

    jquery iframe tab实例(5个不同tab实例)

    本实例探讨的是如何利用jQuery实现一个基于iframe的tab切换功能,这在需要在一个页面中展示多个独立内容区域时非常有用。我们将深入讨论五个不同的jQuery iframe tab实例,每个实例都有其独特的特性和应用场景。 ##...

    jquery动态添加tab内嵌ifream插件

    本篇文章将详细讲解如何利用jQuery实现动态添加Tab并内嵌iFrame插件,以及相关的核心知识点。 首先,我们需要理解Tab组件的基本原理。Tab组件通常用于在有限的空间内展示多个独立但相关的页面内容。用户可以通过...

    jquery选项 iframe选项卡

    "jquery.benma.tab"这个压缩包文件可能包含了一个名为"benma"的开发者编写的jQuery选项卡插件,特别地,它支持将内容嵌入到iFrame中,这样可以在选项卡之间加载不同的页面或内容。 ### jQuery选项卡基础 jQuery...

    使用JQUERY Tabs插件宿主IFRAMES

    在探讨如何使用JQUERY Tabs插件宿主IFRAMES之前,首先需要了解什么是JQUERY Tabs插件和IFRAME。JQUERY Tabs插件是JQUERY UI库中的一个组件,它允许开发者轻松地在一个网页上添加选项卡式界面,提升用户体验。而...

    jquery tabs iFrame.pdf

    在这个场景中,我们将讨论如何将 jQuery UI 的 tabs 与 iframe 结合使用,以便在各个 tab 内部实现页面的跳转和内容加载。 首先,我们看到代码示例中创建了一个包含两个 tab 的结构。每个 tab 的内容都是一个 ...

    TabDemo(支持iframe修改)

    在IT行业中,网页开发是一项重要的工作,而"TabDemo(支持iframe修改)"是一个关于使用jQuery实现的tab切换功能,特别优化了对iframe的支持。这个项目旨在帮助开发者在网页上创建一个用户友好的导航结构,通过点击不同...

    jquery tabs iFrame.docx

    在本文中,我们将深入探讨如何将jQuery与tabs和iframe结合使用,以便在页面的标签页内实现页面的无刷新跳转。首先,我们来看一下给定的代码片段,这是一个使用jQuery UI库创建的tabs组件的例子。 `; background: #...

    基于Bootstrap实现tab标签切换效果

    在本文中,我们将深入探讨如何使用Bootstrap框架来创建一个具有标签切换效果的用户界面。Bootstrap是一种流行的开源前端开发框架,它提供了一套响应式布局、移动设备优先的Web开发工具,使得开发者能够快速构建美观...

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

    **jQuery Tab插件 cleverTabs** 是一款用于网页中创建多标签功能的JavaScript库,它特别之处在于能够在每个标签页中嵌入`iframe`元素,从而实现动态加载和展示不同的网页内容。这款插件基于广泛使用的jQuery框架,为...

    jquery自动添加tab

    本主题将深入探讨如何使用jQuery实现自动添加tab功能,这对于构建动态、交互式的网页导航栏至关重要。 首先,我们需要理解jQuery的核心概念。jQuery通过一个选择器(如$("#element"))来选取HTML元素,然后应用各种...

    jquery插件:ajax和iframe加载提示效果1.1版

    3,当iframe以tab标签的方式显示时,由于tab标签切换执行也需要一段时间,造成的获取的iframe的高和宽不是最终的高和宽 4,其他细微调整。 草草增加了一个例子。和新版本打包在一起。 遗留问题: 1,不支持多个...

    easyui iframe 页面重复加载的问题

    在使用easyui框架开发Web应用时,特别是在使用tab布局的时候,开发者可能会遇到页面内容被放置在iframe中时,页面多次加载的问题。这种情况尤其会在使用easyui的tab布局时发生,因为easyui会默认加载所有tab的内容,...

    jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法

    本文实例讲述了jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法。分享给大家供大家参考,具体如下: 我们在使用EasyUI Tabs框架时,在框架最顶层的弹出窗体中需要操作当前Tab的iframe窗体内容或方法,这时候我们...

    layui点击导航栏刷新tab页的示例代码

    然而,Layui的tab组件默认情况下在切换标签页时并不会刷新内容,有时这种默认行为并不满足开发者的实际需求,比如在某些场景下,我们需要在切换标签页时获取最新的数据或重新渲染组件。这时就需要设置标签页的刷新...

Global site tag (gtag.js) - Google Analytics