javascript - 使用 jquery 隐藏和取消隐藏搜索 div

标签 javascript jquery html css twitter-bootstrap

我正在制作一个网站,其中导航栏中有一个搜索图标。 my search icon当用户单击搜索图标时,它应该使用“隐藏”类隐藏自己,并且还应该从搜索栏 div 中删除隐藏类。 my search bar div我使用 jQuery 完成了它,但它不起作用。我该怎么办?

这是我的代码-

Bootstrap CSS-

<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

正文-

<li class="hvr-bounce-to-bottom" id="navbar-search">
<a href="">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
</a>
</li>
<div class="input-group width-174px margin-top-8px hide" id="navbar-searchbar">
<input type="text" class="form-control width-100px" placeholder="Search">
<span class="input-group-btn">
<button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search" id="navbar-search" aria-hidden="true"></span></button>
</span>
</div>

JS-

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="custom.js"></script>
$('#navbar-search').on('click', function(){
$(this).addClass('hide');
$('#navbar-searchbar').removeClass('hide');
});

最佳答案

问题是您的图标在 anchor 元素内,点击图标会触发 anchor 元素的默认点击性质。

你需要阻止它,你可以通过调用 event.preventDefault()

$('#navbar-search').on('click', function(e) {
  e.preventDefault();
  $(this).addClass('hide');
  $('#navbar-searchbar').removeClass('hide');
});
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.1.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap-theme.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.js"></script>

<ul>
  <li class="hvr-bounce-to-bottom" id="navbar-search">
    <a href="">
      <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
    </a>
  </li>

</ul>
<div class="input-group width-174px margin-top-8px hide" id="navbar-searchbar">
  <input type="text" class="form-control width-100px" placeholder="Search">
  <span class="input-group-btn">
<button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search" id="navbar-search" aria-hidden="true"></span></button>
  </span>
</div>

关于javascript - 使用 jquery 隐藏和取消隐藏搜索 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406826/

相关文章:

jQuery Masonry - AJAX 返回的数据在附加后未拾取砌体网格布局

php - 使用 CSS 将屏幕分成两半

javascript - 按标签对复选框进行排序

javascript - 使用另一个日期数组删除日期数组

javascript - 如何在复选框中组合相同命名的值并为其指定默认值

javascript - Select2 从输入字段开始而不是下拉列表

javascript - 在按键上,动态添加选项卡?

javascript - jQuery:如何获取选择数组中元素的索引?

jquery - vAlign 元素居中,但相对于内容处于水平位置

html - Bootstrap 嵌入式视频中没有声音