2010-08-01 2 views
1

저는 현재 JCarousel을 사용하여 Wordpress의 "추천 된 게시물"을 강조 표시하고 있습니다. 회전 목마는 스크롤바 위에 머리글의 일부로 표시됩니다. 일단로드되면 제대로 작동하지만 많은 요소가 포함 된 큰 페이지의 스크롤없이 볼 수있는 부분 위에 사용하고 있기 때문에 추천 게시물을 시작하고 표시하기 전에 전체 페이지가로드 될 때까지 기다려야합니다. 이것은 "loading"gif가있는 상태에서 5-10 초 동안 그곳에 앉아 있다는 것을 의미하며, 대부분의 사용자는로드 될 때까지 기다리지 않고 그냥 스크롤 할 것입니다.JCarousel을 폴드 위에 올려 놓기 - 페이지가로드되기 전에 JCarousel을로드 하시겠습니까?

<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
     jQuery('#mycarousel').jcarousel({ scroll : 2 }); 
    }); 
</script> 

이 느린 로딩은 귀찮은이며, 따라서, 나는 페이지의 나머지가로드하기 전에이 표시됩니다, 그래서 먼저 회전 목마 부하를 가지고 싶습니다. 이 일을 할 수있는 방법이 있습니까?

의견을 보내 주시면 대단히 감사하겠습니다. 감사!

+0

캐 러셀을 페이지 머리글에 넣거나 ''태그 바로 앞에 올리는 중입니까? '' 태그 바로 앞에 있다면 페이지 헤더에 넣으려고 했습니까? –

+0

예, 헤더에로드하고 있습니다. 그래도 전체 페이지가로드 될 때까지 기다렸다가 표시됩니다. <스크립트 유형 = "텍스트/자바 스크립트"> jQuery를 (문서) .ready (함수() { jQuery를 ('#의 mycarousel') jcarousel ({ 스크롤 :. 우리가 그것을 시작하기 위해 사용하는 코드는 이것이다 : 2 }), }); – zoe739

+0

'(문서) .ready'를 기다리고 있습니다. 나는 Wordpress가 DOM이 준비되는 것을 막고있는 무거운 짐을지고 있다고 생각합니다. '(document) .ready'를 사용하지 않고 로딩을 시도 할 수는 있지만 문제는 호출하기 전에'# mycarousel'을 먼저 안정시켜야한다는 것입니다. –

답변

0

가 여기 내 문제를 해결하고 결국 무엇을 : 내 사이드 ​​바에서 페이스 북 위젯과 트위터 위젯로드 영원히했다 이후

, 그리고 회전 목마 전에로드 있었다, 나는로 설정되어 외부 자바 스크립트 (이 방법을 사용하여 자바 스크립트를 통해 Facebook iframe을로드했습니다 : http://www.seomofo.com/wordpress/tweetmeme-retweet-button.html) window.onload에서 호출하여 dead 최하위로드를 시작합니다.

jcarousel이 Facebook과 Twitter의 위젯보다 먼저로드되어 더 빨리 표시되고로드하는 데 시간이 훨씬 적게 걸립니다. 내 전반적인 페이지 로딩 시간은 같다고 생각하지만 적어도 사이드 바에서 느린 로딩 위젯보다 먼저 내 페이지 상단의 항목이 표시 될 수 있도록 항목을 재정렬하는 방법을 찾았습니다.

도움 주셔서 감사합니다. 이 문제가 해결되어 기쁘다.

0

#mycarousel 내용물은 어떻게 사전로드됩니까? jCarousel Plugin의 출처를 살펴본 결과 작성자는 내용을 미리로드하기위한 코드 블록을 작성하지 않았습니다 (예 : Images). 그래서 여전히

$(document).ready(function() { 
     var img; 
     $('#mycarousel').find('img').each(function() { 
       img = new Image(); 
       img.src = $(this).attr('src'); //preloads your Images 
     }); 

     $(img).load(function() { //perform action after the last Image is loaded 
       $('#mycarousel').jcarousel(); 
     }); 

    }); 
+0

'(document) .ready'에 컨베이어를 감싸고 있다면 어떻게 도움이 될까요? –

+0

안녕하세요, 로버트, 처음에는'$ (window) .load()'사용을 생각하고 나중에 마음을 $ (document) .ready()로 변경했습니다. '(window) .load()'를 사용할 때 페이지 내용이 ** 완전히 **로드 될 때까지 기다려야하기 때문에,'Images (문서) .ready() '를 사용할 때 페이지 content http://www.javascriptkit.com/dhtmltutors/domready.shtml –

0

I가 너무 오래 페이지가 걸릴 만드는 것을 볼 것,

내가 당신에게 예를 표시 할 수 있습니다로드 페이지에있는 요소의 나머지 전에 선택의 내용을 사전로드 시도 하중. URL을 게시하거나 Firebug을 사용하여 페이지로드 및 리소스를 확인하십시오. 이미지가 너무 큽니까? 너무 많은 스크립트를로드하거나 jQuery의 복사본을 복사하고 있습니까? Use Google Libraries « WordPress Plugins과 같은 Google과 같은 CDN에서 jQuery를로드하려고 시도 했습니까?

표시를 트리거 할 수 있습니다. 페이지가로드 될 때까지 슬라이더 아래의 요소에는 아무 것도 표시되지 않습니다. ie :

document.write('<style type="text/css">element{display:none}</style>'); 
jQuery(function($) { 
$('element').css('display','block'); 
}); 

하지만 페이지로드가 왜 느린 지 먼저 알 수 있습니다. 그냥 후속으로

+0

내 페이지에는 확실히 많은 것들이로드되어 있으므로 확실히 걱정할 필요가 있습니다. 현재로드 시간이 가장 긴 항목에는 여러 개의 Google 광고 코드, 통계 추적 자바 스크립트 (예 : Quantcast, Google Analytics, Compete.com), 사이드 바에있는 Facebook 팬 상자 및 Twitter 업데이트가 포함됩니다. 페이지를 느리게하는 외부 스크립트로드. 그러나 나는 이들 중 대부분이 필요하다고 생각 했으므로, 최적화에 집중할 수는 있지만, 지금은 제거하는 것이 실제로 옵션이 아닙니다. – zoe739

+0

비록 CDN에서 jQuery를로드하려고 시도하지 않았습니다. 우리는 CDN을 전혀 사용하지 않고 있습니다. 확실히 살펴보고 있지만. 총에 맞을만한 가치가 있을지도 모릅니다. – zoe739

+0

그게 문제의 근원입니다. 모든 쓰레기가 적재되고 있습니다. 먼저 그 중 일부를 청소하십시오. 페이지로드가 느리기 때문에 아는 것보다 더 많은 사람을 잃을 가능성이 있습니다 (모든 통계를 확인하여 이탈률을 확인하십시오). – markratledge

1

CDN 사용에 대한 추론은 브라우저가 JS를 '병렬'로로드 할 수 있기 때문에 사용해야합니다.

iframe 사용은 아마도 최악의 메커니즘 일 수 있으며 (일반적으로) '수정'이 아니라 '해킹'으로 간주되어야합니다.

LazyLoad, CDN 및 JS Staggering을 사용하는 것을 고려하십시오. 즉, HEAD의 라이브러리 파일과 Footer 영역의 나머지 JS를로드하는 것이 좋습니다.

관련 문제