javascript - CSS-Javascript : Show and Hide div

标签 javascript html css

我想创建一个只有标题并提供查看更多链接的菜单。 如果单击该链接,它应该打开一个隐藏的 div,并且该 View 应该更改为显示更少或关闭。如果我点击 div 应该再次关闭。 到目前为止,我有这个。

Title 1 <a href="#" onclick="showdiv()">View More</a>
<div id="title1_div">
Some Information
</div>

<style>
#title1_div{
display:none;
}
</style>

<script>
function showdiv()
{
document.getElementById('title1_div').style.display = 'block';
}
</script>

这仅提供点击显示划分。如何在单击时关闭该 div。

如有任何帮助,我们将不胜感激。

请在 JSFiddle 查看此示例:https://jsfiddle.net/eo4cysec/

最佳答案

您只需检查该属性是否设置为阻塞,如果是则将其设置为无,否则将其设置为阻塞。所以你有一个切换逻辑。

if(document.getElementById('title1').style.display == 'block') {
   document.getElementById('title1').style.display = 'none';
} else {
   document.getElementById('title1').style.display = 'block';
}

要将文本设置为少看,您需要点击标签的引用,将其作为参数传递,如下所示:

<a href="#" onclick="showdiv(this)">View More</a>

然后你就有机会使用这个参数并设置它的innerHTML,也就是显示的文本。所以最终的函数看起来像这样,其中 e 现在是 a 标签上的引用:

function showdiv(e) {
  if(document.getElementById('title1').style.display == 'block') {
     e.innerHTML = 'View More';
     document.getElementById('title1').style.display = 'none';
  } else {
     e.innerHTML = 'View Less';
     document.getElementById('title1').style.display = 'block';
  }
}

请检查这个 fiddle :

https://jsfiddle.net/g7ry88h7/

关于javascript - CSS-Javascript : Show and Hide div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38494214/

相关文章:

javascript - JS 当用户点击显示不同的颜色

javascript - 如何将多个 View 返回语句传递给 Django 中的一个模板?

html - 在 Bootstrap 列中垂直居中 <a> 标记文本和图像

html - 如何在外部 CSS 文件 (.css) 中设置 <html> 的 lang 全局属性

css - flexbox 列的问题

javascript - 在表单提交时关闭 Bootstrap 模式

JavaScript 表单验证

javascript - 单击提交按钮后如何保留文本框值

css - 如何使用 CSS 设置 HTML 样式?

jquery - 将样式应用于文本框中的选定文本