【问题标题】:iScroll Ajax contentiScroll Ajax 内容
【发布时间】:2013-07-11 18:51:36
【问题描述】:

我在 ajax 加载后刷新包装器中的内容时遇到问题。

当我使用 firebug 检查时 - XHR 正在显示请求,我可以看到已加载的元素,但它没有显示在页面上。

这就是我用来获取 ajax 内容的 pullDown 函数

function pullDownAction () {
    setTimeout(function () {   
        var el, li, i;
        el = document.getElementById('thelist');
        var http = new XMLHttpRequest();
        var url = window.location;
        http.open("GET",url,true);
        http.send();
        myScroll.destroy();
                myScroll = null;
                loaded();
  }, 1000);   
}

看起来内容卡在网页上显示和 ajax 请求之间。

有什么想法吗?

【问题讨论】:

  • 请发布一些代码如何将动态内容附加到 html 标签。相反,如果使用 myScroll.destroy() 则使用 myScroll.refresh()。

标签: ajax iscroll


【解决方案1】:

myScroll.refresh()(而不是 .destroy() 并调用“loaded()”)应该可以解决问题! 如果您使用的是 IScroll4,您可以尝试使用 iscroll 的 checkDOMChanges:true 选项。

如果它仍然无法工作 - 可能是由于滚动包装器 (#scroller) 没有随其内容扩展而导致的 CSS 问题。 (float,position:absolute; 或类似的东西)

编辑:在我看来,您根本没有处理请求的 responseText!

根据this example,您需要onreadystatechange 事件的事件处理程序:

 http.open("GET",url,true);
 http.onreadystatechange = function () {
       if (http.readyState == 4) {
          alert(http.responseText); //handle this response! (i.e. writing to an element's innerHTML)
      }
 };
 http.send(null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2015-01-15
    • 1970-01-01
    相关资源
    最近更新 更多