2012-04-25 35 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提供的更快。 – 2012-04-25 22:35:15

回答

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