1

为什么准备好/调整大小事件在 iPad 上不起作用?他们在电脑上工作,但不在 iPad 上。有人知道我做错了什么吗?

jQuery(document).on('ready', function() {
    jQuery(window).on('resize', function() {
        /* Tablet Portrait size to standard 960 (devices and browsers) */
        if (jQuery(window).width() < 960 && jQuery(window).width() > 768) {
           //change the attributes from the div #home_content (first parameter: the attribute, what it needs to be)
           jQuery('#home_content').attr('class','sixteen columns');
           jQuery('#slider').attr('class','sixteen columns');
        }
        else{
            jQuery('#home_content').attr('class','nine columns');
            jQuery('#slider').attr('class','nine columns');
        }

        /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
        if(jQuery(window).width() < 767 && jQuery(window).width() > 480) {
            //code
        }
        else{

        }

        /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
        if(jQuery(window).width() < 479) {
            //code
        }   
        else{

        }
    }).trigger('resize'); // Trigger resize handlers.       
});//ready
4

6 回答 6

1

如果你想捕捉 iPad 的方向,你应该使用:

window.onorientationchange = function(e) { /* your code */ };

而不是 windows resize 事件。

于 2012-11-22T10:28:56.710 回答
1

请检查以下

$(window).resize(function() {

alert("Window size changed");

});

要访问高度和宽度,您可以使用

$(window).width();

$(window).height();
于 2012-11-22T10:32:51.267 回答
1

试试这个:

// Checks to see if the platform is strictly equal to iPad:
if (navigator.platform === 'iPad') {
    window.onorientationchange = function() {

        var orientation = window.orientation;

        // Look at the value of window.orientation:
        if (orientation === 0) {
            // iPad is in Portrait mode.

        } else if (orientation === 90) {
            // iPad is in Landscape mode. The screen is turned to the left.

        } else if (orientation === -90) {
            // iPad is in Landscape mode. The screen is turned to the right.

        } else if (orientation === 180) {
            // Upside down portrait.

        }
    }
}​

希望这可以帮助!

于 2012-11-22T14:46:53.370 回答
0

试试jQuery(document).ready(function(){ alert('booya!') })

如果您收到警报,请将您的代码放入该函数中。还可以访问 Chrome 中的页面并通过在开发者工具中调出内置控制台来检查 Javascript 错误。

于 2012-11-22T10:32:15.100 回答
0

我找到了解决方案:我使用 jQuery(document).width() 而不是 jQuery(window).width(),现在我的脚本有望在每台设备上运行 :)
感谢您的回答!

于 2012-11-22T15:12:22.160 回答
0

现在确实有效,

我的代码不起作用,因为我使用了在 iPad 上不起作用的 window.width(),我将其更改为 document.width,现在它可以工作了。:)

于 2012-11-23T09:28:27.523 回答