2012-09-23 3 views
8

모바일 웹 앱을 개발 중입니다. 그러나 iOS 5.1 이하의 사파리는 메모리가 제한적입니다. 내가 css3 전환을 사용할 때 메모리 사용을 최소화해야합니다. CSS 스타일 "display : none/visibility : hidden"을 사용하면 메모리 문제로 인해 응용 프로그램이 중단되지 않습니다. 그래서 나는 그들이 정말로 숨겨 졌을 때 "숨겨진"것을 만들고 싶습니다. 영어가 잘못되었습니다. 사진은 내가 원하는 것을 보여줄 수에 :divs를 뷰포트 외부에있는 경우 div : visibility : hidden으로 설정할 수 있습니다.

업로드 된 이미지 ** : **

picture outlay

웹 사이트가 CSS를 "가시성 : 숨겨진"사용하는 또 다른 예를 들어 속성을 때 그것을 모든 세션을 숨길 화면 상에없는 :

example website: Dentsu Network

+0

"화면에있는 경우에만"의 의미는 무엇입니까 ??? –

+0

네, 그 사실을 알고 싶었습니다 ... 나는 그 질문을 이해하지 못했습니다 ... 아마도 미디어 쿼리 화면 만 사용하고 싶지 않을까요? – rafaelbiten

+0

그는 사용자가 스크롤 할 때 비트별로 페이지를 표시하려고 할 가능성이 큽니다. 그들이 Mashable에서하는 것과 비슷합니다. –

답변

2

plugin for jQuery offering viewport selectors이 있습니다.

모든 것을 visibility:hidden;으로 설정 한 다음 뷰포트의 항목 만 표시 할 수 있습니다. 사용자가 스크롤하면 뷰포트 요소를 다시 잡고 표시 할 수 있습니다.

$(":in-viewport").css("visibility", "visible") 
1

당신은 document.body.scrollTop에서 뷰포트와 윈도우의 크기를 계산 할 수 있어야한다.

scrollTop이 100px이면 사용자가 100px 아래로 스크롤했다고 가정 해보십시오. 그리고 이제는 화면 상단 100px를 차지하는 div를 숨기고 101px에서 시작하여 화면의 크기 (높이)까지 확장하는 div를 표시 할 수 있습니다.

+0

해답을 주셔서 감사합니다. 그러나 최상위 항목이 100px보다 큰 모든 div를 통해 필요할 필요가 있습니까? –

+0

실제로 효과가있는 해결책을 찾았습니까? 가능한 메모리 관리 목적으로 언로드 한 곳만 Flickr입니다. 때때로 이미지가 회색 블록으로 바뀌고 빠르게 위로 스크롤하면 캐시에서 다시로드됩니다. – Firsh

+0

두 번째 메모에서, 그들은 당신이 묘사 한 것을 정확하게 사용하고 있습니다. 우리는 그들에게서 배워야한다 :) – Firsh

관련 문제