gpt4 book ai didi

javascript - 使用 jQuery 的导航菜单(来自 jQuery Cookbook)

转载 作者:行者123 更新时间:2023-12-02 19:56:40 24 4
gpt4 key购买 nike

菜单应该在悬停时显示子项目。这是代码(来自 http://docs.jquery.com/Cookbook/Navigation ):

   <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是什么?代码是如何工作的? $("ul", this); 选择了什么?

最佳答案

“this”指的是 jQuery 对象 $("li.menu") - 当悬停方法调用将切换功能应用于该对象时。 $("ul", this) 选择作为第二个参数("this")中提供的上下文子级的 ul 元素,因此它选择嵌套在 li.menu 元素中的 ul 元素。希望这使得悬停/切换功能有意义。

关于javascript - 使用 jQuery 的导航菜单(来自 jQuery Cookbook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8544806/

24 4 0