jQuery Mobile - 转换和页面更改

时间:2011-03-30 21:44:04

标签: javascript jquery ajax jquery-mobile

我正在努力让jQuery移动设备意识到当我点击某个链接时,请使用路径/?date={n}来呼叫服务器,其中n是代表今天的天数。到目前为止,JS文件如下所示:

(function() {
  $(document).ready(function() {
    var m, move;
    m = parseInt($("#main")[0].getAttribute("data-message"));
    $("a#m_previous").click(function() {
      return move(-1, true);
    });
    $("a#m_next").click(function() {
      return move(1, false);
    });
    return move = function(direction, slide) {
      m += direction;
      return $.mobile.changePage({
        url: '/',
        type: 'get',
        data: {"date": m}
      }, "slide", slide, false);
    };
  });
}).call(this);

作为docs mention,$ .mobile.changePage需要一些参数作为它应该检查的路径,动画,反向和changeHash。因此,虽然我相信我正在做出所有正确的举动,但事情并没有奏效。

在调用此函数时,它成功发出了URL请求,提供了必要的HTML,但它没有通过转换部分。一个小弹出窗口出现说“加载”,但就是这样。

我在这里缺少什么?为了成功完成页面转换,我需要做什么?

非常感谢任何帮助。

编辑:所以文档进来了,我可以在网络检查器中看到它。但它没有加载,所以我尝试了以下内容:

(function() {
  $(document).ready(function() {
    var m, move;
    m = parseInt($("#main")[0].getAttribute("data-message"));
    $("a#m_previous").click(function() {
      return move(-1, true);
    });
    $("a#m_next").click(function() {
      return move(1, false);
    });
    return move = function(direction, slide) {
      m += direction;
      return $("body").load('/?date=' + m + 'main', $.mobile.changePage('/?date=' + m, "slide", slide, false));
    };
  });
}).call(this);

这样就完成了调用并转换到下一页。 然而,有一些警告:
*滑动动画不会发生。 * CSS样式表不会在移动设备上加载并保留“加载”框。但它适用于Webkit Nightly ......

布局的结构如下:

id=body data-role='page'
    data-role=header
    id=day_header data-role=header
    id=main data-role=content

将'load'方法更改为其他选择器不起作用。

HALP!