2012-09-14 4 views
1

저는 JavaScript 및 CSS 미디어 쿼리를 처음 사용하고 있으며 여기에서 가능한 것이 있는지 알고 싶습니다.JavaScript가 페이지 스타일을 변경하지 못하도록 함

나는 스크립트가있는 웹 페이지가 있습니다. 미디어 쿼리를 사용하는 CSS 파일이 있습니다. 미디어 쿼리 CSS가 실행될 때 스크립트가 CSS를 변경할 수 없도록하고 싶습니다. 메뉴가 채워지기 때문에 스크립트가 여전히 작동하기를 원합니다. 위치 나 배경색 또는 다른 스타일을 변경하기를 원하지 않습니다. css 파일 또는 html 파일에서 css를 변경하지 못하도록 스크립트를 비활성화하는 방법이 있습니까? (스크립트를 편집하고 싶지 않습니다.)

+0

스크립트를 포함시키지 마십시오. ID, 클래스 및 태그를 변경하지 마십시오. 그렇지 않으면 각 스타일을 따라 가야하고'! important'를 사용하여 자신의 스타일 시트에서 각 스타일을 비활성화해야합니다. –

+0

스크립트를 포함해야합니다. 메뉴를 채 웁니다. 하지만 스크립트를 변경할 수는 없습니다. 포함 된 기존 스크립트입니다. – pongahead

답변

1

불가능합니다. JavaScript는 페이지가로드 된 후 페이지에서 아무 것도 변경할 수 있습니다. JavaScript를 비활성화 할 수 있습니다. =))

0

matchMedia을 사용하여 현재 어떤 미디어 쿼리가 사용되고 있는지 확인할 수 있습니다. 특정 미디어 쿼리가 작동하는 경우 JavaScript 지침을 건너 뛰기 만하면됩니다. 그렇지 않으면 정상적으로 UI를 수정합니다.

matchMedia를 사용하면 자바 스크립트에서 적절하게 응답 할 수 있도록 미디어 쿼리 변경 사항을 구독 할 수도 있습니다. MDN에서 Using Media Queries from Code을 확인해보십시오.

이 옵션은 주로 latest browsers에서 사용할 수 있지만 이전 브라우저의 경우에는 polyfill it 수 있습니다.

관련 문제