作者mrbigmouth (拒绝崩溃的蒲公英)
看板PHP
标题Re: [请益] 开鱼可折叠选单
时间Sun Jul 15 20:44:54 2012
听说有个板叫ajax是专门讨论javascript的
不过我还是回一些简单的code好了
这种情况我倾向用hash纪录
一开始就先预设把所有导览列隐藏
<div id="nav">
<ul style="display:none;">
<li>导览列一连结一</li>
<li>导览列一连结二</li>
</ul>
<ul style="display:none;">
<li>导览列二连结一</li>
<li>导览列二连结二</li>
</ul>
</div>
在ready的时候读取hash值去自动展开
$(document).ready(function(){
var hash = windiw.location.hash.substr(1);
$('#nav ul:eq('+ hash + ')').show();
});
这样如果你连结到该页时,如果要让导览列一自动打开就在连结後自动加一个#0
要让二打开就加#1
为了可读性,还可以考虑在ul上用data属性纪录其名称
<div id="nav">
<ul style="display:none;" data-nav="user">
<li>user导览列的连结一</li>
<li>user导览列的连结二</li>
</ul>
<ul style="display:none;" data-nav="board">
<li>board导览列的连结一</li>
<li>board导览列的连结二</li>
</ul>
</div>
$(document).ready(function(){
var hash = windiw.location.hash.substr(1);
$('#nav ul[data-nav="' + hash + '"]').show();
});
这样要让user导览列打开就在连结後加#user
要让board打开就加#board
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.164.71.105
1F:推 rjackie:感谢,但是我是用资料库拉资料的也可以这样做吗? 07/15 22:52
2F:推 rjackie:因为我的<li>只会有一个,但是资料库中有一堆 07/15 22:56
3F:→ mrbigmouth:javascript是前端 跟你後端要怎麽拉资料怎麽做没关系 07/16 14:50
4F:→ mrbigmouth:我给的程式是不管有多少ul,li都能做的 07/16 14:50