2015-08-22 134 views
0

你已经尝试创建一个dropmenu点击工作,所以触摸屏可以使用菜单。点击jquery无法正常工作

$('a.dropsmall2').click(function() { 
$(this).next('ul').slideToggle(500,'easeInOutQuad'); 

});

这部分似乎起作用。

$('#dropmenu a').click(function() { 
$(this).parents('ul').not('#dropmenu').hide('medium'); 

});

这个部分确实有效,但是一旦你点击它,菜单在它最终保持关闭之前打开和关闭。

$('#dropmenu ul').mouseleave(function() { 
$(this).slideToggle(500,'easeInOutQuad'); 

}); 这部分工作,但一旦鼠标离开菜单,然后就可以打开悬停而不是被点击(不知道它的这部分搞乱了它或代码的第一部分

jsfiddle --->http://jsfiddle.net/e9e17adm/15

+0

作为@Vishnu下面提到包括jQuery的在你的jsfiddle,否则你不会如工作。 – mechanicals

+0

'$(this).slideUp('500,easeInOutQuad');'是错的,应该是:'$(this)。slideUp(500,'easeInOutQuad');''和'slideDown()'相同,只需检查DOC –

+0

完成上述操作仍然无效。有同样的问题 – alwayslearning

回答

0

下面这个CSS,是你的问题,

.dropmenu ul li { 
    height: 0; 
    overflow: hidden; 
    padding: 0; 
    -webkit-transition: height .3s ease .1s; 
    -moz-transition: height .3s ease .1s; 
    -o-transition: height .3s ease .1s; 
    -ms-transition: height .3s ease .1s; 
    transition: height .3s ease .1s; 
} 
.dropmenu li:hover > ul li { 
    height: 27px; 
    line-height: 27px; 
    overflow: visible; 
    padding: 0; 
} 

您已经添加:悬停过渡到子列表,这样,基本上在CSS你提到onhover of main LI其子菜单BI的高度应增加到27px。 它只是最初在CSS中子菜单

display: "none"; 

那么,你是不是能够看到,你看到click事件后,以后的CSS过渡。 因为,当你做一个的jQuery的onclick,做一个了slideDown 这还附加一个

display: "block"; 

财产在子菜单中的内嵌样式UL元素

因此,现在您可以看到您自己在上面添加的CSS的过渡效果。

UPDATE:

更新你的小提琴解决您的问题。让我知道,如果这是你想要的东西..

http://jsfiddle.net/e9e17adm/16/

+0

好的感谢您添加更多信息,变得更清晰。有没有工作或必须删除过渡? – alwayslearning

+0

你想要什么确切的功能?点击菜单上的 – mechanicals

+0

打开,在mouseleave菜单关闭时,点击一个链接菜单关​​闭。 – alwayslearning