禁用手机脚本

时间:2013-06-04 12:52:23

标签: javascript jquery mobile

HI朋友我必须在手机上打开时禁用脚本以实现视差效果。 我发现了一个类似于我想要和改编的脚本,但它不起作用。谁知道什么是错的?

var isMobile = {
    Android: function() {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function() {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    },
    Opera: function() {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows: function() {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any: function() {
        return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
    }
};

jQuery(document).ready(function(){
if( !isMobile.any()){
    $(window).stellar(): false;
    }
});

4 个答案:

答案 0 :(得分:2)

: false之后的$(window).stellar()是什么?我不确定你在那里做什么,或者它只是某种复制/粘贴错误或其他什么,但这会给:

SyntaxError: Unexpected token :

我想你想要这个:

jQuery(document).ready(function(){
    if( !isMobile.any()){
       $(window).stellar();
    }
});

答案 1 :(得分:1)

jQuery(document).ready(function(){
if( !isMobile.any()){
    $(window).stellar(): false;
    }
});

第三行语法错误。您到底想要实现的是什么?fn(): false;

我相信你在寻找:

jQuery(document).ready(function(){
    if( !isMobile.any() ){
        $(window).stellar();
    }
});

换句话说:只有!isMobile.any()应该执行$(window).stellar()。在另一种情况下(isMobile.any()true),不应执行if块。

答案 2 :(得分:0)

在浏览器中打开控制台。

转到这个小提琴:http://jsfiddle.net/vyPjx/

您将看到错误

Uncaught SyntaxError: Unexpected token : 

错误将指向

$(window).stellar(): false;

看起来你试图使用三元运算符,但你不是吗?

应该只是

$(window).stellar();

如果你要去三元路线那就是

jQuery(document).ready(function(){
    var hasRun = !isMobile.any() ? $(window).stellar() : false;    
});

答案 3 :(得分:-1)

试试这个,

var isMobile = {
    Android: function() {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function() {
        return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    },
    Opera: function() {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows: function() {
        return navigator.userAgent.match(/IEMobile/i);
    }
};
var any=(isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());

jQuery(document).ready(function(){
    if(!any){
        alert('No mobiles');
        $(window).stellar();
    }
});