Почему Div получает ширину 0px в jQuery.show() с помощью jQueryEasyUI
У меня есть родительский div, который изначально скрыт. Внутри div у меня есть гармошка easyui. Когда я вызвал метод show() для родительского div, div easyui отображается с шириной 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 ответа
Эй, я столкнулся с точно такой же проблемой по той же причине, что и ваш комментарий. Я закончил тем, что сделал показ: ни один тогда вручную добавлял каждое изменение CSS, которое было сделано. Сначала я сделал masterDiv в классе
$('.masterDiv').css("display", "block");
$('.masterDiv' .accordian).css('width', '300px);
аккорд, являющийся независимо от того, установлен ли класс easyUI на ширину 0 пикселей. В итоге получилось много кода CSS, но он работает до тех пор, пока Jquery EasyUI не сможет что-то придумать.
Зачем вы прячете div, если он должен отображаться после загрузки страницы?
Ты пробовал
document.getElementById("masterDiv").style.display="block";