Jquery秀和隐藏弹回?

时间:2013-10-08 10:27:19

标签: jquery html css

我有一些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');
})

3 个答案:

答案 0 :(得分:6)

您有两个click处理程序将处理同一事件 - 后者将再次隐藏.home-phone-icon元素。你只需删除它:

$(".home-phone-icon").click(function () {
    $(".home-nav-phone").slideToggle('slow');
});

Updated fiddle

答案 1 :(得分:1)

请删除下面的第二个click事件:

$(".home-phone-icon").click(function () {
    $(".home-nav-phone").slideUp('slow');
});

并使用第一个click事件

$(".home-phone-icon").click(function () {
    $(".home-nav-phone").slideToggle('slow');
});

FIDDLE DEMO

答案 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>