javascript - 显示隐藏按钮时未内联

标签 javascript html css

我有一个 html 页面,上面有一个名为 new 的按钮。

function handle_new() {
  document.getElementById('coki').style.display = "block";
  document.getElementById('btn_new1').style.display = "block";
  document.getElementById('btn_new2').style.display = "block";
  document.getElementById('btn_new2').style.display = "none";
  document.getElementById('btn_new4').style.display = "block";
}
.inline {
  display: inline-block;
}
<p>
  <button class="button button3" id="btn_new" type="button" onclick="handle_new();">New</button>
</p>

<div class="inline" id="coki" style="display: none">
  <button class="inline" id="btn_new1" type="button" onclick="handle_new1();">New</button>
  <button class="inline" id="btn_new2" type="button" onclick="handle_new2();">New</button>
  <button class="inline" id="btn_new3" type="button" onclick="handle_new3();">New</button>
  <button class="inline" id="btn_new4" type="button" onclick="handle_new4();">New</button>
  <button class="inline" id="btn_new5" type="button" onclick="handle_new5();">New</button>
</div>

当有人点击此按钮时,会显示 5 个按钮(在 coki div 中),但始终位于彼此下方且不在同一行。问题是我也在按钮和 div 标签中包含了内联,但由于某种原因,当我添加“不显示”时,它们总是出现在彼此下方而不是彼此相邻。

Td 标签和 p 标签代替 div 也不起作用。解决办法是什么?谢谢

最佳答案

创建一个 display: none 类。 将其分配给所需的元素。
单击按钮时,只需删除 none className。
元素应该返回到其初始状态(内联 block )

function handle_new() {
  document.getElementById('coki').classList.remove("none");
}
.inline {
  display: inline-block;
}

.none {
  display: none;
}
<p>
  <button class="button button3" id="btn_new" type="button" onclick="handle_new();">New</button>
</p>

<div class="inline none" id="coki">
  <button class="inline" id="btn_new1" type="button" onclick="handle_new1();">New</button>
  <button class="inline" id="btn_new2" type="button" onclick="handle_new2();">New</button>
  <button class="inline" id="btn_new3" type="button" onclick="handle_new3();">New</button>
  <button class="inline" id="btn_new4" type="button" onclick="handle_new4();">New</button>
  <button class="inline" id="btn_new5" type="button" onclick="handle_new5();">New</button>
</div>

P.S:通过查看您的handle_newNNN(),我担心您正在重复大量 JS 代码...但那是另一天的主题了。


嗯,如果我猜对了你在做什么——那就是
有一个新建按钮来创建元素。等等。我的做法如下:

var btnNew = document.getElementById("btn_new");
var elCoki = document.getElementById("coki");
var itemsTot = 0; // Currently 0 items created. We'll increment on creation
var itemsMax = 5; // max number of new items

function newItem() {
  itemsTot += 1;
  var item = document.createElement('div');
  item.classList.add("item")
  item.innerHTML = "THIS IS ITEM n."+ itemsTot +" !";
  elCoki.appendChild(item);
  // Disable button
  if(itemsTot >= itemsMax) {
    btnNew.disabled = true;
    btnNew.classList.add("none");
  }
}

btnNew.addEventListener("click", newItem);
.item {
  background: orange;
  padding: 4px; margin: 2px 0;
}
.none {
  display: none;
}
<div id="coki"></div>
<button class="button button3" id="btn_new" type="button">+ New Item</button>

关于javascript - 显示隐藏按钮时未内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52030471/

相关文章:

javascript - 检查用户是否接受了 JavaScript 中的文件下载

javascript - ES6 + jQuery + Bootstrap - Uncaught ReferenceError : jQuery is not defined?

html - 如何启用水平滚动?

html - 如何使用 CSS 设置文本宽度的背景颜色,而不是整个元素的宽度?

javascript - 有没有一种简单的方法可以使嵌套数组变平?

javascript - 使用 Jquery 在点击时显示 div

html - html文件路径中的(.,..,...)有什么区别?

css - Firefox 无法在站点页眉/页脚中正确呈现链接

HTML 字体系列设置

html - 具有 float 属性的中心跨度元素