2016-02-12 198 views
0

我试图启用/禁用基于iPad方向的插件。如何更正此语法以检测ipad浏览器方向

我开始用这个:https://jsfiddle.net/4hnr2ef8/

我随后发现this article recommendeding这种方法,我现在有这个,但语法正确的?我闭上,似乎开放区域,但没有运气:https://jsfiddle.net/am86cqto/

function readDeviceOrientation() { 
switch (window.orientation) { 
case 0: 

    // Portrait 
    break; 
    $(function() { 
     $.scrollify({ 
      section : ".scrollify", 
      sectionName: "section-name", 
      easing: "easeInOutCubic", 
      scrollSpeed: 1100 
     }); 
    var s = skrollr.init({ 
     forceHeight: false 
    }); 

case 180: 

    // Portrait (Upside-down) 
    break; 
    $(function() { 
     $.scrollify({ 
      section : ".scrollify", 
      sectionName: "section-name", 
      easing: "easeInOutCubic", 
      scrollSpeed: 1100 
     }); 
    var s = skrollr.init({ 
     forceHeight: false 
    }); 

case -90: 

    // Landscape (Clockwise) 
    break; 
    if ($(window).width() < 768) { 
     $.scrollify.disable() 
    } 
    else { 
     $.scrollify.enable() 
    } 

case 90: 

    // Landscape (Counterclockwise) 
    break; 
    if ($(window).width() < 768) { 
     $.scrollify.disable() 
    } 
    else { 
     $.scrollify.enable() 
    } 
} 

}

感谢, 凯文W.

回答

0

你必须用这种方式,直到浏览器支持window.screen.orientation

function getScreenOrientation(){ 
return screen.width > screen.height ? "landscape" : "portrait"; 
} 

仅在手机和平​​板电脑上检测方向

function getScreenOrientation(){ 
    if (/Mobi/.test(navigator.userAgent)) { 
     return screen.width > screen.height ? "landscape" : "portrait"; 
    } 
    return "landscape"; 
} 
+0

但是纵向尺寸宽度下的浏览器桌面怎么样?你可以重构代码并提供小提琴吗? – KevinOrin

+0

@KevinOrin如果您只想检测手机和平板电脑的方向,请使用第二个功能 – Darshan