如何在HTML中创建可扩展的FAQ页面?
我想为我的网站创建一个FAQ页面,将所有问题列为超链接。当点击链接时,该问题的答案应该在其下方展开 默认情况下,答案需要隐藏,最好单击链接以切换答案的可见性 有什么想法吗 编辑如何在HTML中创建可扩展的FAQ页面?,html,google-sites,Html,Google Sites,我想为我的网站创建一个FAQ页面,将所有问题列为超链接。当点击链接时,该问题的答案应该在其下方展开 默认情况下,答案需要隐藏,最好单击链接以切换答案的可见性 有什么想法吗 编辑 我尝试了其中的一些建议,但不幸的是,谷歌网站似乎不允许在html中使用这些功能。我不能使用脚本、样式、嵌入、iframe或任何它将显示的基本文本格式以外的内容。大家好主意,但看起来我不得不接受目录式的常见问题解答。好吧,把答案放在问题下方的div容器中 默认情况下,div将具有display:hidden属性 单击链接后
我尝试了其中的一些建议,但不幸的是,谷歌网站似乎不允许在html中使用这些功能。我不能使用脚本、样式、嵌入、iframe或任何它将显示的基本文本格式以外的内容。大家好主意,但看起来我不得不接受目录式的常见问题解答。好吧,把答案放在问题下方的
div
容器中
默认情况下,div将具有display:hidden
属性
单击链接后,此CSS样式将使用JavaScript删除
类似这样的查询(需要测试输入错误等):
这里有一种可能的方法:
<html><body><script>
function toggleElement(id)
{
if(document.getElementById(id).style.display == 'none')
{
document.getElementById(id).style.display = '';
}
else
{
document.getElementById(id).style.display = 'none';
}
}
</script>
<p>
<a href="javascript:toggleElement('a1')">Is this a question?</a>
</p>
<div id="a1" style="display:none">
This is an answer.
</div>
</body>
</html>
函数切换元素(id)
{
if(document.getElementById(id).style.display=='none')
{
document.getElementById(id).style.display='';
}
其他的
{
document.getElementById(id).style.display='none';
}
}
这是一个答案。
使用jQuery的简单示例:
JavaScript/jQuery
<script type="text/javascript">
$(document).ready(function(){
$('.faqlink').click(function(){
$('.content').hide();
$(this).next('.content').show();
});
});
</script>
$(文档).ready(函数(){
$('.faqlink')。单击(函数(){
$('.content').hide();
$(this.next('.content').show();
});
});
CSS
.内容{
显示:隐藏;
}
HTML
我的常见问题解答
乱数假文
乱数假文
乱数假文
在HTML中,您使用以下模式:
<div style="parentContainer">
<div style="titleContainer" onclick="toggleContents(this)">Link to click on</div>
<div style="contentContainer">Some content here.</div>
</div>
您可能想学习“可扩展FAQ”的代码-可在GitHub上获得: 它在/UI/Templates/Front/FAQsList.php上有一个可扩展的折叠机制
()不幸的是,谷歌网站似乎不支持样式。你不需要隐藏()部分。只需执行以下操作:$(this).next('.content').toggle();并将链接从隐藏和显示切换,显示应为“无”,而不是“隐藏”。如果需要从外部页面链接到其中一个链接,该怎么办?href=“#””没有用,并且在我的Phonegapp应用程序上给了我一些问题。没有它,行为是正确的。
<style type="text/css">
.content {
display: hidden;
}
</style>
<h2>My FAQ</h2>
<a class="faqlink" href="#">Link 1</a>
<div class="content">lorem ipsum</div>
<a class="faqlink" href="#">Link 2</a>
<div class="content">lorem ipsum</div>
<a class="faqlink" href="#">Link 3</a>
<div class="content">lorem ipsum</div>
<div style="parentContainer">
<div style="titleContainer" onclick="toggleContents(this)">Link to click on</div>
<div style="contentContainer">Some content here.</div>
</div>
function toggleContents(elm) {
var contentContainer = elm.parentNode.getElementsByTagName("div")[1];
contentContainer.style.display = (contentContainer.style.display == 'block') ? 'none' : 'block';
}