2013-02-22 132 views
0

我正与一个移动应用程序,其中 第一页有jQuery Mobile的页面波动

HTML工作

<ul> 
    <li>121212</li> 
    <li>123233</li> 
    <li>232323</li> 
    <li>4323423</li> 
    <ul> 

当 “礼” 的用户点击,那么他/她进入了下一页,该页面将通过Ajax检索与选定“li”相关的数据。 这几乎是好的..

但是当Ajax响应来页面波动2倍。 意味着一次页面加载,下次页面全白,然后再次显示Ajax响应页面。 为什么?

Ĵ查询

$("clickOnLi").click(function(){ 
     var id= $(this).val(); //get the selected li value 
     $('.loadingGif').css({ 'display':'block' }); 
     $("#ulShowContent").html(''); // to remove old inner HTML to show new result html 
     var dataString = 'selectedid='+id; 
     $.ajax({ 
      type: "POST", 
      url: remoteUrl+"handler.php", 
      data : dataString, 
      cache: true, 
      success: function(response) { 
       if(response){ 
        $('.loadingGif').css({ 'display':'none' }); 
        $("#ulShowContent").html(response); 
       } 
       } 
     }); 
    }) 



**and the result will show in this html** 


<ul id="ulShowContent" data-role="listview"> 
    <li class="comment chatsend"> 
     <div class="comment-meta"> 
      data 1 
     </div> 
    </li> 

    <li class="comment chatsend"> 
     <div class="comment-meta"> 
      data 2 
     </div> 
    </li> 
</ul> 
+0

很少的问题。在换页之前或之后,你会做一个ajax调用吗? – Gajotres 2013-02-22 08:55:05

回答

1

你需要改变你如何处理换页和AJAX调用

我有什么从你的问题了解,请点击LI元素后,页面的变化进行初始化和AJAX呼叫发送到PHP服务器。

您将需要更改此逻辑。页面起伏是由于在从一个页面到另一个页面的过渡期间执行的调用导致的AJAX

这个问题可以这样:

  • 在第一页从列表元素
  • 删除HREF属性的单击事件添加到每个列表元素
  • AJAX呼叫应点击事件执行,同时显示您的自定义加载器(或使用默认的加载器)
  • 当服务器端数据被检索d您需要存储它,以便可以从另一个页面访问它。在这里,你会发现我的其他ANSWER在这里你可以找到在页面转换存储数据的各种方法,或发现它HERE,只是寻找一个叫章:数据/参数页面过渡之间操纵(你最好的选择是a localstorage)。
  • 初始化changePage功能
  • 页面改变在一个pagebeforeshow事件(尚未显示的页面)的新数据添加到新的容器
  • 当第二页最后表示一切将在那里和
+0

好吧,先生,我会尝试你的建议..并会给你+1如果这个问题将解决...这个建议似乎太好了。 – 2013-02-22 09:46:47

+0

如果你想/需要我会给你一个基本的工作演示,我曾经帮助别人。 – Gajotres 2013-02-22 10:04:32

+0

是的,先生..这将帮助我..谢谢你.thanx很多.. – 2013-02-22 10:19:12