我完成了我的作业,代码可以正常工作并完成我想要的工作。
目的如下:
我有一个包含6个选项的菜单。当我单击一个选项时,此选项保持亮起,然后其余部分被取消激活,并且必须在单击时使用一个和每个选项连续发生。我来到以下代码来控制我的应用程序顶级菜单,因为我说它的工作原理和我想要的完美无瑕。但我关注的是以下几点。既然我不熟悉php编程和编程,还在学习,我想知道这是否是正确的方法,或者这是最糟糕的?这段代码也可以优化吗? 我试过使用开关但是失败了T_T。
提前感谢;)
欢呼JotaDG
--------------- ---------------------代码
<ul class="floating left">
<?php
if ($Section=='1'){?>
<li><a class="on" href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a href="<?php echo $urlHelp;?>">Help</a></li>
<li><a href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a href="<?php echo $urlNews;?>">News</a></li>
<li><a href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }
elseif ($Section== '2'){?>
<li><a href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a class="on" href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a href="<?php echo $urlHelp;?>">Help</a></li>
<li><a href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a href="<?php echo $urlNews;?>">News</a></li>
<li><a href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }
elseif ($Section== '3'){?>
<li><a href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a class="on" href="<?php echo $urlHelp;?>">Help</a></li>
<li><a href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a href="<?php echo $urlNews;?>">News</a></li>
<li><a href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }
elseif ($Section== '4'){?>
<li><a href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a href="<?php echo $urlHelp;?>">Help</a></li>
<li><a class="on" href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a href="<?php echo $urlNews;?>">News</a></li>
<li><a href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }
elseif ($Section== '5'){?>
<li><a href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a href="<?php echo $urlHelp;?>">Help</a></li>
<li><a href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a class="on" href="<?php echo $urlNews;?>">News</a></li>
<li><a href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }
elseif ($Section== '6'){?>
<li><a href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a href="<?php echo $urlHelp;?>">Help</a></li>
<li><a href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a href="<?php echo $urlNews;?>">News</a></li>
<li><a class="on" href="<?php echo $urlGuide;?>">Guide</a></li>
<?php }?>
</ul>
答案 0 :(得分:2)
我想这样做
<?php
//define an array of itmes I just taken three define all items
$menu=array(
1=> array('Start'=>'http://someurl'),
2=> array('FAQ'=>'http://faqurl'),
3=>array('Help'=>'http://helpurl')
);
foreach($menu as $key => $menuArray)
{
foreach ($menuArray as $title => $url)
{
?>
<li><a <?php if ($Section==$key ) { echo 'class="on"';}?> href="<?php echo $url;?>"><?php echo $title; ?></a></li>
<?php
}
}
?>
如果稍后添加或更新任何网址或任何菜单,您不必再次查找整个逻辑,只需将这些更新添加到$menu
数组中。
答案 1 :(得分:0)
这可能是一种更加慷慨的方式,但这是一个开始:
<ul class="floating left">
<li><a <?php echo ($section == 1) ? 'class="on"' : '';?> href="<?php echo $StartUpUrl;?>">Start</a></li>
<li><a <?php echo ($section == 2) ? 'class="on"' : '';? href="<?php echo $urlListFAQ;?>">FAQ</a></li>
<li><a <?php echo ($section == 3) ? 'class="on"' : '';?> href="<?php echo $urlHelp;?>">Help</a></li>
<li><a <?php echo ($section == 4) ? 'class="on"' : '';?> href="<?php echo $urlDocs;?>">Docs</a></li>
<li><a <?php echo ($section == 5) ? 'class="on"' : '';?> href="<?php echo $urlNews;?>">News</a></li>
<li><a <?php echo ($section == 6) ? 'class="on"' : '';?> href="<?php echo $urlGuide;?>">Guide</a></li>
</ul>