在html 4中使用CSS或javascript折叠和扩展列表的最佳方式是什么
What is the best way to collapse and expand lists in html 4 using either CSS or javascript
我有一个列表中的列表中的一个列表,外部列表是一个部分,接下来用相同的字母对项目进行分组,第三个是项目本身。我希望能够关闭/打开这些列表,我已经做了几次尝试,包括下面代码中显示的使用样式的尝试,但我什么都做不到。
似乎有各种方法可以做到这一点,但最终的方法是什么。我不介意使用css或javascript,如果有简单的方法,我甚至可以将文档转换为html5。该解决方案需要与最新版本的主浏览器配合使用,我不担心旧版本的浏览器。
这就是我目前拥有的
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="songkong.css">
<base target="main">
<style type="text/css">
.row {
vertical-align: top;
height:auto !important;
}
.list {
display:none;
}
.show {
display: none;
}
.hide:target + .show {
display: inline;
}
.hide:target {
display: none;
}
.hide:target ~ .list {
display:inline;
}
@media print {
.hide, .show {
display: none;
}
}
</style>
</head>
<body>
<h1>Sections</h1>
<ul>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_summary.html#Summary">Summary</a>
</li>
<li>MusicBrainz Summary
<ul>
<li>D
<ul>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Daniel Desnoyers.html">Daniel Desnoyers</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_David Guetta.html">David Guetta</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Dev Electric.html">Dev Electric</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Diddy - Dirty Money.html">Diddy - Dirty Money</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Drake.html">Drake</a>
</li>
</ul>
</li>
<li>E
<ul>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_E-40.html">E-40</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Eagles.html">Eagles</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Ed Sheeran.html">Ed Sheeran</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Elton John.html">Elton John</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Eminem.html">Eminem</a>
</li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Enrique Iglesias.html">Enrique Iglesias</a>
</li>
</ul>
</li>
</ul>
</li>
</body>
</html>
尝试Accordian
在从使用列表改为使用外层标题后,我设法使其与Musicbrainz摘要一起用于字母,但当我在Discogs摘要中重复部分时,它没有效果,我可以在一个文件中只使用Accordian一次吗
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/html" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="songkong.css">
<base target="main">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#accordion" ).accordion({
heightStyle: "content"
});
});
</script></head>
<body>
<h1>Sections</h1>
<h2><a href="FixSongsReport_00042_2013-09-01-18-44-47_summary.html#Summary">Summary</a></h2>
<h2>MusicBrainz Summary</h2>
<div id="accordion">
<h3>H</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_musicbrainz_Hans Zimmer.html">Hans Zimmer</a></li>
</ul>
</div>
<h3>T</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_musicbrainz_The Zombies.html">The Zombies</a></li>
</ul>
</div>
</div>
<h2>Discogs Summary</h2>
<div id="accordion">
<h3>H</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_discogs_Hans Zimmer.html">Hans Zimmer</a></li>
</ul>
</div>
</div>
</body>
</html>
您可以使用jQuery 尝试类似的操作
演示:http://jsbin.com/iZOsaVU/1/
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<h1>Sections</h1>
<ul>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_summary.html#Summary">Summary</a></li>
<li id='li1'>MusicBrainz Summary</li>
<div id='ct'>
<ul id='ul1'>
<li id="l1-1">D
<ul id='ul1-1-1'>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Daniel Desnoyers.html">Daniel Desnoyers</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_David Guetta.html">David Guetta</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Dev Electric.html">Dev Electric</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Diddy - Dirty Money.html">Diddy - Dirty Money</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Drake.html">Drake</a></li>
</ul>
</li>
<li>E
<ul>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_E-40.html">E-40</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Eagles.html">Eagles</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Ed Sheeran.html">Ed Sheeran</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Elton John.html">Elton John</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Eminem.html">Eminem</a></li>
<li><a href="FixSongsReport_00022_2013-09-01-10-16-49_musicbrainz_Enrique Iglesias.html">Enrique Iglesias</a></li>
</ul>
</li>
</ul>
</div>
</ul>
jQuery:您也可以对其他列表项使用相同的技巧。
$("#li1").click(function(){
$("#ct").toggle("fold",1000);
});
说明:http://codewithlogic.wordpress.com/2013/09/01/creating-tree-view-in-jquery/
使用Accordion
$( "#accordion" ).accordion({
heightStyle: "content",
collapsible:true
});
$( "#accordion1" ).accordion({
heightStyle: "content",
collapsible:true
});
HTML
<h1>Sections</h1>
<h2><a href="FixSongsReport_00042_2013-09-01-18-44-47_summary.html#Summary">Summary</a></h2>
<h2>MusicBrainz Summary</h2>
<div id="accordion">
<h3>H</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_musicbrainz_Hans Zimmer.html">Hans Zimmer</a></li>
</ul>
</div>
<h3>T</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_musicbrainz_The Zombies.html">The Zombies</a></li>
</ul>
</div>
</div>
<h2>Discogs Summary</h2>
<div id="accordion1">
<h3>H</h3>
<div>
<ul>
<li><a href="FixSongsReport_00042_2013-09-01-18-44-47_discogs_Hans Zimmer.html">Hans Zimmer</a></li>
</ul>
</div>
</div>
相关文章:
- 如何创建加号[+]减号[-]切换,以扩展链接列表,并与Opera Mini兼容
- 访问可扩展QML应用程序中的列表视图索引
- 使用MediaSource扩展播放视频播放列表
- 使用jQuery创建扩展列表时出现问题
- 如何在 android 中的可扩展列表视图组和子项中加载 json 数据
- 如何检查我的 chrome 扩展程序的 if 语句中的单词列表
- 如何使用 java 脚本创建扩展的列表视图
- 可编辑的、扩展的引导输入列表控件
- 如何在扩展中重新绘制列表
- 在html 4中使用CSS或javascript折叠和扩展列表的最佳方式是什么
- jquery-mobile动态扩展列表视图;不起作用
- 在动态可扩展列表中标记单击的项目
- 将引导程序下拉列表扩展到可见页面的底部
- 我可以从我的Chrome扩展中获得可用的区域设置翻译列表吗
- 使用弹出控件扩展程序Asp.net在更新面板内维护滚动位置复选框列表
- Api获取浏览器中安装的扩展列表
- 创建可扩展列表以显示其余内容
- 在可扩展列表上使用fontaawesome
- 未捕获的JS错误在Extbase扩展排序记录在列表视图
- 将无序列表扩展到浏览器宽度(html/css)