Javascript 在移动设备上禁用Jquery视差

Javascript 在移动设备上禁用Jquery视差,javascript,jquery,wordpress,parallax,Javascript,Jquery,Wordpress,Parallax,我真的很抱歉,我知道同一个问题有很多相似的话题。但我很困惑,因为我注意到没有通用的代码来禁用函数。我认为JS很复杂(我不知道)。但情况是这样的。我在互联网上的某个地方找到了一个jquery代码,我想通过elementor和wordpress使用它来让背景图像也滚动(视差) 一切都很顺利。唯一的问题是移动设备,效果是腐败的,看起来很糟糕,我想禁用它。代码如下: function jquery_parallax() { ?> <script language="J

我真的很抱歉,我知道同一个问题有很多相似的话题。但我很困惑,因为我注意到没有通用的代码来禁用函数。我认为JS很复杂(我不知道)。但情况是这样的。我在互联网上的某个地方找到了一个jquery代码,我想通过elementor和wordpress使用它来让背景图像也滚动(视差) 一切都很顺利。唯一的问题是移动设备,效果是腐败的,看起来很糟糕,我想禁用它。代码如下:

    function jquery_parallax() {

   ?>
    <script language="JavaScript" type="text/javascript">


;(function($) {

   'use strict'

    var testMobile;
    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());
        }
    };

    var parallax = function() {
        testMobile = isMobile.any();
        if (testMobile == null) {
            $(".parallax").parallax("50%", 0.3);
        }
    };



    // Dom Ready
    $(function() {
        parallax();
    });
})(jQuery);

/*
jQuery Parallax 1.1.3
Author: Ian Lunn
Plugin URL: http://www.ianlunn.co.uk/plugins/jquery-parallax/

Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
!function(n){var t=n(window),e=t.height();t.resize(function(){e=t.height()}),n.fn.parallax=function(o,r,i){function u(){var i=t.scrollTop();l.each(function(t,u){var l=n(u),f=l.offset().top,s=a(l);i>f+s||f>i+e||l.css("backgroundPosition",o+" "+Math.round((l.data("firstTop")-i)*r)+"px")})}var a,l=n(this);l.each(function(t,e){$element=n(e),$element.data("firstTop",$element.offset().top)}),a=i?function(n){return n.outerHeight(!0)}:function(n){return n.height()},(arguments.length<1||null===o)&&(o="50%"),(arguments.length<2||null===r)&&(r=.1),(arguments.length<3||null===i)&&(i=!0),t.bind("scroll",u).resize(u),u()}}(jQuery);

    </script>
    <?php

}


if (!(is_admin())) {
wp_enqueue_script('jquery');
add_action('wp_head', 'jquery_parallax');
}
函数jquery\u parallax(){
?>
;(函数($){
“严格使用”
var-testMobile;
var isMobile={
Android:function(){
返回navigator.userAgent.match(/Android/i);
},
黑莓:函数(){
返回navigator.userAgent.match(/BlackBerry/i);
},
iOS:function(){
返回navigator.userAgent.match(/iPhone | iPad | iPod/i);
},
Opera:函数(){
返回navigator.userAgent.match(/Opera-Mini/i);
},
Windows:function(){
返回navigator.userAgent.match(/IEMobile/i);
},
any:function(){
返回(isMobile.Android()| | isMobile.BlackBerry()| | isMobile.iOS()| | isMobile.Opera()| | isMobile.Windows());
}
};
var视差=函数(){
testMobile=isMobile.any();
if(testMobile==null){
$(“.parallax”)。视差(“50%”,0.3);
}
};
//Dom就绪
$(函数(){
视差();
});
})(jQuery);
/*
jQuery视差1.1.3
作者:Ian Lunn
插件URL:http://www.ianlunn.co.uk/plugins/jquery-parallax/
MIT和GPL许可下的双重许可:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
(n)n.fn.fn.fn.fn.fn.fn.n.fn.n.视差=函数(o,r,r,i)n.fn.fn.fn.fn.n.函数(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(t,u)(t)(t,u)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)(n)l)l)l)l)n(e),$element.data(“firstTop”,$element.offset().top)}),a=i?函数(n){return n.outerHeight(!0)}:函数(n){return n.height()},(arguments.length
您不需要检查null,您需要检查它是否为(!)true

顺便说一下,“禁用功能似乎非常复杂”:


只需编辑您的移动设备宽度。现在视差仅适用于991px以上的设备

if (window_width > 991) {
    $(".parallax").parallax("50%", 0.3);
});

实际上,他的测试函数确实返回了
null
。它应该只返回true/false。谢谢你的快速回复。我已经尝试用“false”和“true”替换null,reslut是视差现在到处都被禁用了。我只想在移动设备上禁用它。再次感谢你,先生!
yourfunctiontodisable=()=>console.log("disabled function called");
if (window_width > 991) {
    $(".parallax").parallax("50%", 0.3);
});