显示按钮的问题

时间:2017-07-31 04:52:30

标签: jquery css

这是一个带有跨度和按钮的div。范围包含一个复选框及其文本。

<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> &nbsp; &nbsp;
    </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时,保存按钮的位置不会改变,它仍然是相同的。所以外观和感觉都有小问题......

2 个答案:

答案 0 :(得分:4)

那是因为...style.visibility='hidden'visibility:hidden表示在页面上看不到元素,但是分配空间因此占用空间。因此,您需要使用visibility而不是display,而不是... if(lst.length-1>1) { document.getElementById("spancopy").style.display='block'; } else { document.getElementById("spancopy").style.display='none'; } ...

display:none

rows.apply(BigQueryIO.writeTableRows().to(new SerializableFunction<ValueInSingleWindow<TableRow>, TableDestination>() { @Override public TableDestination apply(ValueInSingleWindow<TableRow> value) { TableRow row = value.getValue(); TableReference reference = new TableReference(); reference.setProjectId(""); reference.setDatasetId(""); reference.setTableId("tabelname$" + row.get("datefield").toString()); return new TableDestination(reference, null); } }).withFormatFunction(new SerializableFunction<TableRow, TableRow>() { @Override public TableRow apply(TableRow input) { LOG.info("format function:"+input.toString()); return input; } }).withSchema(schema) .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_TRUNCATE) .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)); 使元素消失,没有分配空间。

答案 1 :(得分:2)

设置visibility不会影响元素占用的框区域。如果您还想删除占用的区域,请将该元素的display属性设置为none