- It doesn't take into account flowed objects above or below it. If there are header elements that span the width of the page this can cause the menu to overlap these elements if they expand too far below the hard-coded distance of the menu from the top of the page.
- If the text size is increased by the user too much (using the browser text size controls) the menu itself could run off the bottom of the page.
Some level of coding prowess will always be required to implement something like this if one wants to ensure that no problems will crop up in the process, there are just too many variables that can affect the implementation. So in the end this isn't truly drop-in code (at the very least certain formatting guidelines must be followed). I could probably make some changes to the script that would allow it to be more flexible, but at what cost?
I guess in the end I need to decide how flexible I want this code to be. I could easily fix the code so that it works fine in this project, but would require extra effort if it is implemented in a future project. On the other hand I could try to make the code as general as possible, but that would require a bit of inflexiblity of implementation. I'll need to think about which direction I want to go with this before I put too much more work into it.