Какой необработанный JavaScript-эквивалент эквивалентен $ (window) .width в jQuery? - PullRequest
5 голосов
/ 22 ноября 2011

Я слышал, что это offset.width , document.documentElement.clientWidth и window.innerWidth

Мне интересно, для каких проектов я не могу использовать jQuery, какое решение мне следует использовать?

Ответы [ 3 ]

5 голосов
/ 22 ноября 2011
function windowWidth() {
    var docElemProp = window.document.documentElement.clientWidth,
        body = window.document.body;
    return window.document.compatMode === "CSS1Compat" && docElemProp || body && body.clientWidth || docElemProp;
}

Взят (и немного изменены из источника jQuery:

https://github.com/jquery/jquery/blob/master/src/dimensions.js#L42

4 голосов
/ 22 ноября 2011

Смотрите для себя. Он использует разные вещи. document.documentElement.clientWidth среди них.

Также можно использовать document.body.clientWidth

1 голос
/ 22 ноября 2011

Это

window.innerWidth

Приведенное выше свойство возвращает то же значение, что и $( window ).width().

Демо: http://jsfiddle.net/Jukh9/1/show/

Однако, IE8 не реализует это свойство ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...