我已经开发了一个用于wordpress的小部件来显示组合,用户可以选择是否要分页,过滤类别,每页发布的数量……等等,它完全适用于我制作的PHP分页系统.
我试图在小部件中为这个分页实现一个ajax jquery,使其重新加载而不重新加载整个页面.我有这个代码:
jQuery('.paginate a').live('click',function(e){ e.preventDefault(); var link = jQuery(this).attr('href'); jQuery('.widget_gantry_portfolio').html('<div class="loading"></div>'); jQuery('.widget_gantry_portfolio').load(link+' .widget_gantry_portfolio .portfolio_class');
分页在PHP中完美运行,当我实现此代码时,分页有效,但是当单击小部件时会丢失所有用户首选项(show filter,show pagination..etc),div也会丢失它们首先出现的计算的%宽度和高度在css(在firebug中看到):
element.style{width and height}
我已经有好几天了,已经证明了,而不是现场,on和委托,等等,但没有一个工作,这个ajax分页在我的网站上的帖子分页中也完美地工作但是小部件没有重新加载Dom元素?
对我来说最重要的是:
– 缺少宽度和高度的每个元素,在DOM css中,首先使用functions.PHP enqued脚本计算此宽度,例如当它有4列时:
var mysizes = function() { theWidth4 = jQuery(".mosaic-block4c img").css('width'); jQuery(".mosaic-block4c").css('width',theWidth4); theHeight4 = jQuery(".mosaic-block4c img").css('height'); jQuery(".mosaic-block4c").css('height',theHeight4); }
– 缺少类别的过滤器我认为,因为,当分页加载时,不识别用户的小部件预设.它在第一页中完全识别它,但在后续页面中没有.
链接到该网站,投资组合小部件分页无法正常工作(请点击2页查看):
解决方法
从
Jure C. comment开始:
A quick look shows that you’re at least changing HTML structure. On paginated page you have
.portfolio_class
twice nested while original is only once.