【发布时间】:2009-04-17 12:49:54
【问题描述】:
我有一个无序列表,大概有 30 项。当其中一个项目悬停时,列表的其余项目消失到 30%,悬停的项目保持在 100%;当您从列表中移开时,它们都会恢复到 100%,而我已经做到了。
当您从一个项目移动到另一个项目时,我的问题出现了,其他列表项目淡化回 100%,然后又回落到 30%。我希望它们保持在 30%,除非用户离开整个列表。
我在每个列表项上使用 hoverIntent 插件。我还使用 jQuery 向当前列表项添加了一个类,这样我就可以淡化其余部分,并在您离开后将其删除。我使用了 jQuery Cookbook 网站 (http://docs.jquery.com/Cookbook/wait) 上的等待功能
你明白我了吗?
到目前为止,这是我的代码:
$.fn.wait = function(time, type) {
time = time || 300;
type = type || "fx";
return this.queue(type, function() {
var self = this;
setTimeout(function() {
$(self).dequeue();
}, time);
});
};
$("#sites li:not(#sites li li)").hoverIntent(function(){
$(this).attr('class', 'current'); // Add class .current
$("#sites li:not(#sites li.current,#sites li li)").fadeTo("slow", 0.3); // Fade other items to 30%
},function(){
$("#sites li:not(#sites li.current,#sites li li)").wait().fadeTo(600, 1.0); // This should set the other's opacity back to 100% on mouseout
$(this).removeClass("current"); // Remove class .current
});
*显然这是在 $(document).ready(function()
中谁能帮帮我?
非常感谢
【问题讨论】:
-
你能提供一个包含这段代码的测试页面吗?
-
在jsbin.com 上设置示例页面,将其保存到公共 URL,然后在您的问题中链接到它
-
我现在就在jsbin上设置一下,谢谢。
-
我已经在 jsbin 上设置好了,这里是链接:jsbin.com/uhilaCheers 伙计们
-
如果有一个可以帮助那些追随你的人,你应该选择一个正确的答案。