0

嗨朋友们,我必须在手机上打开时禁用视差效果脚本。我找到了一个与我想要并改编的脚本相似的脚本,但是它不起作用。有谁知道怎么了?

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

4 回答 4

2

: false后面是什么$(window).stellar()?我不确定您要在那里做什么,或者是否只是某种复制/粘贴错误或其他东西,但这会给出:

SyntaxError: Unexpected token :

我想你想要这个:

jQuery(document).ready(function(){
    if( !isMobile.any()){
       $(window).stellar();
    }
});
于 2013-06-04T12:57:11.090 回答
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()被执行。在另一种情况下(where isMobile.any()is true),if不应执行该块。

于 2013-06-04T12:57:21.027 回答
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;    
});
于 2013-06-04T12:59:20.943 回答
-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();
    }
});
于 2013-06-04T12:59:03.533 回答