IE7中的jQuery .get和.append使当前内容消失

时间:2012-08-29 21:31:14

标签: jquery internet-explorer jquery-get

该代码适用于Firefox,Safari,Chrome和IE8 +,但不适用于IE7。它会导致内容消失。我在IE中尝试过开发人员工具,如果我在内容中找到其中一行并向其添加任何CSS,则内容会重新出现。

我在滚动事件上调用以下代码。当$(document).scrollTop()接近某个值时。

$.get('NewMoviesSub.aspx?c=' + (currentSet * 25).toString(), {
    curset: (currentSet * 25)
}, function(data) {
    var content = $(data).find('.movieTable');
    $("#MoviesDiv").append(content);
});​

我已逐步完成所有其他代码,$("#MoviesDiv")中的内容在代码中触发.append时消失。由于get是异步的,因此内容的更改在初始调用函数后的某个时间发生。所以这就是为什么我甚至关闭了滚动功能,我尝试了一个按钮调用,以确保该函数只被调用一次。但内容仍然消失了。

此代码旨在帮助我不断获得越来越多的电影。

('.movieTable')中的新内容是包含更多电影行的表格。无论我使用.append还是.appendTo,我都会得到相同的结果。

我看过其他例子,其中.append对其他人不起作用,我尝试了几种解决方案,没有人帮助过我。

编辑:如果您访问https://www.clearplay.com/NewMovies.aspx

,控制台将立即输出content

1 个答案:

答案 0 :(得分:1)

我正在寻找另一个解决另一个问题的方法,我遇到了这个:answer by Nick Berardi

他的回答是提供一种修复IE 6和7的方法,其中更改DOM IE时不更新。修复是导致父元素重绘。他建议使用jQuery css display none和block。我在我的问题上测试了它,它可以很好地解决症状。

我仍然希望有一个真正的解决方案来解决这个问题,但由于我不能花更多的时间来处理这个问题,我正在撰写这篇文章。

编辑:这只是略有作用。只要你没有将鼠标悬停在海报上它们仍会出现,但是当你滚动一段距离时,浏览器也需要花费很多时间来重新显示整个内容。