별도의 스타일 시트에서 CSS 클래스의 높이를 얻는 DIV가 있습니다. 하지만 그 높이는 때로는 자바 스크립트에서 변경됩니다. 새 요소를 만들지 않고 CSS 높이를 스타일 시트에서 직접 읽을 수 있습니까?css : 요소에서 사용하지 않는 값에 액세스하는 방법?
답변
당신이 뭔가를 할 수 있습니다.
아니요, CSS에서 속성을 읽을 수 없습니다.
style
을 요소에 적용하는 대신 CSS 파일에서 height
을 변경할 수있는 것보다 CSS 파일을 JavaScript에서 직접 변경할 수있는 백엔드 API를 만들 수 있습니다.
올바르게 해석한다면 그는 다른 요소에 의해 변경되었을 수있는 기존 요소의 계산 스타일이 아니라 스타일 시트에 선언 된 스타일 속성을 읽는 방법을 묻는 것입니다. – BoltClock
당신은 서버 측을 의미합니까? 나는 오프라인에서 실행할 수있는 간단한 게임을 만들고있다. 사람들은 온라인에서 플레이하거나 파일을 구매하여 로컬에서 실행할 수 있기 때문에 서버 코드는 옵션이 아니다. –
높이 변경이 알려진 원인에 의해 시작되면 가능합니다.
먼저 현재의 인라인 높이/클래스 이름을 저장하십시오. 그런 다음 class/height 속성을 다시 설정하십시오. 그런 다음 window.getComputedStyle
메서드를 사용하여 현재 높이를 읽습니다. 마지막으로 클래스/높이 속성을 복원합니다. 높이가 인라인 height
속성을 설정하여 변경되기 때문에 클래스 이름을 제거 할 필요가 없다고 가정 해 봅시다. 다음 :
var myDiv = $("#myId");
alert('initial height from css is: ' + myDiv.css("height"));
myDiv.css("height","50px");
alert('height modified by js is: ' + myDiv.css("height"));
// store modified height value
var height = myDiv.css("height");
// set height to an invalid value
myDiv.css("height","");
alert('height is now retrieved from css again: ' + myDiv.css("height"));
// restore height value
myDiv.css("height",height);
, 당신이 그것을 here를 볼 수 있습니다
function getCSSheight(elem) {
var style = window.getComputedStyle(elem, null);
return style.getPropertyValue("height"); //Returns 222px;
// Optionally: Use parseFloat to convert the `22px` to `22`.
}
이것은 몇 초 동안이라도 높이를 재설정해야한다는 것을 의미합니까? 내 DIV 개체는 고정 된 크기의 화면 하단에 있습니다. 나는 스크린의 크기를 강제 변경하지 않기 위해 높이를 줄인다. 최대 높이까지 임시 크기 조정조차도 문제를 일으킬 수 있습니다. –
- 1. CSS 스타일을 사용하지 않는 방법
- 2. web.config 값에 액세스하는 방법?
- 3. 배열의 값에 액세스하는 방법
- 4. XML의 값에 액세스하는 방법
- 5. 다른 컨트롤의 값에 액세스하는 방법
- 6. a4j에서 javascript 값에 액세스하는 방법
- 7. 페이지에서 usercontrol의 값에 액세스하는 방법?
- 8. 컨트롤에서 여러 값에 액세스하는 방법
- 9. asp.net에서 usercontrol의 값에 액세스하는 방법
- 10. HTTPService xmlList - 값에 액세스하는 방법
- 11. 사용하지 않는 CSS - 어떻게 정리합니까?
- 12. 가변적으로 다차원 배열의 값에 동적으로 액세스하는 방법
- 13. CSS를 통해 요소의 클래스 값에 액세스하는 방법
- 14. CSS 선택기를 사용하지 않는 JS 프레임 워크?
- 15. 뷰에서 요소에서 선언 된 변수에 액세스하는 방법
- 16. Oxygene을 사용하여 datarow 값에 액세스하는 방법
- 17. Groovy : DataSource에 이미 설정된 값에 액세스하는 방법
- 18. layout.filename에서 UI 요소 값에 액세스하는 방법
- 19. AdvancedDataGrid 콤보 상자 값에 액세스하는 방법
- 20. 글로벌 asax에서 코드 숨김 값에 액세스하는 방법
- 21. Django 값으로 주석 달기 : 값에 액세스하는 방법?
- 22. jsp에서 dynaaction 형식의 값에 액세스하는 방법
- 23. 객체 지향 프로그래밍 변수 값에 액세스하는 방법?
- 24. 관리되는 bean에서 ui : param 값에 액세스하는 방법
- 25. 서비스 작업에서 필드 (확장) 값에 액세스하는 방법
- 26. XSLT 템플릿의 일치 노드 값에 액세스하는 방법
- 27. GetVaryByCustomString에서 asp.net mvc 경로 값에 액세스하는 방법?
- 28. Django - urls.py 뷰의 변수 값에 액세스하는 방법?
- 29. 선택한 행 tableview의 값에 액세스하는 방법?
- 30. 장고 템플릿에서 사전 값에 액세스하는 방법
감사합니다. 임시 요소를 만든 다음 속성을 읽는 것 같습니다. 따라서 스타일 시트에서 직접 읽는 것은 불가능합니다. –
이 예제에서는 새 요소를 만들지 않습니다. 먼저 계산 된 높이 값을 저장하고 요소의 높이 스타일을 재설정하여 CSS 값을 가져 와서 수정하기 전에 값을 해당 값으로 복원합니다. 왜 새로운 요소를 만들고 싶지 않니? 이 솔루션은 실행 중에 디스플레이에 약간의 변화를 일으킬 것이기 때문에 사용자 경험 관점에서 좋지 않을 것입니다. – melihcelik
스타일 시트에서 값을 읽으 려 할 때 DOM을 변경하는 것이 비효율적이기 때문에 새로운 요소를 만드는 것을 피하고 싶었습니다. 하지만 내가해야 할 것처럼 보입니다. 나는 원래 요소의 크기를 재빨리 재조정 할 수는 없다 : 그것은 게임에서 캐릭터이며 발이 화면에서 사라지면 DIV를 줄인다. 그렇지 않으면 페이지의 크기가 변경되고 잘못 보인다. –