无限极下拉菜单(两种方式实现:递归/递归+DOM)

1.第一种思路:递归

无论哪种思路实现都需注意不能生成一级菜单后直接渲染到页面,而是需要生成所有的DOM节点及内容后,才一次性渲染到页面。

思路:

根据pid和id进行关联是否是父子级菜单

最终是将所以递归获得的数据渲染到页面,所以递归函数需要有返回值;

展开收缩思路:

找到当前元素,如果是展开的,直接收缩;

如果是收缩的,获取当前元素下的所有ul标签,将所有同级元素全部隐藏,再将当前元素进行显示




    
    
    
    Document
    
    


    

2.第二种思路实现:递归+DOM




    
    
    
    Document
    
    


    

 

你可能感兴趣的:(前端,JS高级)