如何制作合适的 jQuery 下拉菜单?
How to make proper jQuery slide down menu ?
朋友们大家好!
当我最初点击 button
(image) 时,slide down
菜单出现问题,<a id="js-cat" class="js-cat"></a>
它有效,但它 slides down
并立即 slides up
再次,我还没有计划这样做。例如,我的目标是让它响应;如果用户单击 button
(image) 一次,它应该向下滑动,如果用户单击它两次,它应该再次向上滑动。
伙计们,我需要你们的帮助。我几乎没有尝试这样做,但最终我无法让我的代码工作。
这是我的 HTML:
<a id='js-mnu' class='js-mnu'></a>
<a id="js-cat" class="js-cat"></a>
CSS
#js-cat {display:block;display:block;width:35px;height:35px;margin:17px 10px; position: absolute;
right: 0;}
.js-cat {background:url(images/cat.png) center center no-repeat;opacity:0.75;}
和jQuery:
$(document).ready(function(){
$("#js-cat").click(function(){
$('ul.catalog').slideDown();
});
$("#js-cat").click(function(){
$('ul.catalog').slideUp();
});
});
您绑定了两次点击事件。你应该只绑定一次并检查菜单是否隐藏或不向上或向下滑动。
$(document).ready(function() {
$("#js-cat").click(function() {
var isHidden = $(".menu").is(":hidden");
if (isHidden) {
$('.menu').slideDown();
} else {
$('.menu').slideUp();
}
});
});
body {
margin: 10px;
}
.menu {
margin: 10px 0;
background: #abcdef;
width: 250px;
padding: 10px;
}
a {
cursor: pointer;
border: 1px solid #555;
background: #fafafa;
color: #555;
padding: 10px;
display: inline-block
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="js-cat" class="js-cat">Click</a>
<div class="menu">Content: Lorem ipsum</div>
你不能只使用 Toggle 吗?
我认为通过切换,您可以在一个按钮上同时获得向下滑动和向上滑动选项。
记得在开头用 read(function()) 隐藏它。
朋友们大家好!
当我最初点击 button
(image) 时,slide down
菜单出现问题,<a id="js-cat" class="js-cat"></a>
它有效,但它 slides down
并立即 slides up
再次,我还没有计划这样做。例如,我的目标是让它响应;如果用户单击 button
(image) 一次,它应该向下滑动,如果用户单击它两次,它应该再次向上滑动。
伙计们,我需要你们的帮助。我几乎没有尝试这样做,但最终我无法让我的代码工作。
这是我的 HTML:
<a id='js-mnu' class='js-mnu'></a>
<a id="js-cat" class="js-cat"></a>
CSS
#js-cat {display:block;display:block;width:35px;height:35px;margin:17px 10px; position: absolute;
right: 0;}
.js-cat {background:url(images/cat.png) center center no-repeat;opacity:0.75;}
和jQuery:
$(document).ready(function(){
$("#js-cat").click(function(){
$('ul.catalog').slideDown();
});
$("#js-cat").click(function(){
$('ul.catalog').slideUp();
});
});
您绑定了两次点击事件。你应该只绑定一次并检查菜单是否隐藏或不向上或向下滑动。
$(document).ready(function() {
$("#js-cat").click(function() {
var isHidden = $(".menu").is(":hidden");
if (isHidden) {
$('.menu').slideDown();
} else {
$('.menu').slideUp();
}
});
});
body {
margin: 10px;
}
.menu {
margin: 10px 0;
background: #abcdef;
width: 250px;
padding: 10px;
}
a {
cursor: pointer;
border: 1px solid #555;
background: #fafafa;
color: #555;
padding: 10px;
display: inline-block
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="js-cat" class="js-cat">Click</a>
<div class="menu">Content: Lorem ipsum</div>
你不能只使用 Toggle 吗? 我认为通过切换,您可以在一个按钮上同时获得向下滑动和向上滑动选项。 记得在开头用 read(function()) 隐藏它。