2017-02-08 15 views
-1

Мне очень жаль, что я знаю, что существует много похожих тем для одного и того же вопроса. за исключением того, что я запутался, потому что, поскольку я заметил, что нет универсального кода для отключения функций. Я думаю, что с JS сложно (я не знаю). но вот ситуация. Я нашел код jquery где-то в Интернете, я хотел использовать его через elementor с wordpress, чтобы сделать прокрутку фоновых изображений (parallax) все работало отлично. единственная проблема связана с мобильными устройствами, эффект поврежден и выглядит ужасно, и я хочу отключить его. вот код:Отключить параллакс JQuery на мобильных устройствах

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'); 
} 

Спасибо

ответ

0
if (!testMobile) { 
     $(".parallax").parallax("50%", 0.3); 
} 

Вам не нужно проверить на нуль, вы хотите проверить, если его не так (!).

Кстати «отключение функции кажется очень сложным»:

yourfunctiontodisable=()=>console.log("disabled function called"); 
+0

На самом деле, его тест функция не возвращать 'null'. Он должен * возвращать только true/false. – Blazemonger

+0

Благодарим вас за быстрый ответ. Я попытался заменить null на «false» и «true», reslut - это параллакс, который теперь отключен повсюду. Я только хочу отключить его на мобильных устройствах. еще раз спасибо, сэр! – AgadirShop

 Смежные вопросы

  • Нет связанных вопросов^_^