我有一些jquery显示和隐藏,我遇到的问题是当它显示时它不会停留,它会一直弹回。
有人可以帮忙吗? 这是一个演示 http://jsfiddle.net/WqYFV/
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideToggle('slow');
})
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideUp('slow');
})
答案 0 :(得分:6)
您有两个click
处理程序将处理同一事件 - 后者将再次隐藏.home-phone-icon
元素。你只需删除它:
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideToggle('slow');
});
答案 1 :(得分:1)
请删除下面的第二个click
事件:
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideUp('slow');
});
并使用第一个click
事件
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideToggle('slow');
});
答案 2 :(得分:1)
仅限尝试:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="javascript">
$(document).ready(function(){
$(".home-phone-icon").click(function () {
$(".home-nav-phone").slideToggle('slow');
})
});
</script>
<a href="javascript:;" class="home-phone-icon"></a>
<ul class="home-nav-phone">
<li><a href="#">link</a>
</li>
<li><a href="#">link</a>
</li>
<li><a href="#">link</a>
</li>
<li><a href="#">link</a>
</li>
</ul>
<style type="text/css">
.home-phone-icon {
display: block;
float: right;
background: red;
width: 40px;
height: 40px;
position: relative;
top: -30px;
right: -8px;
}
.home-nav-phone {
z-index: 9999999;
position: relative;
width: 100%;
top: 62px;
left: 0px;
display:none;
margin:0 auto;
pointer:cursor;
}
.home-nav-phone li {
line-height: 45px;
background:#2e2e2e;
text-align: center;
border-bottom: 1px solid white;
z-index: 999;
}
.home-nav-phone li a {
color: white;
font-size: 14px;
font-weight: bold;
}
</style>