2017-02-08 7 views
-1

같은 질문에 대해 비슷한 주제가 많이 있다는 것을 알고 정말 죄송합니다. 단, 기능을 사용하지 못하도록하는 보편적 인 코드가 없기 때문에 혼란 스럽습니다. 나는 JS가 복잡하다고 생각한다 (나는 단서가 없다). 그러나 여기에 상황이 있습니다. 나는 인터넷 어딘가에 jquery 코드를 발견, 나는 요소를 통해 wordpress와 배경 이미지 스크롤 (시차)을 만들기 위해 그것을 사용하고 싶었다. 모든 것이 완벽하게 작동했다. 유일한 문제는 모바일 장치에서 발생합니다.이 효과는 손상되어 끔찍한 것으로 보입니다. 여기 코드는 다음과 같습니다 (!) 휴대 기기에서 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'); 
} 

는 당신에게 당신은 널 (null)에 대해 확인해야 해달라고

답변

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

감사, 당신은 그 사실이 있는지 확인하고 싶습니다. 그런데

"기능을 사용하지 않도록 설정은 매우 복잡한 것 같다"

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

사실, 자신의 테스트 기능은'null'를 반환 않습니다. true/false 만 반환해야합니다. – Blazemonger

+0

빠른 답장을 보내 주셔서 감사합니다. null을 "false"및 "true"로 대체하려고 시도한 결과, 다시 시차는 모든 곳에서 사용할 수 없습니다. 휴대 기기에서만 사용 중지하려고합니다. 다시 한번 감사드립니다! – AgadirShop