每个问题都有一个“解释链接”作为表格的最后一列。如果单击,我希望在右侧旁边打开一个新的 DIV 或 SPAN(根据需要展开)。它将显示该特定问题的详细解释。它将包含可以使用 h2、h3、p 标签格式化的 HTML 文本,也可能包含图像(“<img src”类型)。再次单击相同或不同的问题“解释链接”应关闭打开的 DIV 或 SPAN。
这是我尝试过的:
JavaScript的:
<script>
$(function () {
$('#button-1').click(function(){
$('#popup-1').animate({height:'500px'}, 500);
});
});
</script>
HTML:
<tr><td>Q.2<td>C<td>C<td>✅<td><a href='#' id="button-1">Explain</a><span id='popup-1'>Explanation of answer<br>Goes<br>here<br>including images: <img src='img-explain-q2.jpg'></img></span>
样式表:
#popup-1{
height: 0px;
width: 100%;
float: right;
overflow: hidden;
background: #efefef;
}
对于哪里出了问题以及需要做出哪些弥补,您有什么意见吗?
如果您想在没有 JS 的情况下实现这一点,更容易使用
<details>
最简单和最语义的 HTML 解决方案是使用<details>
元素。像下面你也可以这样设计:
按照下面所述添加/更改 css 文件
将以下 javascript 函数添加到你的脚本文件中
将
<a>
and包裹<span>
在 div 中,在标签中进行以下更改,<a>
同时将类添加explain
到 span通过进行上述更改,您将实现您想要的目标,
所以基本上整个想法是,你将有一个名为DETS 的父 div ,它将包含
<a>
标签和<span>
这个 div 的显示设置为flex
,阅读有关显示类型的更多信息,它被设置为 flex,因为你想将它显示在解释按钮的右侧添加
href="javascript:void(0)" onclick="show(this)"
到<a>
标签中,这基本上意味着它可以防止重新加载或打开新选项卡的默认行为,并且 onclick 调用一个 javascript 函数,在 javascript 函数中,我们首先保存解释 div/span 的当前状态,然后隐藏所有解释 div 并将其高度设置为零,这意味着每个解释都被隐藏,然后我们检查当前解释跨度的先前状态,如果它已被隐藏或未显示,则显示它,使用 500ms 的动画从 0-500px 高度
用于在延迟后将高度固定在 500px
请查看下面
在解释按钮下方显示解释
改变
到
我希望这对你有帮助,如果对答案有任何疑问,请随时询问