javascript - 如何为单页应用程序重新排列 div

标签 javascript html css

我正在构建一个单页网络应用程序。在这个文件中,我希望在启动时显示一个特定的 div。也许用户会按下一个按钮,一个新的 div 将取代它。

现在,在这种情况下,我正在使用 js 隐藏一个 div 并显示另一个。问题是,新的 div 出现在页面的下方(因为它写在第一个 div 之后的 html 文件中)。

当用户在 div 之间来回导航时,我如何使用 javascript 简单地将一个 div 替换为另一个?这是可能的和推荐的吗?

/* JS
When #firstButton is pressed, replace div #first with div #second
When #secondButton is pressed, replace the div #second with div #first
*/
#second {
  visibility: hidden;
}
<div id="first">
  <h1>First Page</h1>
  <button id="firstButton">Go to second page</button>
</div>


<div id="second">
  <h1>Second Page</h1>
  <button id="secondButton">Go to first page</button>
</div>

最佳答案

使用 visibility: hidden 会导致您的元素仍然占用空间,这就是为什么您的“页面”似乎没有改变位置。

切换到 display: none,可以使用 jQuery 的 .show().hide() 轻松切换,如下所示:

$("#firstButton").on("click", function() {
  $("#first").hide();
  $("#second").show();
});

$("#secondButton").on("click", function() {
  $("#first").show();
  $("#second").hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="first">
  <h1>First Page</h1>
  <button id="firstButton">Go to second page</button>
</div>

<div id="second" style="display: none;">
  <h1>Second Page</h1>
  <button id="secondButton">Go to first page</button>
</div>

关于javascript - 如何为单页应用程序重新排列 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52527288/

相关文章:

html - 使用 :hover 调整/缩放图像

html - 如何将来自外部网站的元素居中

javascript - 在不污染源代码的情况下在 Javascript 中添加日志记录

javascript - 是否可以通过单击所选的一个(在 React 中)来取消选择 <Radio/>?

javascript - 告诉浏览器为同一域下的每个路径单独存储不同的密码

html - 如何将图像定位在任何设备的中心?

javascript - 无法在屏幕中央获取输入字段

javascript - 将 PHP 变量转换为带有转义字符的 Javascript 变量

javascript - 尝试将空跨度添加到 contenteditable div 时左右按钮行为异常

javascript - 如何打开导航边栏?