기본 자바 스크립트를 사용하려고하므로 jquery가로드되지 않습니다. 에 if 문을 작성하여 클래스의 클래스가있는 경우에만 본문 요소의 클래스를 제거하고 싶습니다. 이렇게하면 스크롤이있을 때마다 트리거하지 않도록합니다. 나는 기본적으로 윈도우가 스크롤되어 있고 몸체에이 클래스가 적용된 경우에만 클래스를 제거하기를 원한다. 그렇지 않으면 트리거하지 않아야한다.본체에 클래스가있는 경우 기본 네비게이션 자바 스크립트
이 코드를 사용하여 클래스를 제거했지만 몸체에 클래스가 있거나 적용되지 않은 경우에도 스크롤 할 때 항상 트리거됩니다. 이 경우 ... 나는 페이지에서하는 모든 스크롤과 함께 인쇄 된 콘솔에 scrollEvent를 표시합니다. 어떻게이 일을합니까?
if(document.body.classList){
window.addEventListener('scroll', function(){
console.log('scrollEvent');
document.body.classList.remove('mobile-menu-open');
});
}
이 기능은 작동하지만 첫 번째 스크롤에서만 클래스가 제거됩니다. 내가 탐색을 연 후에 (따라서 클래스가 다시 추가됨) 클래스가 스크롤됩니다. 본문에 클래스가 있는지 확인하는 지속 가능한 코드를 어떻게 만들 수 있습니까? 스크롤이 있으면 클래스를 제거합니다. 이것은 이상하게도 단지 한 번 작동합니다. –
내 답변에 쓰여 있습니다. 메뉴가 열리면 이벤트 리스너를 다시 연결하기 만하면됩니다. – Skwal