2012-09-23 28 views
8

Tôi đang phát triển ứng dụng web di động. Tuy nhiên, safari trong iOS 5.1 trở xuống có bộ nhớ hạn chế. Tôi cần phải giảm thiểu việc sử dụng bộ nhớ khi tôi sử dụng chuyển tiếp css3. Tôi thấy rằng nếu tôi sử dụng kiểu css "display: none/visibility: hidden", ứng dụng sẽ không bị lỗi bởi vấn đề bộ nhớ. Vì vậy, tôi muốn làm cho điều "ẩn" khi họ thực sự ẩn. Tiếng Anh của tôi không tốt. hình ảnh có thể hiển thị những gì tôi muốn:làm cách nào tôi có thể đặt div thành "mức hiển thị: ẩn" nếu chúng nằm ngoài chế độ xem

hình ảnh tải lên **: **

picture outlay

Một ví dụ đó là một trang web sử dụng css "visibility: hidden" bất động sản để ẩn tất cả các phiên khi nó không phải là trên màn hình:

example website: Dentsu Network

+0

ý nghĩa của "chỉ khi nó ở trên màn hình" ??? –

+0

Vâng, tôi cũng muốn biết điều đó ... Tôi không hiểu câu hỏi ... có lẽ anh ấy muốn sử dụng quy tắc chỉ truy vấn phương tiện truyền thông? – rafaelbiten

+0

Rất có thể anh ấy muốn hiển thị từng chút một khi người dùng cuộn. Tương tự như cách họ làm trên Mashable. –

Trả lời

2

Có một plugin for jQuery offering viewport selectors.

Bạn có thể đặt mọi thứ thành visibility:hidden; và sau đó chỉ hiển thị các mục trong chế độ xem. Khi người dùng cuộn, bạn có thể lấy lại các phần tử khung nhìn và hiển thị chúng.

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

Bạn sẽ có thể để tính toán khung nhìn từ document.body.scrollTop và kích thước của cửa sổ.

Giả sử scrollTop là 100px, người dùng đã cuộn xuống 100px. Và bây giờ bạn có thể muốn ẩn một div chiếm 100px trên cùng của màn hình và hiển thị một div bắt đầu ở 101px và mở rộng cho đến khi kích thước (chiều cao) của màn hình

+0

cảm ơn câu trả lời, nhưng liệu chúng ta có cần phải thông qua tất cả các div mà đầu trang lớn hơn 100px không? –

+0

Bạn đã tìm thấy giải pháp thực sự hiệu quả chưa? Chỉ có nơi tôi đã nhìn thấy dỡ cho mục đích quản lý bộ nhớ có thể là Flickr. Đôi khi bạn thấy các hình ảnh được chuyển sang các khối màu xám và đang tải lại từ bộ nhớ cache nếu bạn cuộn lên nhanh. – Firsh

+0

Trên ghi chú thứ hai, họ đang sử dụng chính xác những gì bạn mô tả. Chúng ta nên học hỏi từ họ :) – Firsh

Các vấn đề liên quan