如何仅在视口宽度小于选定值时运行jquery函数?

如何仅在视口宽度小于选定值时运行jquery函数?,jquery,function,if-statement,Jquery,Function,If Statement,我只想在vieport width小于816 px时运行jquery函数,但我无法让它工作。有人能告诉我我做错了什么吗 我主要使用谷歌chrome开发工具模拟器,但它也出现在我的私人手机Desire 820 1280x720屏幕上;我试图使用window.width,但没有成功 <!-- language: lang-js --> if ($('body').width() >= 816) { $(function() { $('.top-c

我只想在vieport width小于816 px时运行jquery函数,但我无法让它工作。有人能告诉我我做错了什么吗

我主要使用谷歌chrome开发工具模拟器,但它也出现在我的私人手机Desire 820 1280x720屏幕上;我试图使用window.width,但没有成功

<!-- language: lang-js -->
if ($('body').width() >= 816) 
{ 
    $(function()
    {
        $('.top-container').data('size','big');

        $(window).scroll(function()
        {
            if($(document).scrollTop() > 0)
            {
                if($('.top-container').data('size') == 'big')
                {
                    $('.top-container').data('size','small');
                    $('.top-container').stop().animate({height:'8vh'},600);
                    $('li').toggleClass('scroll');
                    $(".top-logo").toggleClass('scroll-logo');
                    $('.top-logo > a > img').toggleClass('scroll-logo');
                }
            }
            else
            {
                if($('.top-container').data('size') == 'small')
                {
                    $('.top-container').data('size','big');
                    $('.top-container').stop().animate({ height:'18vh' },600);
                    $('li').toggleClass('scroll').animate({},600);  
                    $(".top-logo").toggleClass('scroll-logo');
                    $('.top-logo > a > img').toggleClass('scroll-logo');

                }
            }
        });
    });
};

<!-- language: lang-html -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这将为您带来好处:

$( window ).resize(function() {

  if ($('body').width()  >= 816) {  
    console.log('run my code!');
  };

  $( "body" ).prepend( "<div>" + $( window ).width() + "</div>" );
});
$window.resizefunction{ 如果$'body'.width>=816{ 日志“运行我的代码!”; }; $body.prepend+$window.width+; };
它在控制台/F12中返回的错误是什么?可能是因为在当前代码中,您试图在没有完全加载dom的情况下使用jQuery。