专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
PHP
当前位置:首页 > 技术文档 > PHP >  > 
dedecms 菜单三级放大特效

先添加三个函数:

//获取菜单ID
function getArcType($typeid)
{
    global $dsql;
    $row = $dsql->GetOne(" select * From `qrx_arctype` where id='$typeid' ");
    return "var arcType = {'topid':".$row['topid'].",'reid':".$row['reid']."};";
   
}
//获取下级菜单
function getArcTypeNext($typeid)
{
    global $dsql;
    $dsql->SetQuery(" select * From `qrx_arctype` where reid='$typeid' ");
    $dsql->Execute();
    $html .= " <div class='menu_body2'> ";
    while($arr = $dsql->GetArray())
    {
        $saveDir  = str_replace('{cmspath}','',$arr['typedir']);
        $html .="<a href='$saveDir' >".$arr['typename']."</a>";
    }
    $html .= " </div> ";
    return $html;
   
}
//获取同级菜单
function getArcTypeMenu($typeid)
{
    global $dsql;
    $row = $dsql->GetOne(" select * From `qrx_arctype` where id='$typeid' ");
    $reid = $row['reid'];
    $html = getArcTypeNext($reid);
    $row = $dsql->GetOne(" select * From `qrx_arctype` where id='$reid' ");
    $topid = $row['reid'];
   
    return "$('#m$topid').css('display','block');$('#m2m$reid').after(\"".$html."\");";
   
}

 <div class="menu_list">
  <p class="menu_head"><a href="/chanpinxinxi/CISCO_xiliechanpin">CISCO 系列产品</a></p>
        <div class="menu_body" id="m58" style="display:none">
{dede:channel typeid='58' type='sun' row='8'}
<a href="[field:typelink/]index.html" id="m2m[field:id/]" >[field:typename/]</a>
{/dede:channel}     
        </div>
       
       
<p class="menu_head"><a href="/chanpinxinxi/H3C_xiliechanpin">H3C 系列产品</a></p>
        <div class="menu_body" id="m59" style="display:none">
{dede:channel typeid='59' type='sun' row='8'}
<a href="[field:typelink/]index.html" id="m2m[field:id/]" >[field:typename/]</a>
{/dede:channel}     
        </div>

       
  <p class="menu_head"><a href="/chanpinxinxi/jigui">机柜</a></p>
  <div class="menu_body" id="m25" style="display:none">
{dede:channel typeid='25' type='sun' row='8'}
<a href="[field:typelink/]index.html" id="m2m[field:id/]" >[field:typename/]</a>
{/dede:channel}
     
        </div>

           
  <p class="menu_head"><a href="/chanpinxinxi/zonghebuxian">综合布线</a></p>
  <div class="menu_body" id="m24" style="display:none">
{dede:channel typeid='24'  type='sun' row='8'}
<a href="[field:typelink/]index.html" id="m2m[field:id/]" >[field:typename/]</a>
{/dede:channel}
     
        </div>   
       
  <p class="menu_head"><a href="/chanpinxinxi/anfangjiankong/">安防监控</a></p>
        <div class="menu_body" id="m23" style="display:none">
{dede:channel typeid='23' type='sun' row='8'}
<a href="[field:typelink/]index.html" id="m2m[field:id/]" >[field:typename/]</a>
{/dede:channel}
<!-- -->
        </div>
       
       


   
  </div>
 
</div>
</div>
<style>
.menu_body2 {margin-left:20px;}
</style>
<script type="text/javascript">
//$("#m{dede:field.typeid/}").css('display','block');
{dede:field.typeid function='getArcType(@me)'/}
//当父级ID为2 时
if(2 == arcType.reid)
{
    //显示自己
    $("#m{dede:field.typeid/}").css('display','block');
}
else
{
    //显示上级
    $("#m"+arcType.reid).css('display','block');
    //当有3级分类时加载第三级
    $("#m2m{dede:field.typeid/}").after("{dede:field.typeid function='getArcTypeNext(@me)'/}");
   
}
//同级菜单
{dede:field.typeid function='getArcTypeMenu(@me)'/};
</script>

 

使用Jquery 来完成。