你好我正在研究一个项目,在一个页面上的帖子是通过javascript mansory方法安排的。该mansory工作正常,但问题是当我做任何div的ajax加载时,如我有一个帖子表格,当任何用户提交帖子表格帖子在ajax加载后显示在div中但是然后mansory函数丢失我的意思是帖子通过简单的css html样式排列,空格如同没有mansory
这是我的mansory代码,如display js
(function($) {
// Finding min and max values in array
Array.prototype.min = function() {return Math.min.apply({},this);};
Array.prototype.max = function() {return Math.max.apply({},this);};
$.fn.masonry = function() {
this.each(function() {
var wall = $(this);
if (wall.children().length > 0) { // Check if the element has anything in it
if (wall.children('.masonry-wrap').length === 0) { // checks if the `.masonry-wrap` div is already there
wall.wrapInner('<div class="masonry-wrap"></div>');
}
var m_w = wall.children('.masonry-wrap'),
brick = m_w.children(),
b_w = brick.outerWidth(true),
c_c = Math.floor(m_w.width() / b_w),
c_h = [], this_col, i;
for (i = 0; i < c_c; i++) {
c_h[i] = 0;
}
m_w.css('position','relative');
brick.css({
'float':'none',
'position':'absolute',
'display':'block'
}).each(function() {
for (i = c_c - 1; i > -1; i--) {
if (c_h[i] == c_h.min()) {
this_col = i;
}
}
$(this).css({
'top':c_h[this_col],
'left':b_w * this_col
});
c_h[this_col] += $(this).outerHeight(true);
});
m_w.height(c_h.max()).parent().addClass('start-transition');
}
return this;
});
};
})(jQuery);
$(window).on("resize", function() {
$('#loderOFhere090').masonry();
}).trigger("resize");
HTML
<div id="loderOFhere090"> // i am loading this div by ajax
<div class="anyvlacsf"> </div> // these divs are under php while loop
// the post are arranged here.
</div>
表单提交和ajax加载
function postherepagejax(){
$.ajax({
type: "POST",
url: "pagepost.php",
data:$("#postform").serialize(),
success: function(res) {
$("#loderOFhere090").load("page.php #loderOFhere090");
$("#postform")[0].reset();
} }); return false; }
有没有什么东西可以帮助我实际上我想要的是重新排列主div loderOFhere090内的div后得到ajax加载。 在ajax加载后,mansory丢失了
任何帮助表示赞赏。谢谢你