PHP菜单项计数,然后在“更多”按钮下添加
我使用下面的代码从一些CMS加载主菜单元素,目前的代码是完美的,除了它加载一行菜单上的所有主要项目-这将使它的宽度在任何中心设计(低于1000px)不可用。。我想更改此脚本,以便在15个主要元素之后添加一个“更多”按钮,在该按钮下,其他主菜单项将显示为此“更多”按钮的子项(它们不会像前15个那样有自己的子项)。。我怎么做? 谢谢PHP菜单项计数,然后在“更多”按钮下添加,php,button,menu,items,Php,Button,Menu,Items,我使用下面的代码从一些CMS加载主菜单元素,目前的代码是完美的,除了它加载一行菜单上的所有主要项目-这将使它的宽度在任何中心设计(低于1000px)不可用。。我想更改此脚本,以便在15个主要元素之后添加一个“更多”按钮,在该按钮下,其他主菜单项将显示为此“更多”按钮的子项(它们不会像前15个那样有自己的子项)。。我怎么做? 谢谢 我个人会使用CSS和Javascript(+jQuery)来实现这一点 使用Javascript查找ul#ddmenu中索引为15或更多的lis,并为它们指定不同的类。
我个人会使用CSS和Javascript(+jQuery)来实现这一点
使用Javascript查找ul#ddmenu
中索引为15或更多的li
s,并为它们指定不同的类。然后,添加“更多”按钮,并使用onclick/hover等显示剩余的li
s
<?php
require_once( '../../../inc/header.inc.php' );
require_once( DIRECTORY_PATH_INC . 'membership_levels.inc.php' );
require_once( DIRECTORY_PATH_ROOT . "templates/tmpl_{$tmpl}/scripts/TemplMenu.php" );
class SimpleMenu extends TemplMenu
{
function getCode()
{
$this->iElementsCntInLine = 100;
$this->getMenuInfo();
$this->genTopItems();
return $this->sCode;
}
function genTopItem($sText, $sLink, $sTarget, $sOnclick, $bActive, $iItemID, $isBold = false, $sPicture = '')
{
$sActiveStyle = ($bActive) ? ' id="tm_active"' : '';
if (!$bActive) {
$sAlt= $sOnclick ? ( ' alt="' . $sOnclick . '"' ) : '';
$sTarget = $sTarget ? ( ' target="_parent"' ) : '';
}
$sLink = (strpos($sLink, 'http://') === false && !strlen($sOnclick)) ? $this->sSiteUrl . $sLink : $sLink;
$sSubMenu = $this->getAllSubMenus($iItemID);
$sImgTabStyle = $sPictureRep = '';
if ($isBold && $sPicture != '') {
$sPicturePath = getTemplateIcon($sPicture);
$sPictureRep = "<img src='{$sPicturePath}' style='vertical-align:middle;width:16px;height:16px;' />";
$sText = ' ';
$sImgTabStyle = 'style="width:38px;"';
}
$sMainSubs = ($sSubMenu=='') ? '' : " {$sSubMenu} </a>";
$this->sCode .= "
<li><a href='{$sLink}' {$sOnclick} target='_parent'>{$sPictureRep}{$sText}</a>
<div id='submenu'>
<ul>
<li>{$sMainSubs}</li>
</ul>
</div>
</li>
";
}
}
$objMenu = new SimpleMenu();
echo "<ul id='ddmenu'>";
echo $objMenu->getCode();
echo "</ul>";
?>