Hmmm, here goes…
First, what you knew before and are in the process of relearning you will find in WixCode. WixCode understands all of Javascript, except for anything that accesses the DOM. This in order to prevent the user from inadvertently “breaking” something. Accessing document elements such as div, span, button, etc is off-limits. The way to access elements on the page is only through $w.
As you’ve discovered, the one exception is the $w.HtmlComponent (which is based on an iFrame). This element was designed to contain vanilla HTML and it works just fine. You just can’t try to trick it by using parent, window, top, etc. Same goes with the Javascript evaluate() function. It is sandboxed and does not allow access to the DOM.
You can change several properties of the HtmlComponent as described in the API . However, you can’t make it “floating”, or change its size and layout.
You could put the HtmlComponent in a Lightbox, and the Lightbox would then open “in the middle” of the screen.
What might work out better for you would be to use dynamic pages . Each page would have a tour. You can customize the SEO using routers , so that each dynamic page would be indexed by Google.