가장 명확하게 만들어진 제목이 아님.AJAX 페이지에 계속로드되지만 아직로드되지 않은 항목에도 적용되는 필터가 있음
내 웹 사이트에는 검색어의 처음 6 개 결과를 처음로드 한 다음 화면이 가득 찰 때까지 또는 사용자가 아래로 스크롤 할 때까지 6 개의 페이지가로드됩니다.
페이지 상단에서 일부 필터를 추가하려고 할 때 재고가없는 상품 결과가 사라집니다.
그래서 코드 뒤에 "outOfStock"클래스가 재고가없는 제품의 모든 항목 컨테이너에 추가됩니다. 아주 간단한 jQuery를 다음 이러한 페이드 아웃하고 버튼 텍스트 전환 할 수 있습니다 : 이것은 단지 그렇게 페이지 아래로 사용자가 스크롤의 AJAX로드로, 이미 표시되는 항목에이 작업을 수행하는 과정을 제외하고 괜찮
$('#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')
을 추가하려고 시도했으나 작동하지 않더라도 결과가 표시되지만 즉시 결과를 표시 한 다음 즉시 숨길 수 있습니다. 내가 목표로 한 결과가 아닙니다.
가로드로 요소 inStockOnly
전에 클릭 한 경우 나, display:none
에 해제로드 된 항목을 강제 할 방법에 대한 제안 (또는 텍스트 Show All Items
있는 경우)
이 개념은 목표 달성에 도움이 될 수 있습니까? – veeTrain
그것은 나에게 옳은 방향으로 일종의 지적했다. .. ish! 내가 실제로 끝내게 된 것은 AJAX가로드 된 페이지에 추가 매개 변수를 전달하고 추가 숨겨진 클래스를 요소에 추가 한 다음 필요한 경우 'outOfStock'으로 다시 토글했습니다. 그것은 결국 어쨌든 일했습니다! –
굉장; 당신을 위해 일한 솔루션을 발견하게되어 기쁘다. – veeTrain