这是一个 div,它有一个 span 和一个按钮。该跨度包含一个复选框及其文本。
<div style="margin-top:10px;" id="dvCopysave">
<span id="spancopy">
<input type="checkbox" id="DynamicCopy" class="checkall" style="font-size: medium;border-width:medium;margin-left:375px" onclick="DynamicCopy_Onclick()" />
<b> Copy data to other panels </b>
</span>
<button id="DynamicAdd" type="button" onclick="DynamicSave_Onclick()">
Save
</button>
</div>
在 doucment.ready 中,有一个条件检查和管理可见性:
if (@Model.Target == 2)//Inspection details ->questions
{
var panels='@Model.srPanelList';
var lst=panels.split('|');
$("#id").css("display", "none");
if(lst.length-1>1)
{
document.getElementById("spancopy").style.visibility='visible';
}
else
{
document.getElementById("spancopy").style.visibility='hidden';
}
}
一切正常,但是当 spancopy 不可见时,保存按钮的位置没有改变,它仍然是一样的。所以外观有小问题.....
最佳答案
那是因为 ...style.visibility='hidden'
。 visibility:hidden
表示该元素在页面上看不到,但分配了空间,因此占用了空间。因此,您需要使用 display
而不是 visibility
,例如:
...
if(lst.length-1>1)
{
document.getElementById("spancopy").style.display='block';
}
else
{
document.getElementById("spancopy").style.display='none';
}
...
display:none
使元素消失,没有分配空间。
关于jquery - 显示按钮的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45407675/