閑來無事,記記筆記
二級導航的實現,就是一個二級聯動,嗯
先來看看資料庫,我喜歡用一個表,表多了就不好玩了
二級代號取一級導航的代號就行了,做個簡單的栗子;
代碼部分:
看控制器,大頭在這:
<?phpnamespace Otcms\controller;use Think\controller;use Otcms\controller\WxhController;use Think\index;class WxhController extends Controller{ public function index() { $cha = M('article'); $chaa = $cha->where("a_keyword = 274")->select(); foreach($chaa as &$v) { $aid = $v['a_id']; $aa = $cha->where("laiyuan = $aid")->select(); //判斷是否有二級菜單 if(empty($aa)) { $v['shao']=""; } else{ $v['shao']= $aa; }//dump($aa); } $this->assign('chaa',$chaa); $this->display('Wxh:public/25-1index'); }}
嗯 第一個sql是一級導航的 第二個就是查的二級導航,
看前端代碼:
<nav class="nav"> <ul class="ul1"> <foreach name="chaa" item="ab"> <li class="li1"> <a href="about.html">{$ab.a_title}</a> <if condition=" $ab['shao'] neq '' "> <ul> <foreach name="ab[ 'shao'] " item="v "> <li> <a href="about.html ">{$v.a_title}</a> </li> </foreach> </ul> <else /> </if> </li> </foreach> </ul> </nav>
這裡的 <if condition=" $ab['shao'] neq '' ">是判斷是否為空白
高亮顯示:
var pathArray = location.pathname;$aa=$("a[href='"+pathArray+"']").$dd.addClass("current");
這兩句代碼可以搞定大多數導航高亮,
遇到特殊的需要使用:可以取到他的父級:用parents
<script type="text/javascript">var pathArray = location.pathname;$("a[href='"+pathArray+"']").parents('li').addClass("current");</script>