I'm not sure to understand you question, but lets say
I do. First, you should place all your UI elements from each menu as children of an empty GameObject that is child of the canvas, and do that for each scene. By default, lets say for the right scene, you place the Container GameObject on the right outside of the canvas / where the player cant see the UI. When youll try to switch to the right menu, use a DontDestroyOnLoad function to keep the visual elements of the middle scene, why you open the right scene (and remember the right scene UI is not visible yet). Then you use a simple transform.Translate in the Update to translate the Container GameObject of the right scene to the right, while you do the same with the middle scene GameObjects to get them out of the players view. Finally, you destroy the DontDestroyOnLoad gameObjects with a GameObject.Find function. I know this isn't clear, excuse my bad english :b