【发布时间】:2016-08-02 17:24:54
【问题描述】:
我有一个使用引导程序的动态菜单,但一个菜单按钮有大约 14 个子项。对于一个网站来说太长了,所以我想把它分成两半。
这是我要复制的代码:
<ul class="dropdown-menu dropdown-menu-large row" role="menu">
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Life Insurance</a></li>
<li><a href="life-insurance.html">Home Insurance</a></li>
<li><a href="life-insurance.html">Travel Insurance</a></li>
<li><a href="life-insurance.html">Pet Insurance</a></li>
</ul>
</li>
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Boat Insurance</a></li>
<li><a href="life-insurance.html">Auto Insurance</a></li>
<li><a href="life-insurance.html">Bike Insurance</a></li>
<li><a href="life-insurance.html">Business Insurance</a></li>
</ul>
</li>
</ul>
这是我尝试过的:
$tel = 1;
foreach ( $nmenuccr as $cmenu ) {
// If id matches and category id is 11 (services) split in half
if ( $cmenu['id'] && $cmenu['catid'] == '11' ){
if($tel == 1) {
$hmenu .= '<li class="col-sm-6"><ul>';
}
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a></li>
';
if(($tel % 7) == 0){
$hmenu .= '</ul></li> <li class="col-sm-6"><ul>';
}
$tel++;
if(($tel % 7) != 0){
$menu .= '</li>';
}
//Else use the normal dropdown layout
}else{
if (strlen($cmenu['title']) > 25){
$shortstrmen = substr($cmenu['title'], 0, 25) . '...';
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$shortstrmen.'</a>
';
}else{
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a>
';
}
}
}
但是这会返回以下代码:
https://jsfiddle.net/sms16v44/
有人看到我做错了吗?
【问题讨论】:
-
由于您的程序,您的额外标签不合适。例如,您正在循环中间进行 ++ing。您的某些
- 也缺少结束标记
-
是的.. @jjonesdesign OP 忘记关闭此行中的 标签
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a> -
感谢我编辑了这篇文章。 @jjonesdesign 我只发现一个错过了结束标签,你指的是哪一个?
-
如果我删除 UL 标签,它会起作用,但它不会将 col-md-6 类包裹在 7 个项目周围,而是立即关闭。就像你在这里看到的:i.gyazo.com/90dae793d61e068a308a1c6ecb729457.png
-
在 ++ 之后将
</li>添加到$menu而不是$hmenu是否正确?你能举个$nmenuccr的例子吗?
标签: php html twitter-bootstrap