Javascript 导航列表问题
我正在开发下面的一个小应用程序,其中有一个列表项的集合。所有列表项都应该在框中,无论第二列中有多少个列表项。另外,我想对可以显示的列表项的数量保持一个限制,比如不超过10个,所以当有10个项目时,第10个项目应该被省略,并且“全部查看”应该被显示。因此,一旦用户单击View All,他就可以直接进入第二页,并显示所有项目Javascript 导航列表问题,javascript,html,css,listbox,html-lists,Javascript,Html,Css,Listbox,Html Lists,我正在开发下面的一个小应用程序,其中有一个列表项的集合。所有列表项都应该在框中,无论第二列中有多少个列表项。另外,我想对可以显示的列表项的数量保持一个限制,比如不超过10个,所以当有10个项目时,第10个项目应该被省略,并且“全部查看”应该被显示。因此,一旦用户单击View All,他就可以直接进入第二页,并显示所有项目 <style> ul { height: 20px; overflow: hidden; width: 180
<style>
ul {
height: 20px;
overflow: hidden;
width: 180px;
}
li {
display: block;
float: left;
height: 20px;
width: 20px;
}
ul.unlimited {
height: auto;
}
#view_all {
display: none;
}
</style>
下面是我的代码
谢谢
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
#container {
border: 1px dotted #D7D7D7;
padding: 0px 5px 5px 8px;
height: 250px;
width: 250px;
}
#heading {
}
ul {
display: inline;
}
ul li{
display: block;
}
</style>
</head>
<div id="container">
<div id="heading">Style </div>
<ul>
<li> >>1 </li>
<li> >>2 </li>
<li> >>3 </li>
<li> >>4 </li>
<li> >>5 </li>
<li> >>6 </li>
</ul>
</div>
<body>
</body>
</html>
无标题文件
#容器{
边框:1px点#d7d7;
填充:0px 5px 5px 8px;
高度:250px;
宽度:250px;
}
#标题{
}
保险商实验室{
显示:内联;
}
ulli{
显示:块;
}
风格
- >>1
- >>2
- >>3
- >>4
- >>5
- >>6
如果您希望限制显示的项目数量,您可以在列表项目上使用固定宽度,并隐藏溢出,以避免显示其他项目
<style>
ul {
height: 20px;
overflow: hidden;
width: 180px;
}
li {
display: block;
float: left;
height: 20px;
width: 20px;
}
ul.unlimited {
height: auto;
}
#view_all {
display: none;
}
</style>
保险商实验室{
高度:20px;
溢出:隐藏;
宽度:180px;
}
李{
显示:块;
浮动:左;
高度:20px;
宽度:20px;
}
无限量{
高度:自动;
}
#查看所有{
显示:无;
}
否用于显示“查看全部”链接。我建议在服务器端生成。但是,如果您无法控制这一点,您可以使用javascript实现这一点,例如,您可以制作一个简单的jquery脚本:
<script>
$(document).ready(function() {
if ($("#container ul li").length > 9) {
$("#view_all").show().click(function() {
$("#container ul").addClass("unlimited");
return false;
});
}
});
</script>
$(文档).ready(函数(){
如果($(“#集装箱ul li”)。长度>9){
$(“#查看全部”).show()。单击(函数(){
$(“#容器ul”).addClass(“无限”);
返回false;
});
}
});
在这里,我假设您的html中嵌入了一个id为“view\u all”的锚。你可以看到我们在这里做什么。CSS默认情况下隐藏“查看所有”链接,并在列表上使用固定的宽度和高度。如果有超过10个项目,它们将不可见,因为默认样式仅允许显示9个项目。但是,jquery脚本将告诉web浏览器使“视图所有”链接可见。然后我们在该链接上分配一个click事件处理程序。这将对列表应用一个类,该类删除允许显示所有列表项的固定高度
<style>
ul {
height: 20px;
overflow: hidden;
width: 180px;
}
li {
display: block;
float: left;
height: 20px;
width: 20px;
}
ul.unlimited {
height: auto;
}
#view_all {
display: none;
}
</style>
您可以通过多种不同的方式处理此问题,但这是一个简单的解决方案。还要注意的是,您希望在未排序的列表中添加一个id或类,以便在CSS/JS代码中更加明确。请参见昨天的问题: