링크 중 하나를 클릭하면 "epic"과 같은 링크가 몇 개 있습니다. 그러면 동일한 클래스 이름을 가진 모든 div가 유지되고 다른 div는 필터링됩니다.
일반적으로 작동하지만 새로운 시스템을 시도하고 있습니다. 링크를 클릭하는 대신 옵션을 클릭 할 때 앞서 언급 한 내용이 트리거되기를 원합니다. 불행히도 작동하지 않습니다. 데이터 필터와 연관된 요소는 필터링되지 않습니다. 그러나 링크로 작업 할 때 훌륭하게 작동합니다.
친구를 위해 테스트중인 사이트에서 작동중인 기능을 볼 수 있습니다. http://rolfvohs.com/
이유는 모르겠지만 문제가 e ( ". filter-buttons option"). click (function () { 이라고 가정합니다 . 아마도 뭔가 누락되었을 수 있습니다.
나는 이미 매우 절망적이므로 몇 가지 답변에 기뻐할 것입니다. 나는 이것을 이해할 수 없다.
<select class="cd-select">
<option value="-1" selected>Pick a Genre</option>
<option value="1" data-filter="*">All</option>
<option value="2" data-filter=".epic">Epic</option>
<option value="3" data-filter=".classic">Classic</option>
<option value="4" data-filter=".pop">Pop</option>
<option value="5" data-filter=".rock">Rock</option>
</select>
내 맞춤 자바 스크립트
jQuery(document).ready(function(e) {
var t = e("#filter-container");
t.imagesLoaded(function() {
t.isotope({
itemSelector: "figure",
filter: "*",
resizable: false,
animationEngine: "jquery"
})
});
$("select").on("change", function() {
var n = e(this).parents(".filter-buttons");
var r = e(this).attr("data-filter");
t.isotope({
filter: r
});
return false
});
e(".toggle-trigger").click(function() {
e(this).next().toggle("slow");
e(this).toggleClass("active");
return false
}).next().hide();
e(window).resize(function() {
var n = e(window).width();
t.isotope("reLayout")
}).trigger("resize")
})
옵션에는 대부분의 브라우저에서 클릭 이벤트가 없습니다. 선택시 변경 이벤트를 수신해야합니다.
토론의 주석에 따라 업데이트 된 코드
$("select").on("change", function() {
var select = $(this);
var selectedOption = select.find("option:selected");
var n = select.parents(".filter-buttons");
var r = selectedOption.attr("data-filter");
t.isotope({
filter: r
});
return false
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다