恐怕不是最清晰的标题。
我的网站有一个搜索页面,它最初会加载任何查询的前 6 个结果,然后再加载 6 个,直到屏幕已满或用户向下滚动。
在页面顶部,我尝试添加一些过滤器,其中包括淡出任何缺货项目结果。
因此,后面的代码将“outOfStock”类添加到缺货产品的任何项目容器中。然后非常简单的 jQuery 可以淡出这些并切换按钮文本:
$('#inStockOnly').click(function () {
var buttonText = $(this).html();
$('.outOfStock').fadeOut('slow');
$(this).html(buttonText == "Show All Items" ? "In Stock Only" : "Show All Items");
});
这很好,当然它只对已显示的项目执行此操作,因此当用户向下滚动页面时,AJAX 会加载更多结果,但此过滤器不适用于这些结果。
当然,再次按下按钮然后在一半项目上错误地切换淡入淡出!
我已经尝试添加$('.outOfStock').css('display','none')
到 AJAX 成功函数的返回,但这似乎不起作用,即使它起作用了,它仍然会在加载时显示结果,然后立即隐藏它们,这不是我的结果把目标放在。
display:none
如果之前单击过元素inStockOnly
(或者如果它有文本Show All Items
),我将如何强制未加载的项目加载的任何建议