我在最近的项目中将奇妙的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

});

09-19 14:26