나는 사용자의 뷰포트 위치에 따라 CSS 클래스를 변경하기 위해 우수한 JS 플러그인 (Waypoints.js)을 오랫동안 사용해 왔습니다. 이제는이 웨이 포인트를 동적으로 생성하려고합니다.하나의 Waypoints.js에서 여러 HTML 요소를 동적으로 타겟팅하십시오.
두 가지 방법이 실패했습니다.
<div class="emp-question-set fade-up" id="emp-question-set-1"></div>
<div class="emp-question-set fade-up" id="emp-question-set-2"></div>
<div class="emp-question-set fade-up" id="emp-question-set-3"></div>
접근 방식 : 1 : 생성 for
루프 getElementByID
// Number of question areas
var questionCount = $('.emp-question-set').length;
// Setup variables
var waypointName, selector, selectorjQuery;
// Start at 2, leave the first item to load normally
for (var i = 1; i <= questionCount; i++) {
waypointName = 'questionsRollIn' + i;
selector = 'emp-question-set-' + i;
selectorjQuery = '#emp-question-set-' + i;
waypointName = new Waypoint({
element: document.getElementById(selector),
handler: function(direction) {
if (direction === 'down') {
$(selectorjQuery).addClass('fade-up-active');
}
if (direction === 'up') {
$(selectorjQuery).removeClass('fade-up-active');
}
},
offset: '70%'
});
}
접근법 2를 사용하여 중간 점 : 웨이 포인트를 생성 희망 getElementsByClassName
questionsRollIn = new Waypoint({
element: document.getElementsByClassName('emp-question-set'),
handler: function(direction) {
if (direction === 'down') {
$('emp-question-set').addClass('fade-up-active');
}
if (direction === 'up') {
$('emp-question-set').removeClass('fade-up-active');
}
},
offset: '70%'
});
를 사용하여이 HTML을 감안할 때
여러분 중 한 분이 도와 드릴 수 있습니다. 감사합니다. 미리.
을 변경하여 선택해야하지만, 여전히 준 솔루션은 폐쇄 문제가 해결되지 않습니다. 마지막 질문 객체를 가질 루프 끝 부분 –