Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在桌面模式下激活jquery功能?_Javascript_Jquery_Html_Css_Media Queries - Fatal编程技术网

Javascript 仅在桌面模式下激活jquery功能?

Javascript 仅在桌面模式下激活jquery功能?,javascript,jquery,html,css,media-queries,Javascript,Jquery,Html,Css,Media Queries,我有一个jquery功能,可以将导航栏粘贴到网页顶部,但我只希望在桌面和平板电脑模式下(而不是在电话模式下)使用此功能。如何取消激活此功能 $(document).scroll(function(){ var elem = $('.navbar'); if (!elem.attr('data-top')) { if (elem.hasClass('navbar-fixed-top')) return; var offset

我有一个jquery功能,可以将导航栏粘贴到网页顶部,但我只希望在桌面和平板电脑模式下(而不是在电话模式下)使用此功能。如何取消激活此功能

$(document).scroll(function(){
    var elem = $('.navbar');
    if (!elem.attr('data-top')) {
        if (elem.hasClass('navbar-fixed-top'))
            return;
        var offset = elem.offset()
        elem.attr('data-top', offset.top);
    }
    if (elem.attr('data-top')  <= $(this).scrollTop() )
        elem.addClass('navbar-fixed-top');
    else
        elem.removeClass('navbar-fixed-top');
 });
$(文档)。滚动(函数(){
var elem=$('.navbar');
如果(!elem.attr('data-top')){
if(元素hasClass('navbar-fixed-top'))
返回;
var offset=elem.offset()
元素属性(“数据顶部”,偏移量顶部);
}
如果(elem.attr('data-top')检查一下——这可能就是你想要的——它们是开源的移动电话检测


使用CSS媒体查询来操纵导航栏。浏览器/操作系统检测不应考虑样式,只应考虑分辨率和媒体类型


根据您的问题,这里真正关心的似乎是在移动设备上保存屏幕不动产。因此,正如大多数其他用户所指出的,您可以在这里使用媒体查询。为了确保在小屏幕情况下不连接侦听器,您可以使用modernizer.mq测试媒体查询并使用返回的值:

if( Modernizr.mq('only screen and (min-height: 640px)') ) {
  // Case specific code here, only executed if screen height is > 640px
}

这是假设您愿意添加Modernizer或已经在使用它。如果您还没有包含它,并且只计划使用此单一测试,则可以下载自定义版本(2kB)其中仅包括媒体查询测试。

您可能应该将其基于屏幕分辨率,而不是设备/操作系统/浏览器检测,因为这可能是您不想将导航栏固定到网页顶部的实际原因,是吗?请使用媒体查询类将其固定到顶部,以便在不超过某个分辨率时在上,固定顶部不起任何作用。