2012-04-25 21 views
5

Tôi đã tìm thấy điều này:Chức năng jQuery để có được chế độ xem hiện tại?

getViewport = function() { 
    var m = document.compatMode == 'CSS1Compat'; 
    return { 
    l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), 
    t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), 
    w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), 
    h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) 
    }; 
}; 

Nhưng jQuery có tích hợp sẵn chức năng này không?

+2

Không có API nào bị cắt, nhưng bạn có thể viết lại những gì bạn có trong jQuery .. Nhưng nếu bạn đang làm việc tốt thì tại sao lại tìm kiếm Giải pháp dựa trên jQuery. Tôi chắc chắn điều này sẽ nhanh hơn rất nhiều so với những gì jQuery sẽ cung cấp cho bạn. –

Trả lời

10

Trong khi có không phải là một built-in chức năng duy nhất, chức năng chính nó có thể được đơn giản hóa với các chức năng jQuery:

getViewport = function() { 
    var $w = $(window); 
    return { 
     l: $w.scrollLeft(), 
     t: $w.scrollTop(), 
     w: $w.width(), 
     h: $w.height() 
    } 
} 

Tested nó ra ở đây: http://jsfiddle.net/naLLa/

Bạn cũng có thể tìm thấy điều này plug-in của sở thích, bổ sung thêm các bộ chọn dựa trên khung nhìn: http://www.appelsiini.net/projects/viewport

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