2014-11-22 108 views
0

最近我一直在尝试创建一个下拉菜单(我是JavaScript和jQuery的新手)。我试图做到这一点使用功能.mouseenter和.mouseleave这样:.mouseenter和.mouseleave不能正常工作

$('.slideOne') 
.mouseenter(function() { 
    $('#one').animate({ 
    left: '10%' 
    },100) 
.mouseleave(function() { 
    $('#one').animate({ 
    left: '-250px' 
    },100); 
    }); 
}); 

一切正常,但没有真正的办法,我就预料到了。你可以看到小提琴结果:

Full screen result

和全码:

Fiddle

希望你可以看到UL的当鼠标悬停在aproppriate里,他们不一定出现鼠标消失后不一定消失。

也许有人遇到过这个问题?还是有更好的方式来创造我想要的?

回答

2

下面是使用.hover()

FIDDLE

$('.slideOne').hover(function() { 
    $('#one').animate({ 
     left: '10%' 
    }, 100) 
}, function() { 
    console.log('dgfh'); 
    $('#one').animate({ 
     left: '-250px' 
    }, 100); 
}); 

$('.slideTwo').hover(function() { 
    $('#two').animate({ 
     left: '14%' 
    }, 100); 
}, function() { 
    $('#two').animate({ 
     left: '-250px' 
    }, 100); 
}); 
+0

感谢的另一种方式!你知道'.mouseenter'方法的工作方式怎么样? – Jytug 2014-11-22 16:48:11

+0

因为您尚未正确添加括号。检查代码中'.mouseenter()'的右括号。我没有检查你的代码的其余部分,但我认为它在每个地方都是同样的问题。 – Anubhav 2014-11-22 16:53:16

+0

谢谢。 你能不能也帮我找到一种方法,使鼠标从菜单到这个div时,slideOne不会消失?我是通过在slide-in div中添加“slideOne”类来实现的,但它的行为很奇怪: http://jsfiddle.net/filipbinkiewicz/1oLymcvo/11/ – Jytug 2014-11-22 17:06:52