Css 在Safari中重新加载iPhone Web App Div标记

Css 在Safari中重新加载iPhone Web App Div标记,css,html,javascript,iphone,Css,Html,Javascript,Iphone,我的iOS网络应用程序是用HTML和CSS编写的。我有一个显示/隐藏div层的文本链接。它可以完美地工作,但当我改变div标签的可见性时,它会在safari中重新加载页面,而不是在webapp中显示div。以下是我启用Webapp界面的代码: <meta name="apple-mobile-web-app-capable" content="yes"> 以下是单击链接时显示div标记的javascript: <script language="javascript"&g

我的iOS网络应用程序是用HTML和CSS编写的。我有一个显示/隐藏div层的文本链接。它可以完美地工作,但当我改变div标签的可见性时,它会在safari中重新加载页面,而不是在webapp中显示div。以下是我启用Webapp界面的代码:

<meta name="apple-mobile-web-app-capable" content="yes">

以下是单击链接时显示div标记的javascript:

<script language="javascript"> 
 <!--
 var state = 'none';

 function showhide(layer_ref) {

 if (state == 'block') { 
 state = 'none'; 
 } 
 else { 
 state = 'block'; 
 } 
 if (document.getElementById &&!document.all) { 
 hza = document.getElementById(layer_ref); 
 hza.style.display = state; 
 } 
 } 
 //--> 
 </script>

div层: 内容

最后,显示div的链接:

<a href="#" class="Action" onclick="showhide('optionpanel');">Menu</a>

我认为
display='block'
的定义是显示div,同时强制重新加载。所以你看到的是它的工作原理

要使div在不重新加载/更新的情况下可见,需要设置可见性标志。使用:

hza.style.visibility = state;

其中状态为“可见”或“隐藏”。

添加
是否返回false
showhide
help?

的末尾,这似乎主要与编程有关。这就是StackOverflow的领域。设置可见性而不是显示会导致文档中出现巨大的空白,而丢失的
将导致空白。因此,这实际上没有什么区别-我的浏览器仍在跳转到页面顶部(但不是重新加载)