手机和浏览器屏幕方向不同的javascript/jQuery功能

手机和浏览器屏幕方向不同的javascript/jQuery功能,javascript,jquery,responsive-design,Javascript,Jquery,Responsive Design,免责声明:我不是javascript或jQuery专家 这可能是一个很容易解决的问题,因为这只是一个我无法解决的小问题。我正在实现一个网站,如果浏览器处于横向模式,它是水平的,如果处于纵向模式,它是垂直的。CSS更改不是问题,因为这对于媒体查询来说很容易。我遇到的问题是,当屏幕处于横向模式时,我只想运行特定的脚本。我遇到的下一个问题是,我不仅希望它能在手机上运行,而且还希望它能在标准浏览器中响应;i、 e.检测屏幕宽度>屏幕高度的时间,并运行所述脚本。以下是我目前的代码: var height

免责声明:我不是javascript或jQuery专家

这可能是一个很容易解决的问题,因为这只是一个我无法解决的小问题。我正在实现一个网站,如果浏览器处于横向模式,它是水平的,如果处于纵向模式,它是垂直的。CSS更改不是问题,因为这对于媒体查询来说很容易。我遇到的问题是,当屏幕处于横向模式时,我只想运行特定的脚本。我遇到的下一个问题是,我不仅希望它能在手机上运行,而且还希望它能在标准浏览器中响应;i、 e.检测屏幕宽度>屏幕高度的时间,并运行所述脚本。以下是我目前的代码:

var height = $(window).height();
var width = $(window).width();
if (width > height) {
    //run landscape script
} else {
    //run portrait script
};
当页面加载时,它可以很好地检测方向,但是当屏幕调整大小时,它不会改变,因为脚本没有绑定到window.resize。也就是说,当我将它绑定到window.resize时,它也不起作用


有没有更好的办法?还是我只需要修复已经存在的东西

如果将来有人遇到这个问题,我会发布解决我问题的方法

当我尝试将调整大小事件添加到函数时,我的代码如下所示:

$(window).on('resize', function() {
    var height = $(window).height();
    var width = $(window).width();
    if (width > height) {
        //run landscape script
    } else {
        //run portrait script
    };
)};
这工作得很好,但看起来不是这样,因为脚本只有在浏览器调整大小时才会触发。虽然这很重要,但在加载页面时也需要启动脚本。我的解决方案只是向事件添加“加载”:

$(window).on('resize load', function() {
    var height = $(window).height();
    var width = $(window).width();
    if (width > height) {
        //run landscape script
    } else {
        //run portrait script
    };
)};

我不太熟悉为移动设备编写JavaScript,因为我主要为桌面web应用程序编写JavaScript。但是,您可能会在中找到一些有用的东西,因为您已经在使用jQuery了。它是一个jQuery框架,专门用于移动设备支持。希望这有帮助。祝你好运。你应该检查设备支持什么:
resize
orientationchange