vjame

          優化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
          數據加載中……

          jquery ui tabs iframe 高度 寬度自適應

            1<%@ page contentType="text/html; charset=UTF-8" language="java" %>
            2<%@ taglib prefix="s" uri="/struts-tags" %>
            3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4<html xmlns="http://www.w3.org/1999/xhtml">
            5<head>
            6<title>temp_title</title>
            7    <%@ include file="/ui/common.jsp"%>
            8    <%@ include file="/ui/components/jquery-ui/jquery-uiHead.jsp"%>
            9    <script type="text/javascript">
           10     $(document).ready(function(){
           11         
           12         var browser = navigator.appName;
           13         var heightAdjust = 23;
           14         var widthAdjust = 7+20;
           15         
           16         // Make height and width offset adjusts for non-IE browsers 
           17         if (browser != "Microsoft Internet Explorer")
           18         {
           19             heightAdjust = 18;
           20             widthAdjust = 9+20;
           21         }

           22     
           23        $("#tabs").tabs({
           24            cache: true// This ensures selecting a tab does not refresh the page
           25            load: function(event, ui)
           26            {
           27               // Keep links, form submissions, etc. contained within the tab
           28               //$(ui.panel).hijack();
           29               
           30               // Adjust the IFRAME size correctly in the browser window
           31               $('.contentsIframe').width((ViewPortWidth() - widthAdjust));
           32               $('.contentsIframe').height((ViewPortHeight() - $('#tabs_ul').height() - heightAdjust));
           33            }

           34        }
          );
           35        
           36        $("#tabs_ul li").click(function(){
           37            var flag = false;
           38            var tabId = $(this).attr("id");
           39            var selectedItems = $("#tabs_ul li.selected");
           40            if(selectedItems.length > 0){
           41                var selectedItemId = selectedItems[0].id;
           42                if(tabId != selectedItemId)// 尚未選中
           43                    flag = true;
           44                }

           45            }
           else {
           46                flag = true;
           47            }

           48            
           49            
           50            if(flag){
           51                $(this).addClass("hover");
           52                $(this).siblings().removeClass("hover");
           53                
           54                var url = "";
           55                if(tabId == "grant_menu"){
           56                    url = temp_ur1l;
           57                }
           else if(tabId == "grant_business"){
           58                    url = temp_ur12;
           59                }
           else if(tabId == "grant_resource"){
           60                    url = temp_ur13;
           61                }
          else{
           62                    return;
           63                }

           64                $("#grant_iframe").attr("src", url);
           65            }

           66        }
          );
           67        $("#tabs_ul li")[0].click();
           68        
           69        // Adjust tab header width and visible iframe window height and width after the window is resized
           70        $(window).resize(function(){
           71            $('#grant_iframe').width((ViewPortWidth() - widthAdjust));
           72            $('#grant_iframe').height((ViewPortHeight() - $('#tabs_ul').height() - heightAdjust));
           73        }
          );
           74        
           75        // Adjust the IFRAME height correctly in the browser window
           76        $('#grant_iframe').height((ViewPortHeight() - $('#tabs_ul').height() - heightAdjust));
           77        
           78    }
          );
           79    
           80    // Returns width of viewable area in the browser
           81    function ViewPortWidth()
           82    {
           83        var width = 0;
           84
           85        if ((document.documentElement) && (document.documentElement.clientWidth)) {
           86            width = document.documentElement.clientWidth;
           87        }

           88        else if ((document.body) && (document.body.clientWidth)) {
           89            width = document.body.clientWidth;
           90        }

           91        else if (window.innerWidth) {
           92            width = window.innerWidth;
           93        }

           94
           95        return width;
           96    }

           97
           98    // Returns height of viewable area in the browser
           99    function ViewPortHeight()
          100    {
          101        var height = 0;
          102
          103        if (window.innerHeight) {
          104            height = window.innerHeight;
          105        }

          106        else if ((document.documentElement) && (document.documentElement.clientHeight)) {
          107            height = document.documentElement.clientHeight;
          108        }

          109
          110        return height;
          111    }

          112    
          113    
          </script>
          114  </head>
          115  <body style="margin:0; overflow:hidden;">
          116    <div id="tabs">
          117        <ul id="tabs_ul">
          118            <li id="grant_menu"><href="#tabs-grant">時間設置</a></li>
          119            <li id="grant_business"><href="#tabs-grant">崗位參數</a></li>
          120            <li id="grant_resource"><href="#tabs-grant">項目參數</a></li>
          121        </ul>
          122        <div id="tabs-grant" >
          123            <iframe id="grant_iframe" src="" frameborder="0" style="height:100%; width:100%; marginwidth:0; marginheight:0; scrolling:auto" ></iframe>
          124        </div>
          125    </div>
          126  </body>
          127</html>
          128
          129




          1、引用jquery-ui
          2、設置body樣式margin:0; overflow:hidden;
          3、設置iframe樣式 height:100%; width:100%; marginwidth:0; marginheight:0; scrolling:auto
          4、設置窗體resize方法,以及高度的初始化值


          posted on 2013-08-06 09:44 lanjh 閱讀(5596) 評論(3)  編輯  收藏 所屬分類: Java Web

          評論

          # re: jquery ui tabs iframe 高度 寬度自適應  回復  更多評論   

          謝謝 你的代碼很有用 而且可以在DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd和 Transitional 我式了好多 都不支持 這的 只支持不帶Transitional和strict標準的
          2013-10-28 07:45 | Sn

          # re: jquery ui tabs iframe 高度 寬度自適應  回復  更多評論   

          不過 我現在 還不知道差了4個像素在哪里 可能是2個Div的邊框吧 我用border:0px去掉不行
          2013-10-28 07:48 | Sn

          # re: jquery ui tabs iframe 高度 寬度自適應  回復  更多評論   

          我現在做的是讓iframe可視化界面顯示隨窗口大小變動而變的
          <iframe w=100% h=100%></iframe><div position:relative><div position:fixed>內容是浮在iframe上面</div></div> 主窗口頁面沒滾動條的用是iframe的滾動條 現在就不知道怎么差了4個像素
          2013-10-28 08:00 | Sn
          主站蜘蛛池模板: 库伦旗| 顺义区| 闽侯县| 扶沟县| 奎屯市| 上杭县| 松滋市| 白朗县| 呈贡县| 修文县| 金川县| 张家港市| 襄城县| 海安县| 福海县| 瑞昌市| 鞍山市| 凤庆县| 广德县| 普格县| 芜湖市| 眉山市| 永宁县| 徐州市| 麟游县| 武强县| 根河市| 德州市| 兴宁市| 正定县| 衡水市| 青岛市| 荆门市| 望江县| 蒲江县| 普安县| 化州市| 深圳市| 泰和县| 仁寿县| 兴国县|