二级导航的实现,就是一个二级联动,嗯
先来看看数据库,我喜欢用一个表,表多了就不好玩了


二级代号取一级导航的代号就行了,做个简单的栗子;
代码部分:
看控制器,大头在这:
<?php
namespace Otcmscontroller;
use Thinkcontroller;
use OtcmscontrollerWxhController;
use Thinkindex;
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>| 欢迎光临 一起源码网 (https://www.171739.xyz/) | Powered by Discuz! X3.3 |