저는 JS에 상당히 익숙하며 페이지의 구성 요소가로드되는 순서를 이해한다고 생각하지만이 퍼즐이 나에게 있습니다.Foundation Accordion이 HTML로 선언되지 않은 경우로드되지 않습니다.
저는 Foundation 5와 협력 중이며 아코디언 구성 요소를 사용하고 있습니다. 내 js 스크립트에서 나는 데이터를로드 한 다음 mainContainer div의 내부 html이되는 아코디언에 넣습니다. 난 내 HTML에서 <dl class="accordion" data-accordion > </dl>
을 삭제하면
<link rel="stylesheet" href="css/foundation.complete.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/myCss.css" />
<script src="js/vendor/modernizr.js"></script>
<script src="js/app.js"></script>
<script src="js/vendor/jquery.js"></script>
<body onload="iniciarPg()">
<div id="principal" class="mainContainer">
<dl class="accordion" data-accordion > </dl>
</div>
function iniciarPg()
{
$(document).foundation({
accordion: { toggleable: true }
});
loadData();
}
</script>
<!--SCRIPTS -->
<script src="js/classie.js"></script>
<script src="js/foundation.min.js"/>
<script src="js/foundation/foundation.accordion.js"/>
</body>
내가 이해할 수없는 부분이 있다는 mainContainer의 모든 내부 HTML이 교체됩니다되지만, JS로드 페이지가 더 표시에게 accordeon하지 않습니다 다음 경우 제대로 클릭하면 확장되지 않습니다.
콘솔 오류를 확인 했습니까? jQuery를로드하기 전에 app.js를로드하는 것이 궁금합니다. – Vijay
예, 콘솔에 오류가 없으므로 나를 더 우둔하게 만듭니다. 그냥 app.js 전에 Jquery를로드했는지 확인하는 것과 같은 결과를 얻었습니다. 어떤 경우라도 body가로드되기 전에 함수가 호출되지 않으면 app.js에 영향을주지 않아야합니다. 맞습니까? – NicolasZ