繁体   English   中英

向下滚动时,将内容隐藏在透明的固定导航栏中

[英]Hide the content under transparent fixed navbar while scrolling down

问题:我有透明的固定导航栏,其间隙(顶部距)在内容下方,位于全局栏下方时位于导航栏下方。 问题在于导航栏是透明的,页面的背景是不同图像的动态幻灯片,因此我不能使用z-index并通过更改背景颜色或将图像与背景相同来隐藏它。

结论:

  • 带有间隙的透明固定导航栏
  • 动态图像背景
  • 它必须是全局滚动(不能对div内容使用滚动)
  • 我正在使用bootstrap 3

图:

错误:[现在的样子] [1]

右:[应该如何] [2]

  [1]: http://i.stack.imgur.com/Iwc1h.png
  [2]: http://i.stack.imgur.com/f1Sbd.png

抱歉,对于理解我的问题,这里是代码: http : //jsfiddle.net/5myw4e26/

如果您使用固定在导航栏上的位置,则可以在顶部div处留空,左侧浮动,高度与导航栏的大小相同。

我设法完成了您要尝试做的事情。 这可能不是最好的解决方案,但它可以工作。

我使用JQuery计算了段落( p.content )和navigation-bar发生碰撞的时间。

有足够的微调空间,因此您可以根据需要进行调整。

JQuery的

$(document).ready(function() {
      $(document).scroll(function() {
        $("p").each(function() {
          if ($(this).offset().top <= $(document).scrollTop() + 32) {
            $(this).css("opacity", "0");
          } else {
            $(this).css("opacity", "1");
          }
        });
      });
    });

注意$(this).offset().top <= $(document).scrollTop() + 32中的$(this).offset().top <= $(document).scrollTop() + 32是导航栏的高度。

例:

 $(document).ready(function() { $(document).scroll(function() { $("p").each(function() { if ($(this).offset().top <= $(document).scrollTop() + 32) { $(this).css("opacity", "0"); } else { $(this).css("opacity", "1"); } }); }); }); 
 body { margin: 0px; font-family: Arial; font-size: 12px; min-height: 2000px; } nav { width: 100%; height: 32px; line-height: 32px; text-align: center; position: fixed; top: 0; border-bottom: 1px solid black; } p.content { margin: 12px 0px 0px 0px; background: yellow; } p:first-of-type { margin: 44px 0px 0px 0px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <div id="wrapper"> <nav> Navigation Bar </nav> <p class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed dolor metus. Morbi tristique nisl vel lectus rutrum, non ultricies dolor feugiat. Fusce nec dolor in purus consectetur lacinia non sit amet turpis. Donec facilisis tortor mauris, nec vulputate massa fermentum vel. Praesent in neque quis lacus hendrerit tincidunt sed et dolor. Nullam fermentum, orci at pulvinar imperdiet, lacus libero facilisis ante, sit amet venenatis sem tortor in nibh. Ut ullamcorper porta fermentum. Praesent faucibus, erat eget iaculis porttitor, purus purus posuere nulla, eget lacinia odio libero in lectus. Vivamus sem ex, commodo ac tortor ut, fringilla vulputate eros. Ut iaculis augue non ipsum porttitor ornare.</p> <p class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce facilisis tellus luctus ornare hendrerit. Curabitur hendrerit justo ante. Maecenas scelerisque ligula condimentum, aliquam tortor sit amet, aliquam lacus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut ut augue vel massa tempus laoreet. Nulla porttitor, sem ac aliquet facilisis, purus ligula pulvinar ipsum, quis volutpat enim elit sed ante. Pellentesque quis diam vestibulum, viverra elit at, sollicitudin mi. Vivamus vehicula ex eu justo feugiat, a ullamcorper nisi commodo. Phasellus sed tortor eget purus mollis tempor at sit amet libero. Fusce tincidunt est est, tristique pretium justo feugiat eget. Donec et lacus vehicula, aliquam sapien a, eleifend tortor.</p> <p class="content">Vivamus vitae placerat elit. Integer eleifend nibh at purus suscipit rutrum. Aliquam et fermentum mauris. Aenean gravida velit a vehicula aliquet. Duis neque tortor, luctus eget condimentum eget, venenatis eget lorem. Maecenas sed ullamcorper tellus. Donec euismod bibendum nunc, non ullamcorper neque cursus eget. Curabitur dapibus orci non quam vestibulum ornare. Aenean tincidunt interdum justo faucibus feugiat. Proin molestie lorem ultricies neque consequat, commodo cursus nisl molestie. Donec gravida viverra nisl, consectetur laoreet libero interdum ac. Vivamus varius vestibulum quam eu rutrum. Pellentesque id rhoncus massa.</p> <p class="content">Nunc finibus leo mollis efficitur tempus. Suspendisse ac elit lectus. Proin auctor ipsum faucibus arcu cursus congue. Nam rutrum odio non enim euismod auctor id in justo. Ut non sagittis orci, vel tincidunt elit. Mauris odio sem, varius eget tortor at, commodo pretium massa. Cras sed rhoncus dolor, non dictum sem. Curabitur in imperdiet turpis, in imperdiet mi. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas erat nisl, sagittis id eleifend ut, consequat eget orci. Aenean blandit arcu non varius ornare.</p> <p class="content">Pellentesque molestie consectetur lectus in iaculis. Curabitur efficitur ac nisi vitae eleifend. Morbi semper tristique ornare. Morbi in cursus mauris. Morbi et risus velit. Etiam lobortis commodo dolor, ac pulvinar dolor gravida vel. Donec sollicitudin metus urna, eu consequat magna vehicula a. Vivamus interdum, enim non consequat ultrices, lacus enim vehicula ante, vitae tristique tellus nibh sit amet eros. Aliquam consequat eu orci id rutrum. Donec lacus eros, eleifend et viverra vitae, congue at turpis. Quisque rhoncus fermentum ex sed lobortis. Fusce luctus, lorem vitae condimentum gravida, nibh tortor elementum nulla, id auctor nisl ex eu lectus. Donec auctor ligula sem, et porttitor neque eleifend vitae. Aliquam felis lacus, sollicitudin laoreet dui mollis, scelerisque auctor metus.</p> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM