<script type="text/javascript">
var _hidediv = null;
function showdiv(id) {
if(_hidediv)
_hidediv();
var div = document.getElementById(id);
div.style.display = 'block';
_hidediv = function() { div.style.display = 'none'; };
}
</script>
#nav li { width: 100px; height: 20px; margin: 2px; background: green; cursor: pointer; }
#filtration {
display: none;
width: 100px; height: 100px;
background: #000;
}
#solid {
display: none;
width: 100px; height: 100px;
background: #c0c0c0;
}
#chemistry {
display: none;
width: 100px; height: 100px;
background: red;
}
<ul id="nav">
<li onclick="showdiv('filtration');">Filtration</li>
<li onclick="showdiv('solid');">Solidification</li>
<li onclick="showdiv('chemistry');">Chemistry</li>
</ul>
<div id="filtration"> </div>
<div id="solid"> </div>
<div id="chemistry"> </div>
콘텐츠를 표시하거나 숨기려면 탐색 모음을 설정해야합니다. 위 코드는 정상적으로 작동하지만 문제는 처음에 페이지를 방문 할 때 콘텐츠를 표시하도록하는 것입니다. . 위의 코드는 모든 div가 처음에 숨겨져있는 경우에만 작동합니다.jquery 처음에는 활성 상태 인 div가 표시됩니다.
하나의 div를 display : block으로 설정할 수 있지만 표시된 div 이외의 다른 nav 링크를 클릭해도 아무 것도 발생하지 않습니다. 표시하도록 설정된 해당 div에 대한 링크를 클릭해야합니다. 먼저 블록을 만든 다음 다른 링크를 클릭하면됩니다. 쓸모가 없습니다.
첫 번째 콘텐츠 div (#filtration)가 처음에는 display : block으로 설정되도록 수정하면 사용자가 UL의 링크를 클릭하여 표시 할 수 있습니다.
감사합니다!
, 감사합니다. 그 추악한 onclick 함수를 제거하기위한 + 1. –