不是很明确你的意思,是要实现这样无限级树形菜单么?

/*li {list-style-type:none;}*/

span{cursor: pointer;background-color: yellowgreen;font-size: 20px}

.hidden{display: none}

$arr = Array(

Array("cat_id" => 3, "cat_name" => "JavaScript", "parent_id" => 0, "level" => 0),

Array("cat_id" => 5, "cat_name" => "Jquery", "parent_id" => 3, "level" => 1),

Array("cat_id" => 6, "cat_name" => "JS高级", "parent_id" => 3, "level" => 1),

Array("cat_id" => 7, "cat_name" => "JS高级更高级1", "parent_id" => 6, "level" => 3),

Array("cat_id" => 8, "cat_name" => "JS高级更高级2", "parent_id" => 6, "level" => 3),

Array("cat_id" => 9, "cat_name" => "JS高级更高级3", "parent_id" => 6, "level" => 3),

Array("cat_id" => 4, "cat_name" => "PHP", "parent_id" => 0, "level" => 0),

Array("cat_id" => 10, "cat_name" => "PHP高级1", "parent_id" => 4, "level" => 0),

Array("cat_id" => 12, "cat_name" => "PHP高级2", "parent_id" => 4, "level" => 0),

Array("cat_id" => 13, "cat_name" => "PHP高级3", "parent_id" => 4, "level" => 0)

);

//创建树形菜单

function createTree(&$arr, $parent_id) {

$hide = "";

if ($parent_id != 0) {

$hide = "hidden";

}

$funcName = __FUNCTION__;

$ul = "";

$li = "";

for ($i = 0; $i < count($arr); $i++) {

if ($arr[$i]["parent_id"] == $parent_id) {

$child = $funcName($arr, $arr[$i]['cat_id']);

$li .= "\r\n

{$arr[$i]["cat_name"]}{$child}\r\n";

}

}

if ($li != "") {

$ul = "

  • {$li}

";

}

return $ul;

}

echo createTree($arr, 0);

?>

(function() {

$(".cate").hover(function() {

$(this).children("ul").show()

}, function() {

$(this).children("ul").hide()

})

})()

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐