2012-02-22 31 views
5

vì vậy tôi đã tự xây dựng cho mình một ứng dụng web di động và đang cố gắng ẩn bố cục lại sau khi người dùng đã xoay điện thoại (tôi có chân dung và bố cục nằm ngang bởi js).Chức năng báo cháy trước khi cửa sổ thay đổi kích thước nội dung về thay đổi hướng?

tôi đã nghĩ rằng tôi sẽ có thể thiết lập $('body').display = "none"; khi cháy thay đổi kích thước và mờ dần cơ thể trở lại sau một giây hoặc lâu hơn, tuy nhiên shuffle vẫn xảy ra trước khi display = "none" đá trong.

Có cách nào thế nào để kích hoạt một chức năng ngay khi trang quay để tôi có thể ẩn các phần tử thay đổi kích thước? Tôi cũng đã thử người nghe onorientationchange nhưng họ dường như bắn trực tiếp sau khi sự kiện diễn ra.

Trả lời

0

bạn có thể trì hoãn việc xáo trộn với một thời gian chờ:

$(window).resize(function(){ 
    $('body').hide(); 
    setTimeout(function(){ 
     reshuffle(); 
     $('body').show(); 
    }, 100);//100ms 
}); 
+0

cảm ơn cho đầu vào, đó là khá nhiều chính xác im đang hiện bằng cách sử dụng, trình duyệt dường như hiển thị bố cục định hướng mới với các giá trị css cũ trước .hide có thời gian được kích hoạt bằng cách thay đổi kích thước (vì vậy trong khoảng 50ms tôi có thể thấy bố cục chưa được sắp xếp) , tôi nghĩ rằng điều này có thể không thể làm được bằng cách nào đó = s – user885663

+0

cảm ơn, tôi đã gắn nó vào sự kiện onorientationchange thay vì thay đổi kích thước chỉ để thử lại và có vẻ như hoạt động tốt hơn một chút, có thể 50% thời gian trông sạch sẽ và gọn gàng. Nó cũng giúp đặt bất kỳ phần tử vùng chứa nào thành màu bg của bạn sao cho bg trắng mặc định không hiển thị qua. – user885663

0

Bạn có thể cố gắng làm điều này:

$.when($('body').hide()).then(function() { 
    $(window).resize(function(){ 
     setTimeout(function(){ 
      reshuffle(); 
     }, 100);//100ms 
    }); 
}); 

documentation

+0

cảm ơn cho trả lời nhanh chóng, tôi sẽ cung cấp cho một thử tuy nhiên tôi không nghĩ rằng nó sẽ giải quyết vấn đề như. Da không thực sự đá cho đến sau khi sự kiện thay đổi kích thước (trừ khi .then có thể xếp hàng lên thay đổi kích thước hiện tại), vì vậy (nếu im suy nghĩ về cách mã của bạn sẽ làm việc đúng cách) nó sẽ "kích thước thay đổi kích thước sau khi điện thoại được xoay> phát hiện rằng cơ thể đã ẩn> sau đó chờ thay đổi kích thước> kích hoạt chức năng bố trí bị trì hoãn? – user885663

+0

Cách tôi hiểu vấn đề của bạn là rằng bạn muốn cải tổ sau khi cơ thể bị ẩn, và tôi tin rằng điều này (trừ khi tôi nhầm) –

+0

tôi không có thời gian để kiểm tra nó ngay bây giờ nhưng sẽ cho bạn biết khi tôi đặt nó vào hành động. giống như nó sẽ làm công việc, vấn đề mà tôi dường như phải đối mặt là trình duyệt trên điện thoại không đủ nhanh để theo kịp với định hướng và ẩn nội dung trước khi nó chạm vào cảnh quan. – user885663

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