2012-04-25 2 views
5

Я нашел один:Функция jQuery для получения текущего окна просмотра?

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) 
    }; 
}; 

Но это JQuery имеет встроенную функцию для этого?

+2

Нет, у вас нет API-интерфейса для вырезания, но вы можете переписать то, что у вас есть в jQuery .. но если у вас все работает нормально, тогда зачем искать Решение на основе jQuery. Я уверен, что это будет намного быстрее, чем то, что jQuery собирается предложить вам. –

ответ

10

Хотя есть не один встроенная функция, сама функция может быть упрощена с функциями JQuery:

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

Испытано его здесь: http://jsfiddle.net/naLLa/

Вы также можете найти этот плагин из интерес, который добавляет селекторов на основе видовых экранов: http://www.appelsiini.net/projects/viewport

Смежные вопросы