菜单树的功能:
function category_tree($parent_id) { $sql = "SELECT * FROM menu WHERE parent_id ='".$parent_id."'"; $result = $conn->query($sql); echo "<div id=\"wrapper\"> <div id=\"navmenu\">"; while($row = MysqLi_fetch_object($result)): $i = 0; if ($i == 0) echo '<ul>'; echo '<li>' . $row->name; category_tree($row->id); echo '</li>'; $i++; if ($i > 0) echo '</ul>'; endwhile; echo "</div> </div>"; }
CSS文件:
#navmenu { margin: 0; padding: 0; } #navmenu ul{ margin: 0; padding: 0; height:30px; } #navmenu li{ margin: 0; padding: 0; list-style: none; float: left; position: relative; background:#09F; } #navmenu ul li a{ text-align:center; text-decoration:none; font-family:Arial,Helvetica,sans-serif; height:30px; width:150px; display:block; color:#000066; padding-top:7px; } #navmenu ul ul{ position:absolute; visibility: hidden; top:30px; } #navmenu ul li:hover ul { visibility:visible; } #navmenu li:hover { background:#3366CC; } #navmenu ul li:hover ul li a:hover{ background:#03C; color:#FFFFFF; }
结果是没有使用div元素(id = wrapper,id = navmenu)运行良好,请参阅:
当我放回div元素(id = wrapper,id = navmenu)时,它不会发生我想要的:
我想:当我在“Felso菜单”上的光标显示下拉菜单(Sport,Ekszer,Egyeb)时,如果我在“Foci”上的光标显示下拉菜单(Mezek,Egyeb,Utok,Labdak)等…想法我该怎么做,或者如何修复我的代码?
解决方法
好.我解决了这个问题,这是我的代码:
function get_menu_tree($parent_id) { global $conn; $menu = ""; $sqlquery = " SELECT * FROM menu where parent_id='" .$parent_id . "' "; $res=MysqLi_query($conn,$sqlquery); while($row=MysqLi_fetch_array($res,MysqLI_ASSOC)) { $menu .="<li><a href='".$row['link']."'>".$row['name']."</a>"; $menu .= "<ul>".get_menu_tree($row['id'])."</ul>"; //call recursively $menu .= "</li>"; } return $menu; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。