我在最近的项目中将奇妙的Stellar.js(http://markdalgleish.com/projects/stellar.js/)用于视差,但是遇到了一个挑战:
当我通过AJAX更改内容时,Stellar没有注意到(在这种情况下,是从html文件加载新的div并使用jQuery的replaceWith方法)。因此,即使我的新元素具有恒星数据属性,也没有视差。
我尝试过在AJAX完成后在窗口上再次调用.stellar函数,但是它什么也没做。
如何获得Stellar正确将视差应用于元素中的新AJAX?
最佳答案
我知道这个问题已发布很久了,但是对我来说,上述解决方案不起作用,所以我只想分享对我有用的问题。
AJAX调用成功后,您可以像下面这样调用Stellar的刷新功能:
$.stellar('refresh');
这是完整的代码:
$.ajax({
type: 'GET',
url: ajaxUrl
}).done(function(data) {
$(targetElement).html(data);
$.stellar('refresh');
}).fail(function() {
// Do something else
});