【问题标题】:Jquery Mobile - Slow with page transitionsJquery Mobile - 页面转换速度慢
【发布时间】:2011-09-21 08:04:38
【问题描述】:

使用 jquery mobile Im 使用持久页眉和页脚。页脚导航具有选项卡,当您单击选项卡时,它会通过 ajax 加载页面。问题是从一个页面到另一个页面的转换,即 ajax 加载具有特定 id 的 div,非常慢。页面转换需要 2-5 秒。当我单击一个选项卡时,它会突出显示不同的颜色但没有任何反应,然后几秒钟后就会发生过渡。有时,如果您单击快速布局中断并且页脚消失。我在 ipad 上使用最新版本的 jquery mobile 执行此操作。 jquery mobile真的很慢吗?等到 ios5 会改变一切吗?

更新

这是一段sn-p代码:

<div data-role="page" id="page1">
  <div data-role="header" data-position="fixed">
    <h1>Page Title</h1>
    <a href="#dialog" data-transition="slidedown" data-icon="check">Add</a>
  </div>
  <div data-role="content">
    <ul data-role="listview">
      <li data-role="list-divider"><span class="ui-li-count">2</span></li>
      <li>
        <h3>Stephen Weber</h3>
        <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p>
        <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p>
        <p class="ui-li-aside"><strong>6:24</strong>PM</p>
      </li>
</ul>
  <div data-role="footer" class="nav-glyphish-example" data-id="myfooter" data-position="fixed"> 
    <div data-role="navbar" class="nav-glyphish-example" data-grid="b">
      <ul>
        <li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li>
        <li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li>
        <li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li>
      </ul>
    </div>
  </div>

<div data-role="page" id="page2">
  <div data-role="header" data-position="fixed">
    <h1>Page Title</h1>
    <a href="#dialog" data-transition="slidedown" data-icon="check">Add</a>
  </div>
  <div data-role="content">
    <ul data-role="listview">
      <li data-role="list-divider"><span class="ui-li-count">2</span></li>
      <li>
        <h3>Stephen Weber</h3>
        <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p>
        <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p>
        <p class="ui-li-aside"><strong>6:24</strong>PM</p>
      </li>
</ul>
  <div data-role="footer" class="nav-glyphish-example" data-id="myfooter" data-position="fixed"> 
    <div data-role="navbar" class="nav-glyphish-example" data-grid="b">
      <ul>
        <li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li>
        <li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li>
        <li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li>
      </ul>
    </div>
  </div>

【问题讨论】:

  • 提供一些代码来显示你真正在做什么?锚是如何提供的?您是否使用页面定义来加载页面?添加一些代码,会有所帮助..
  • 尝试删除页面过渡动画,看看它是否更快地加载页面。这将缩小是永远持续的 ajax 请求还是动画本身。

标签: jquery-mobile


【解决方案1】:

我也遇到了同样的问题。禁用花哨的屏幕转换为我修复了它。

要普遍做到这一点:

$.mobile.defaultPageTransition = 'none';

【讨论】:

  • 使用 RC3 显着提高了性能。升级 Jquery Mobile 也会有所帮助。
【解决方案2】:

有时如果您单击以加快布局中断和页脚 消失:

这个问题已经在这里解决了,还没有找到解决方案:https://stackoverflow.com/questions/7484522/jquerymobile-click-on-background-fires-event-header-footer-data-position-fixe

关于加载时间,这真的很奇怪,尝试通过删除部分代码来关注错误,并缩小加载时间过长的位置和原因...希望这会有所帮助。

【讨论】:

  • 我也在 jquery mobile 上使用 scrollview 插件。这会对页面之间的加载有任何影响吗?
  • 其实只是去掉了scrollview插件,并没有快多少。基本上我在页脚中有标签,当我单击转到另一个标签时,它会在那里停留几秒钟。然后发生页面转换,在本例中为幻灯片。然后我单击页脚中的上一个选项卡,它再次挂起几秒钟,然后转换回上一个选项卡。这不仅看起来/感觉很笨重,它还为双击的人留下了空间,当发生这种情况时,会发生奇怪的事情,比如一半的页面消失了,页脚消失了,或者什么也没有发生。
  • 尝试缩小错误的来源(不包括代码的逐步部分),在我看来这不是正常的 JQM 行为。 iPad本身运行正常吗?后台有什么让它变慢或让它等待的东西?
  • 我尝试尽可能地剥离它,仍然是同样的问题。我有一个 ipad1 和一个 ipad2 并且都继续有同样的问题。
  • 运气好吗?我们有同样的问题。
【解决方案3】:

您多次使用相同的 ID。对我来说,它引起了类似的问题。尝试删除/更改重复的 ID。

例如,您只需复制粘贴此部分以将其复制到第二页:

<li><a href="#page1" data-transition="reverse slide" id="chat" data-icon="custom" class="ui-btn-active ui-state-persist">Link 1</a></li>
<li><a href="#page2" data-transition="slide" id="email" data-icon="custom">Link2</a></li>
<li><a href="#page3" data-transition="slide" id="skull" data-icon="custom">Link 3</a></li>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2011-12-16
    • 2012-02-25
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多