如何在固定菜单之前添加div,以便在单击时消失

时间:2016-01-09 23:15:27

标签: jquery css css-position fixed

我有一个固定的菜单,它随着滚动而移动。

我想在此菜单之前动态添加另一个div,一旦点击它就会消失。

它应该坚持移动菜单。

我尝试将它添加到固定位置的身体 - 它在菜单上方。 如果我将它添加到菜单中,结果是一样的。

解决这个问题的正确方法是什么?

Base

https://jsfiddle.net/rzpL34ef/3/

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情

$(window).scroll(function() {
  if($(window).scrollTop() > 150) {
    if($('.box').length === 0) {
     $('header').before('<div class="box"></div>');
     $('header').css('top', '50px');
    }
  }
  
  $('.box').click(function() {
    $(this).css('display', 'none');
    $('header').css('top', '0');
  });
});
header {
  background: black;
  position: fixed;
  height: 50px;
  width: 100%;
  z-index: 1;
}

body {
  height: 1000px;
}

.box {
  background: red;
  height: 50px;
  width: 100%;
  z-index: 5;
  position: fixed;
  top: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header></header>