Jquery 旋转到横向时的左边距

Jquery 旋转到横向时的左边距,jquery,ipad,responsive-design,Jquery,Ipad,Responsive Design,我使用的是JQuery视差滑块效果。所有东西都适合iPad的屏幕,除了当我从横向旋转到纵向时,有一个大约120像素的右边距将我的滑块内容推到右侧 我已尝试设置视口标记 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> 但这并没有起到任何作用。当我直接在肖像中进入页面时,它是好的。只有当我从横向旋转到纵向时,才会添加右边距。“纵向到横向”可适当调整

我使用的是JQuery视差滑块效果。所有东西都适合iPad的屏幕,除了当我从横向旋转到纵向时,有一个大约120像素的右边距将我的滑块内容推到右侧

我已尝试设置视口标记

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />

但这并没有起到任何作用。当我直接在肖像中进入页面时,它是好的。只有当我从横向旋转到纵向时,才会添加右边距。“纵向到横向”可适当调整大小

下面是一个例子

一个快速、肮脏的修复方法可能是在
主体上触发
onorientationchange
事件时,执行一种重置边距的方法

因此,示例代码如下所示:

<body onorientationchange= "fixMargins()">

....

function fixMargins() {
    var orientation = window.orientation;
    switch (orientation) {
        case 0: // portrait 
            $('div').css('margin-right', '40px');
            break;
        case 90: // landscape left
            $('div').css('margin-right', '40px');
            break;
        case -90: //landscape right
            $('div').css('margin-right', '40px');
            break;
        case 180: // portrait upside down
            $('div').css('margin-right', '40px');
            break;
    }
}

....
函数fixMargins(){
var方向=window.orientation;
开关(方向){
案例0://肖像
$('div').css('margin-right','40px');
打破
案例90://左
$('div').css('margin-right','40px');
打破
案例-90://景观权
$('div').css('margin-right','40px');
打破
案例180:头像倒置
$('div').css('margin-right','40px');
打破
}
}

显然,这并不理想,您更希望对发生这种情况的原因进行解释。但我只是觉得我建议将此作为一个快速解决方案,我认为您必须检查方向更改事件,并以这种方式设置所需的边距:

$(window).bind('orientationchange', function(e){

    if(e.orientation){

      if(e.orientation == 'portrait'){

              //do something
              //about your margins for portrait

      }

      else if(e.orientation == 'landscape') {

              //do something
              //about your margins for landscape

      }
   }

});

为什么将边距设置为40px?同样,这种情况只发生在从风景画到肖像画的过程中,当回到风景画时,40px只是我选择的一个随机数,它是固定的。在你的情况下,你会用任何好看的东西来代替它。如果只是在从横向到纵向时,那么只需保留
案例0:
案例180:
的代码,我必须这样做,而不是使用您的解决方案。我很高兴您修复了此问题,但您必须意识到,该链接上的顶部答案与我的答案基本相同。两者都利用了onorientationchange事件。编辑:哎呀,我刚意识到我的代码有错。抱歉不确定这是否有帮助,但请尝试在视口标记中添加“user scalable=no”否?