0
메뉴는 마우스를 가져갈 때 하위 항목을 표시합니다.jQuery를 사용한 탐색 메뉴 (jQuery 요리 책에서)
<ul id="menu">
<li class="menu">Sub 1
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
</li>
<li class="menu">Sub 2
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
</li>
</ul>
jQuery 코드 :
이$(document).ready(function() {
var toggle = function(direction, display) {
return function() {
var self = this;
var ul = $("ul", this);
if(ul.css("display") == display && !self["block" + direction]) {
self["block" + direction] = true;
ul["slide" + direction]("slow", function() {
self["block" + direction] = false;
});
}
};
}
$("li.menu").hover(toggle("Down", "none"), toggle("Up", "block"));
$("li.menu ul").hide();
});
위의 토글 기능에 this
무엇입니까 여기에 (http://docs.jquery.com/Cookbook/Navigation에서)이 코드는? 코드는 어떻게 작동합니까? 무엇이 $("ul", this);
에 의해 선정되고 있습니까?
고마워요! 한 가지 더 : 'self [ "block"+ direction "을 사용해야하는 이유는 무엇입니까? 코드도없이 잘 작동합니다. – Jatin
실은 잘 모르겠습니다. 나는 또한 행동의 차이를 볼 수 없었다. 그 목적은 올바르지 않은 상태를 렌더링 할 수있는 이벤트 대기열을 막는 것이지만 중복되는 것처럼 보입니다. 아마 저자는 jQuery의 이전 버전이나 특정 브라우저의 특질을 해결하는 것이 필요하다는 것을 알았을 것입니다. –