因此,假设我有一个红色正方形图像,当鼠标移过它时会变为绿色,当鼠标离开正方形时会变回红色。然后我用它做了一个菜单,这样当我在广场上盘旋时,它会变成绿色,并在它下方出现一个矩形。
我想要发生的是:在矩形出现后,我将鼠标移出正方形并移出矩形,我希望正方形保持绿色,直到我将鼠标移出矩形。
如何使用jquery执行此操作?我使用的代码是这样的:
$('.square').hover(function() {
$(this).addClass('.green');
}, function() {
$(this).addClass('.red');
});
$('.square').hover(function() {
$(this).children('.rectangle').show();
}, function() {
$(this).children('.rectangle').hide();
});
答案 0 :(得分:2)
您的代码中只有一些错误。
jQuery的:
$('.square').hover(function() {
$(this).addClass('green');
$(this).children('.rectangle').show();
}, function() {
$(this).removeClass('green');
$(this).children('.rectangle').hide();
});
CSS:
/* Make sure .green comes after .red */
.red { background: red }
.green { background: green }
答案 1 :(得分:1)
我最近遇到了同样的问题。我所做的是将“{1}}事件添加到”child“元素中,所以当从父级传递给子级时,它不会被关闭。基本上我在这两个元素上都有mouseenter
和mouseenter
(这当然有点重叠,以便工作)。
答案 2 :(得分:0)
如果菜单在广场内,您可以尝试这样的事情:
$('.square').bind("mouseenter",function(){
$(this).addClass('green');
$('.rectangle').show();
});
$('.square').bind("mouseleave",function(){
$(this).addClass('red');
$('.rectangle').hide();
});