JavaScript는 CSS 파일을 부분적으로만 대체합니다.
P粉322106755
P粉322106755 2024-03-22 09:33:43
0
2
389

낮/밤 테마 간 전환을 위해 이벤트 리스너를 사용하여 페이지의 CSS 파일을 다른 CSS 파일로 바꾸려고 합니다. 다양한 방법을 시도했지만 그 중 아무 것도 효과가 없었습니다.

내 기본 테마는 어둡습니다. 내 코드를 사용하여 밝은 테마로만 변경할 수 있지만 다시 어둡게 변경할 수는 없습니다. 내가 뭘 잘못했나요? 다들 감사 해요!

으아악 으아악 으아악
colorModeBtn.addEventListener("click", function() {
  if (cssFile.href = "styles.css") {
      cssFile.setAttribute("href", "styles-daylight.css") 
  } else {
    cssFile.setAttribute("href", "styles.css")
  }
})

P粉322106755
P粉322106755

모든 응답(2)
P粉012875927

답을 찾았는데, 이 경우처럼 아주 작은 일이에요. 그런데 왜 위에 게시한 대로 작동하지 않는지 이해가 되지 않습니다.

제가 사용하고 있는 것이 바로 그것입니다.

으아아아

(cssFileDay.disabled = true)를 (cssFileDay.disabled === true) 또는 (cssFileDay.disabled)로 변경해야 했습니다. 잘 작동하기 시작했습니다.

P粉025632437

힘내세요. 예, 오류를 발견하셨습니다. 하지만 질문에 표시된 네 가지 예제 코드에는 모두 if와 같은

문이 있습니다. 으아악

단일 =는 JavaScript(및 기타 C 파생 언어)에서 값을 반환하는 속성 명령이므로 = 是一个归因命令,在 JavaScript(和其他 C 派生语言)中,它返回一个值,因此 if 문은 항상 true입니다.

원하는 비교는 이중 등호(==)입니다.

삼중 등호(===)도 비교이지만 왼쪽과 오른쪽의 데이터 유형을 비교하기도 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿