Graham
Keyarn For a start <div> should not be in <span> div is a block element span is inline and your nesting is wrong
<p> should not be in <span> either and you have that nested wrong as well
wrap the menu code in a outer <div>
Separate script or add the function to the other
<script>
function show_hide(elem) {
obj = document.getElementById(elem);
if( obj.style.display == "none" ) {
obj.style.display = "block";
}
else {
obj.style.display = "none";
}}
</script>
<button onclick="show_hide('menu_outer')"> menu </button>
<div id="menu_outer" style="display:none>
your menu code goes here
</div>
Copy code Click the button to show the menu code
demo on
http://baretest.xtgem.com/button
remember a lot of mobile browsers cannot handle "dynamic" code
this nor the other will work on many versions of opera mini or ucweb