Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 导航菜单不适用于移动浏览器_Javascript_Jquery_Html_Css_Mobile - Fatal编程技术网

Javascript 导航菜单不适用于移动浏览器

Javascript 导航菜单不适用于移动浏览器,javascript,jquery,html,css,mobile,Javascript,Jquery,Html,Css,Mobile,我在如何将导航菜单安装到移动设备(iphone/ipad)上遇到了一个小问题。 我已将css属性设置为以下值: #wrapper{ max-width: 1600px; min-width: 320px; width: 100%; margin: 0 auto; position: relative; } #header{ max-width: 1018px; min-width: 320px; width: 100%;

我在如何将导航菜单安装到移动设备(iphone/ipad)上遇到了一个小问题。 我已将css属性设置为以下值:

    #wrapper{
    max-width: 1600px;
    min-width: 320px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}
#header{
    max-width: 1018px;
    min-width: 320px;
    width: 100%;
    margin: 0 auto;
} 

#social-tabs{
    display: block;
    padding: 4px;
    margin: 5px 0px;
}

#nav-menu{
    margin: 0 auto;
    width: 100%;
    max-width: 1018px;
    min-width: 320px;
}
我也在我的网站上应用了一个屏幕大小调整器,但是我仍然没有任何乐趣

 function reSize($target){
 $target.css('width', $(window).width()+'px');
}
$(document).ready(function(){
    $(window).bind('resize', reSize($('#header')));
    $(window).trigger('resize');
});

有没有人能发现我的错误?

当您尝试绑定调整大小处理程序时,您做错了:

$(window).bind('resize', resize.bind(window, $('#header')));
这将改善情况。您编写的代码称为“resize”函数。您需要做的是将引用传递给函数。另一个(可能更简单)等价物是:

$(window).bind('resize', function() { resize( $('#header') ); });
话虽如此,你还是会有问题的。处理“调整大小”事件不会在移动设备上帮助您,因为无论如何都不会进行调整大小。您真正需要做的是调查,并将您的解决方案基于CSS而不是JavaScript


(还需要注意的是,随着浏览器窗口以交互方式调整大小,“调整大小”事件在桌面浏览器上启动得相当快。显然,侧转手机或平板电脑只会启动一个事件,但在台式机/笔记本电脑上,浏览器会启动无数个“调整大小”事件拖动窗口角小部件时发生的事件,因此更新DOM的JavaScript处理程序往往会陷入相当严重的困境。)

当您尝试绑定调整大小处理程序时,您做错了:

$(window).bind('resize', resize.bind(window, $('#header')));
这将改善情况。您编写的代码称为“resize”函数。您需要做的是将引用传递给函数。另一个(可能更简单)等价物是:

$(window).bind('resize', function() { resize( $('#header') ); });
话虽如此,你还是会有问题的。处理“调整大小”事件不会在移动设备上帮助您,因为无论如何都不会进行调整大小。您真正需要做的是调查,并将您的解决方案基于CSS而不是JavaScript


(还需要注意的是,随着浏览器窗口以交互方式调整大小,“调整大小”事件在桌面浏览器上启动得相当快。显然,侧转手机或平板电脑只会启动一个事件,但在台式机/笔记本电脑上,浏览器会启动无数个“调整大小”事件拖动窗口角小部件时发生的事件,因此更新DOM的JavaScript处理程序往往会陷入非常严重的困境。)

删除JavaScript解决方案并使用css媒体查询。Argh!我想找一个简短的例子如果你对媒体查询/css有任何问题,我很乐意提供帮助。我使用媒体查询很好,我对如何在移动设备上调整导航有点困惑,因为我没有使用tagsI不完全理解你,一张你想在手机上看到的图片可能会有所帮助。如果您关心的是背景图像而不是img,那么您可以使用背景大小。也可以通过@pointy接受精彩的答案删除javascript解决方案并使用css媒体查询。Argh!我想找一个简短的例子如果你对媒体查询/css有任何问题,我很乐意提供帮助。我使用媒体查询很好,我对如何在移动设备上调整导航有点困惑,因为我没有使用tagsI不完全理解你,一张你想在手机上看到的图片可能会有所帮助。如果你关心的是背景图像而不是img,你可以使用背景大小。也可以接受@Pointy的精彩回答