This example is based on someone else's example. It turns out that guy used a general method to write an infinite folding menu. I would like to thank him in advance! Later, I made some simplified modifications and changed the original example into an object-oriented approach. The small expanded and closed icons in the example can be re-added by myself to better view the effect.