2014-02-25 1 views
0

Jquery 스크립트가 있습니다.이 함수는 윈도우의 너비, onload를 결정합니다. 너비가 642px보다 큰 경우 .load()를 호출하여 이미지 슬라이더를로드합니다. 그 이유는 모바일 장치가 슬라이더에 필요한 이미지 나 js를 제공하지 않기 때문입니다.Jquery가로드 될 때까지 인라인 스크립트 로딩을 방지합니다.

jquery가 머리에로드되면 정상적으로 작동합니다. 꼬리말로 이동하자마자 이 코드는 index.php에 포함되어 있습니다. 이것이 원인이 될 수 있습니까? 일단 PHP가 페이지 jquery를 구문 분석 한 내용을 구문 생각 했겠죠?

jquery가로드되기 전에 코드가 구문 분석 된 것으로 보입니다. 누구든지이 라운드를 얻을 수있는 방법을 제안 할 수 있습니까?

코드를 순수 JS로 작성하거나 지연된로드를 사용한다고 생각했지만 어떻게 작동 시킬지 생각할 수 없습니다.

더 나은 해결책이 있어야합니까? 당신이 jQuery() 대신 $() 사용해야합니다

<script type="text/javascript"> 

$(window).bind("load", function() { 
    // code here 

    $(window).width(); // returns width of browser viewport 

    var width = $(window).width(); 

    if (width >= 642) { 
     $('.slider-content').load("templates/include/slider.php", function() { 
      $('.slider-content').show(200); 
     }); 
    } 

    else { 
     //alert('small') 
    } 
}); 
</script> 

감사합니다, 아담 일부 환경에서

+0

JavaScript 코드가로드되어 차단되고있는 것으로 간주됩니다. 모든 종속성을 먼저로드해야합니다. jQuery에 대한 참조가 작성되기 전에 jQuery를로드해야합니다. – Bic

+1

[jQuery 세금 납부 중지] (0120-17756) – fcalderan

+0

그건 내가 Bic이라고 생각했는데, 로드 후 코드 ... 링크 Fabrizio 주셔서 감사합니다. 그것은 곧 내 문제를 해결 해야하는 것처럼 보이게 될 것입니다. 이 작업을 수행하는 더 깨끗한 방법이 있습니까? – atoms

답변

0

: 나는 매우 분명 뭔가 빠진 것 같은 내가 포함 된 스크립트의

내용 .. 생각합니다. See this question.

이외의 경우 문서가 아직 완료되지 않았거나 이미 통과 한 이벤트에 바인딩되어있을 수 있습니다. 대신 다음을 시도하십시오.

jQuery(document).ready(function($) { 
    // Your code goes here. (You can safely use the $() function inside here.) 
}); 
+0

이것은 OP 문제와 어떻게 관련이있을 수 있습니까? – fcalderan

+0

그는 좀 더 구체적 인 것이 없다면 "ReferenceError : $가 정의되지 않았습니다"라고 가정합니다. –

+0

'$ .'가 정의되지 않은 경우 (다른 라이브러리가로드되지 않았다고 가정 할 경우)'window. $ '는'jQuery()'의 별명이기 때문에'jQuery'도 정의되지 않습니다. – fcalderan

관련 문제