2013-06-19 2 views
0

У меня есть следующий код jquery для проверки размеров окна. К сожалению, кажется, что он только подбирает ширину - высота возвращается как ноль. Где я иду не так?JQuery ширина и высота тела

$(document).ready(function() { 
    var $window = $('body'); 
    function checkSize() { 
     var windowWidth = $window.width(); 
     var windowHeight = $window.height(); 

     if (windowWidth < 765) { 
      $('#index_right').hide(); 
      $('.btn').removeClass("btn-large"); 
     } 
     else if (windowWidth < 880) { 
      $('#index_right').hide(); 

      $('.btn').addClass("btn-large"); 
     } 
     else 
     { 
      $('#index_right').fadeIn(1000); 
      $('.btn').addClass("btn-large"); 
     } 

     if (windowHeight < 3000) { 
      //alert(windowHeight); 
      $('#index_base').hide(); 
     } 
     else 
     { 
      $('#index_base').fadeIn(1000); 
     } 
    } 
    checkSize(); 
    $(window).resize(checkSize); 
}); 
+3

Попробуйте использовать '$ (окно)' вместо '$ ('body')' –

+0

Эми, ознакомьтесь с примерами, которые jQuery дает здесь с высотой: http: // api. jquery.com/height/ '$ (window) .height(); // возвращает высоту браузера viewport' –

ответ

1

Попробуйте использовать JQuery встроенный в методе высоты вместо:

$(window).height(); 
+0

Она есть, но она использует неправильный селектор. –

+0

спасибо, что сработал –

1

Похоже, что вы пытаетесь показать и скрыть различное содержание в зависимости от размера экрана посетителя, почему бы не использовать медиа-запросы вместо этого?

(Подробнее http://www.w3.org/TR/css3-mediaqueries/)

+0

Это может помочь, http://stackoverflow.com/questions/838137/jquery-change-height-based-on-browser-size-resize, также см. комментарий Fahrenheit451 remove 'var $ window = $ ('body'); 'и просто использовать' $ (document) .height() 'или' $ (window) .height() 'и' $ (window) .width() ' – Grmn

+0

Ok, I ' я посмотрю на это .... звучит интересно ... ty :) –

0
var $window = $('body'); 

Должно быть

var $window = $('window');