【问题标题】:iPhone Web App Div Tag Reloading in SafariiPhone Web App Div 标签在 Safari 中重新加载
【发布时间】:2010-11-03 02:42:20
【问题描述】:

我的 iOS Web 应用程序是用 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>

【问题讨论】:

  • 这似乎主要与编程有关。这是 StackOverflow 的领域。

标签: css html javascript iphone


【解决方案1】:

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

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

hza.style.visibility = state;

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

【讨论】:

  • 设置可见性但不显示会导致文档中出现巨大的空白,而缺少的&lt;div&gt; 会消失
  • 另外,这实际上并没有什么不同 - 我的浏览器仍然跳到页面顶部(虽然没有重新加载)
【解决方案2】:

showhide 末尾添加return false; 有帮助吗?

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2011-02-23
    • 1970-01-01
    • 2018-12-23
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多