javascript - 单击时的 jquery 无法正常运行

标签 javascript jquery css

您好,您已尝试创建一个下拉菜单来处理点击,以便触摸屏可以使用该菜单。

$('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

最佳答案

下面这个 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;
}

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

display: "none";

因此,您无法看到稍后在单击事件后看到的 CSS 转换。 因为,当您执行 jquery onclick 并执行 slideDown 时 这也附上一个

display: "block";

子菜单 UL 元素的内联样式中的属性

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

更新:

更新了您的 fiddle 以解决您的问题。让我知道这是否是您想要的......

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

关于javascript - 单击时的 jquery 无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155378/

相关文章:

javascript - Material Design 缩放字体

JavaScript Bookmarklet 打开新窗口并传输原始页面的参数

javascript - 我想在 jQuery/javascript 中在指定的时间间隔内一次又一次地读取文本文件,除非满足条件

javascript - 如何将元素位置设置为固定在其父容器内

html - CSS 菜单 - 带有悬停突出显示的文本间距

css - 如何将 JSF 图像资源引用为 CSS 背景图像 url

javascript - 警告框(确认框)中的撇号或逗号不起作用

javascript - 制作一个已知边两条垂直线位置的矩形(路径元素)

javascript - 动画完成后运行函数

html - div容器内div的自动宽度