Javascript 单击可调整边框容器的大小

Javascript 单击可调整边框容器的大小,javascript,html,css,dojo,resize,Javascript,Html,Css,Dojo,Resize,我正试图完成我的应用程序,当我试图调整bordercontainer的大小以允许在单击搜索按钮时显示隐藏的div时,遇到了一些HTML/CSS问题 以下是我的应用程序在初始加载时的简单示例: 这是我希望应用程序在单击搜索按钮后的外观: 之前,我使用以下代码调整中心窗格的大小: dojo.style(dijit.byId("map"), "height", "83%"); 这已经不起作用了 我的HTML是: </scr

我正试图完成我的应用程序,当我试图调整bordercontainer的大小以允许在单击搜索按钮时显示隐藏的div时,遇到了一些HTML/CSS问题

以下是我的应用程序在初始加载时的简单示例:

这是我希望应用程序在单击搜索按钮后的外观:

之前,我使用以下代码调整中心窗格的大小:

dojo.style(dijit.byId("map"), "height", "83%");
这已经不起作用了

我的HTML是:

    </script> 
  </head>
  <body class="claro"> 
    <div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false" style="width:100%;height:55px;margin:0;">
<!--Header Logo-->
                <div id="headerlogo" 
                            < a href="http://www.marioncountyfl.org/InformationSystems/IS_GIS.aspx"><img src="images/map1.png" alt="View Logo" /></a> 
                </div>
<!--Header-->
                    <header>Zoning Classifications</header> <div style="position:absolute; right:160px; top:10px;  z-Index:99;"></div>
        </div>
<!--Help Button-->
                <div id="help" title="Help";> 
                            <a href="help.html"><img src="images/Help1.png" alt="Help" style="border:none" /></a> 
                </div>
<!--Basemap Gallery-->      
                <div id="subheader" style="position:absolute; right:60px; top:10px; z-Index:98;">
                            <div id="basemapbutton">
                                        <button dojoType="dijit.form.Button" baseClass="tomButton" title="Switch Basemap">    
                                                <img src="images/imgBaseMap.png"/>     
                                                        <script type="dojo/method" event="onClick">   
                                                            toggler[(dojo.style("basemaptoggle","display") == "none") ? 'show':'hide']();
                                                        </script>
                                        </button>   
                                                    <div id="basemaptoggle" dojoType="dijit.layout.ContentPane" style="#900;display: none;">
                                                        <div id="basemapGallery">
                                                        </div>
                                                    </div>
                            </div>
<!--Search-->
                    <div id="search" >
                            Parcel ID: <input type="text" id="parcel" size="20" value="4209-111-074" />
                                        <button data-dojo-type="dijit.form.Button"  data-dojo-props='onClick:function(){ doFind();}, value:"Search"'">
                                            Search
                                        </button>
                    </div>
                </div>
<!--TOC-->
        <div id="content" dojotype="dijit.layout.BorderContainer" design="headline" gutters="true" style="width: 100%; height: 95%;">
                            <div dojotype="dijit.layout.ContentPane" id="leftPane" region="left" splitter="true">
                                    <div id="tocDiv">
                                    </div>         
                            </div>
<!--Map-->
                        <div id="map" dojotype="dijit.layout.BorderContainer" region="center" style="height:100%; doLayout:'false'">
                                <div class="watermark">
                                        <a href="http://www.marioncountyfl.org/InformationSystems/IS_GIS.aspx"><img src="images/MCLogo.png" alt="View Logo" style="border:none" /></a>
                                </div>  
                                <!--Data Grid-->
                                <div id ="datagrid" data-dojo-type="dijit.layout.ContentPane"  splitter="true" region="bottom" style="width:100%; height:125px;">
                                        <table data-dojo-type="dojox.grid.DataGrid" data-dojo-id="grid"  id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px'">
                                            <thead>
                                                <tr>
                                                    <th field="Parcel Identification Number" width="10%">
                            Parcel ID
                                                    </th>
                                                    <th field="Assessing Neighbornood Code" width ="20%">
                            Neighborhood Code
                                                    </th>
                                                    <th field="Property Class Code" width="10%">
                            Property Class
                                                    </th>
                                                    <th field="Site Address" width="57%">
                            Address
                                                    </th>
                                                    <th field" width="2%"> <div class="GridCloseIcon" title="Close Grid" onclick="esri.hide(datagrid)"></div>
                                                    </th>                   
                                                </tr>
                                            </thead>
                                        </table>
                                </div>
                        </div>
        </div>
<!--Splash Screen-->
            <div id="dialogLoadMessage" dojotype="dijit.Dialog" style="width: 350px;">
            <table>
                <tr>
                   <td>
                      <div id="divLoadMessage" style="text-align:center">
                      </div>
                   </td>
                </tr>
                <tr>
                   <td align="center">
                      <div class="divOk" onclick="dijit.byId('dialogLoadMessage').hide();">
                                                OK
                                            </div>
                   </td>
                </tr>
            </table>
      </div>
    </body> 
</html>

分区分类
切换程序[(dojo.style(“basemaptoggle”,“display”)=“none”)?“show':“hide”]();
包裹编号:

如果添加并切换底部网格的填充-使用
框大小:边框框
-而不是调整中心窗格的大小。使用
js
添加和删除填充,当其处于活动状态时,填充应反映
底部网格的高度,当其处于非活动状态时,填充可能反映
0px
。如果中心窗格内容具有
位置:绝对
高度:100%
,则应易于缩放。我已经广泛使用该方法对大规模应用程序产生了巨大影响,它还具有跨浏览器兼容性,但是如果您需要支持IE的旧版本,请确保使用
框大小:边框框
polyfill来强制执行框模型

有关盒大小的详细信息,请通过调用其父内容
BorderContainer
上的
addChild()
removeChild()
来添加或删除datagrid
ContentPane


在行动中看到它:

这看起来不错。可能是一个N00b问题,但我有一个搜索功能,我在其中放置了
esri.show(datagrid)代码,以便在单击搜索按钮时显示。考虑到您发布的小提琴,我如何将搜索与节目链接?我建议直接调用函数来
addChild
removeChild
,但如果不能,您可以使用。我更新了前面提到的JSFIDLE来解释它是如何工作的。