찾다

 >  Q&A  >  본문

JavaScript는 CSS 파일을 부분적으로만 대체합니다.

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

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

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

P粉322106755P粉322106755294일 전404

모든 응답(2)나는 대답할 것이다

  • P粉012875927

    P粉0128759272024-03-23 09:07:11

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

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

    으아아아

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

    회신하다
    0
  • P粉025632437

    P粉0256324372024-03-23 00:40:22

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

    문이 있습니다. 으아악

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

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

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

    회신하다
    0
  • 취소회신하다