为什么Divs使用jQuery EasyUI在jQuery.show()上获得0px的宽度

时间:2013-06-05 16:45:00

标签: javascript jquery dom jquery-easyui

我有一个最初隐藏的父div。在div里面我有一个easyui手风琴div。当我在父div上调用show()方法时,easyui div显示宽度为0px。如果div未初始隐藏,则计算宽度很好。

有没有人知道最初隐藏div的正确方法,然后在显示它时计算适当的宽度?

<div id='masterDiv' style='display:none;'>
    <div class="easyui-accordion" style='height:475px;' data-options="border:false" > 
        <div title="Overview" class='accordionPanel' data-options="iconCls:'icon-no'" style="overflow:auto;padding:10px;">  
            <h3 style="color:#0099FF;">Accordion for jQuery</h3>  
            <p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>  
        </div>
        <div title="Checklist" class='accordionPanel' data-options="iconCls:'icon-no'" style="overflow:auto;padding:10px;">  
            <h3 style="color:#0099FF;">Accordion for jQuery</h3>  
            <p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>  
        </div>
     </div>
</div>


<script type='text/javascript'>
$(document).ready(function(){
    $('#masterDiv').show();
});
</script>

2 个答案:

答案 0 :(得分:1)

嘿,我遇到了完全相同的问题,原因与您所做的评论完全相同。我最终做了显示:none然后手动添加了每个css更改。首先,我将masterDiv变成了一个类

$('.masterDiv').css("display", "block");
$('.masterDiv' .accordian).css('width', '300px);

accordian是easyUI设置为宽度为0px的类。它最终成为了很多css代码,但它一直有效,直到Jquery EasyUI可以提出一些东西。

答案 1 :(得分:0)

为什么要隐藏div,如果必须在pageload之后显示?

你试过吗

document.getElementById("masterDiv").style.display="block";