2015-02-05 2 views
0

HTML의 정렬되지 않은 목록 요소로 작성된 탐색 기능이 있습니다. CSS 스타일 (PUREcss 사용). 작은 JS 함수처럼 Jquery가 사용됩니다. 이들은 implementation instructions from PUREcss입니다.CSS 및 자바 스크립트를 적용하기 전에 목록으로 탐색 렌더링을 방지하려면 어떻게해야합니까?

페이지가로드 될 때 탐색을 렌더링하기 전에 항상 목록을 일반 html로 렌더링합니다. 목록을 처음으로 렌더링하지 못하게하려면 어떻게해야합니까? 자바 스크립트의 모든 준비

Initial Rendering of List

Final rendering of Navigation

+4

CSS를 머리에 넣어야 항상 적용됩니다. JS까지 기다리려면 CSS에서 숨기고 ('display : none') JS에 표시하십시오. – Oriol

+0

나는'# header-wrapper {display : none}'탐색을 숨긴 다음 페이지에'$ (document) .ready (function() # header-wrapper ")를로드하여 표시하려고 시도했다. }); ... 처음에는 탐색을 숨긴 다음 JS로 표시하지만 목록 렌더링 문제는 해결되지 않습니다. –

+0

'$ ("header-wrapper"). show();'가 자바 스크립트가로드 된 후임 – Sonny

답변

1

기준에 show() 전화를 추가하십시오.

<script> 
YUI({ 
    classNamePrefix: 'pure' 
}).use('gallery-sm-menu', function (Y) { 

    var horizontalMenu = new Y.Menu({ 
     container   : '#demo-horizontal-menu', 
     sourceNode  : '#std-menu-items', 
     orientation  : 'horizontal', 
     hideOnOutsideClick: false, 
     hideOnClick  : false 
    }); 

    horizontalMenu.render(); 
    horizontalMenu.show(); 

    $("#header-wrapper").show(); 
}); 
</script> 
+0

이 기능은 나중에 작동하지만 이후에 발생하는 별도의 JS 호출로이를 표시합니다. 그 차이에 대한 어떤 생각? –

+0

또한 ... 자바 스크립트가 특정 사용자/브라우저에 문제가 될 것 같은 탐색을 숨기고 있습니까? 나는 nav가 javacript를 필요로하기 때문에 간단히 생각하지 않는다. –

+0

이것은 jQuery의'$ (document) .ready()'이후에 실행되어야한다. Pure가 자바 스크립트를로드하기 전에 * 메뉴에 CSS를 적용하지 않는 것은 이상하다. – Sonny

2

를 사용하여 문서 :

$(document).ready(function() { 
    //all js 
} 

그리고 당신의 머리에 CSS를 넣어, 그래서 모든 DOM 요소가로드되기 전에 렌더링 :

<head> 
<style></style> 
<script></script> 
</head> 
<body> 
    <!--All your html--> 
</body> 
+0

나는 이것 모두를했다. .. 그리고 단지 그것을 확인했다. 모든 CSS와 자바 스크립트는 에로드됩니다. 모든 자바 스크립트