diff options
author | Ryan Van Etten <ryanve@gmail.com> | 2013-03-07 17:22:14 -0500 |
---|---|---|
committer | Ryan Van Etten <ryanve@gmail.com> | 2013-03-07 17:22:14 -0500 |
commit | 5da9cde0ff68181f380dede808b23f048d7625e6 (patch) | |
tree | b8df2ed470c6a2c0a6b721262699291d9a1eb04b | |
parent | 774dd0d5bbb0b83ada41087bd204b2e30d83ccae (diff) | |
download | verge-5da9cde0ff68181f380dede808b23f048d7625e6.zip verge-5da9cde0ff68181f380dede808b23f048d7625e6.tar.gz verge-5da9cde0ff68181f380dede808b23f048d7625e6.tar.bz2 |
Integrate mq into viewport method detect.
-rw-r--r-- | verge.js | 42 |
1 files changed, 21 insertions, 21 deletions
@@ -24,20 +24,20 @@ , media = matchMedia || function() { return new Boolean(false); } + , mq = Modernizr && Modernizr['mq'] || function(mq) { + return !!media(mq).matches; + } , viewportW , viewportH , xports = {} , effins = {}; - + + xports['mq'] = mq; xports['matchMedia'] = matchMedia ? function() { // matchMedia must be binded to window return matchMedia.apply(win, arguments); } : media; - xports['mq'] = Modernizr && Modernizr['mq'] || function(mq) { - return !!media(mq).matches; - }; - /** * $.viewportW() Get the viewport width. (layout viewport) * @since 1.0.0 @@ -45,14 +45,14 @@ * @link quirksmode.org/mobile/viewports2.html * @return {number} */ - xports['viewportW'] = viewportW = (function (win, docElem, mM) { - var client = docElem['clientWidth'] - , inner = win['innerWidth']; - return ( mM && client < inner && true === mM('(min-width:' + inner + 'px)')['matches'] - ? function () { return win['innerWidth']; } - : function () { return docElem['clientWidth']; } - ); - }(win, docElem, matchMedia)); + xports['viewportW'] = viewportW = (function(win, docElem, mq) { + var inner = win['innerWidth']; + return inner > docElem['clientWidth'] && mq('(min-width:' + inner + 'px)') ? function() { + return win['innerWidth']; + } : function() { + return docElem['clientWidth']; + }; + }(win, docElem, mq)); /** * $.viewportH() Get the viewport height. (layout viewport) @@ -61,14 +61,14 @@ * @link quirksmode.org/mobile/viewports2.html * @return {number} */ - xports['viewportH'] = viewportH = (function (win, docElem, mM) { - var client = docElem['clientHeight'] - , inner = win['innerHeight']; - return ( mM && client < inner && true === mM('(min-height:' + inner + 'px)')['matches'] - ? function () { return win['innerHeight']; } - : function () { return docElem['clientHeight']; } - ); - }(win, docElem, matchMedia)); + xports['viewportH'] = viewportH = (function (win, docElem, mq) { + var inner = win['innerHeight']; + return inner > docElem['clientHeight'] && mq('(min-height:' + inner + 'px)') ? function() { + return win['innerHeight']; + } : function() { + return docElem['clientHeight']; + }; + }(win, docElem, mq)); /** * $.scrollX() Cross-browser version of window.scrollX |