javascript - 点击单词后如何弹出图片和文字?html、css和js
问题描述
我有这个清单:
<nav>
Navigation Bar
<ul>
<li>
<div class="popup" onclick="myFunction()">
Myself
<span class="popuptext" id="myPopup">My description </span>
<img src="/images/picture.jpg" alt="My picture" />
</div>
<script>
function myFunction() {
var popup = document.getElementById("myPopup");
popup.classList.toggle("show");
}
</script>
</li>
<li>Contact</li>
<li>Other</li>
</ul>
</nav>
我希望当我点击时Myself
,我的描述会弹出我的图像。但它不起作用。
你能帮我吗,我做错了什么?
我需要使用 html、css 和 js。
谢谢!!!
解决方案
似乎您缺少一些 CSS 规则。
让我们看一下这一行:
popup.classList.toggle("show");
如果元素没有,这里的toggle
函数将添加一个类类,否则将其删除。show
popup
这意味着默认情况下不应显示具有类的项目,除非popuptext
添加了类。show
因此,您应该定义 2 个 CSS 样式,如下所示:
.popuptext.show {
display: inline-block; // show element when you have the class name 'show'
}
.popuptext {
display: none; // hide by default
}
这是一个工作示例:https ://jsfiddle.net/3bmqdcsg/
推荐阅读
- data-structures - 在第二个哈希函数中使用复合数进行双重哈希
- python - Robot Framework IDE Python SendKeys 库
- powershell - Powershell将文本文件中的项目添加到二维数组
- scala - 在Scala中创建元素差异为1的序列组?
- oracle - 是否可以将 Oracle PL/SQL 触发器作为函数和包?
- android - 更改标签宽度
- jquery - 如何使用 Eric Hynds 的 jQuery UI MultiSelect Widget 在下拉初始化期间而不是在 HTML 中设置默认选项?
- python - Python 按模式列出 Azure Blob
- r - 使用 R 从 *Shared* Google Drive 目录下载单个共享文件
- docker - Kibana 使用 Docker 连接到 ElasticSearch 时出错 - 无法恢复连接