javascript - 如何在不使用可见性函数的情况下隐藏元素

标签 javascript jquery html css

<分区>


要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:Stack Overflow question checklist

关闭 9 年前

我正在尝试编写一段代码,在单击按钮时为用户提供更多选项。 例如,假设我有一个包含两个按钮的页面,一个是“搜索书籍”,另一个是“搜索事件”。如果用户点击“搜索书籍”按钮,在搜索按钮正下方的同一页面上,我希望出现不同的选项。我尝试使用 css visibility:hidden 函数并将其切换回 visibility:visible 使用 javascript 函数。它确实有效,但屏幕上有一个巨大的空间是为隐藏的元素保留的。主窗口按钮彼此相距很远。一侧是“搜索书籍”按钮,离它很远的地方是“搜索事件”按钮。

部分代码

</head>
<div class ="buttons">
<div id="visible">
    <input type="button"  value="Click To Search Faculty Members" onclick="swapform()" class="button">
    </div>
    </div>
    <div class = "form" id="theform" style="visibility: hidden">
    <form name = "type"  value="fm" action="http://localhost:8080/278Project/search.php" method="post"  onsubmit="return goto();">
    <table>
    <span style="box-shadow: 0 0 0 1px white inset;">
    <select name="type" >
            <option value="fm"> Faculty Members Search </option>
            </select>
            <tr><td><label class ="textClick">List all Faculty Members<input type="radio" name="select" value=1 ></label>
            <div>                       
            <label class="textClick"> List By Id<input type="radio" name="select" value=2 > </label> 
            <input class="text" type="text" size = "8" placeholder="Insert Id" name="listById" > </div>
            <div>
            <label class="textClick">List By First Name <input type="radio" name="select" value=3 ></label>
            <input class="text" type="text" placeholder="Insert Name" name="list" >
            </div>
            <div>
            <label class="textClick">List By Last Name<input type="radio" name="select" value=4 ></label>
            <input class="text" type="text" placeholder="Insert Last Name" name="lname" >
            </div>
    </div>
    <!-- <input type="button" value="Hide" onclick="swapform2()" class="button"> !-->
    <input type="submit" value="Get Info">
    </table>
    </div>
</span>
</form>


<!-- Book Search !-->
<div class="buttons">
<div  id="bvisible">
    <input class ="button" type="button" value="Click To Search Books" onclick="swapbooks()" class="button">
    </div>
    </div>
    <div id="thebookform" style="visibility: hidden">
    <form name = "type" value="ch" action="http://localhost:8080/278Project/search.php" method="post"  onsubmit="return goto();">
    <table>
    <select name="type">
            <option value="ch"> Search for Books</option>
            </select>
            <tr><td><label class ="textClick">List all available Books<input type="radio" name="select" value=1 ></label>
            <div>                       
            <label class="textClick"> List By Id<input type="radio" name="select" value=2 > </label> 
            <input class="text" type="text" size = "8" placeholder="Insert Id" name="listById" > </div>
            <div>
            <label class="textClick">List By Publishers name <input type="radio" name="select" value=3 ></label>
            <input class="text" type="text" placeholder="Insert Name" name="list" >
            </div>
            <div>
            <label class="textClick">List Books by year<input type="radio" name="select" value=4 ></label>
            <input class="text" type="text" placeholder="Insert Last Name" name="lname" >
            </div>
    </div>
    <input type="submit" value="Get Info">
    </table>

最佳答案

改用这个

display : none

这做同样的事情,除了元素占用的空白空间。


看看标签,那里有 jQuery。您可以改用 .hide().show()

关于javascript - 如何在不使用可见性函数的情况下隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693818/

上一篇:html - 用于填充 div 中可用垂直空间的文本区域

下一篇:css - *已编辑*当图像具有最大宽度时对齐图像及其标题

相关文章:

javascript - 我们可以在 Controller 中访问 Ember.TEMPLATES 吗?

javascript - 流程图中堆积线图的工具提示问题

javascript - 原型(prototype)扩展内的 jQuery 单击事件

jquery - 通过 AJAX 提供 Fancybox

html - 今天的 Moog 合成器 Google 涂鸦

数学程序中的 JavaScript 输出

javascript - 如何根据条件更改文本颜色?

javascript - 捕获对 jquery 的异步响应

html - 垂直对齐 Div 中的文本

jquery - 防止表单提交触发按钮