我有一个无序列表,可能有 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()
任何人都可以帮助我吗?
非常感谢