javascript - 隐藏两个导航元素,直到并且除非它水平滚动到页面的 70px

标签 javascript jquery html css navigation

我在页面左上角有一个LOGO,在页面右上角有一个搜索栏。我在该 Logo 和搜索栏下方有一个 position:fixed 导航栏,一旦向下滚动 Logo 部分,它就会固定。

现在的问题是当我向下滚动 Logo 部分时,搜索栏和另一个元素应该进入导航栏中的可见模式。

这是 Fiddle

请帮我做这件事,搜索了很多,但这让我筋疲力尽。

window.onscroll = changePos;function changePos() {
var header = document.getElementById("header");
if (window.pageYOffset > 70) {
    header.style.position = "fixed";
    header.style.top = "0";
} else {
    header.style.position = "";
    header.style.top = "";
}}

最佳答案

你可以试试这个:

  • 首先添加一个类来隐藏您的元素:

     <li class="hiden"> <a href="#">Logo</a></li>
     <li class="hiden"> <a href="#">Search</a></li>
    
     .wrapper #nav li.hiden {
        display:none;
     }
    
  • 然后将 show()hide() 添加到该类的 Jquery 方法中:

    function changePos() {
      var header = $('#header'),
      sT = $(window).scrollTop();
      if (sT > 70) {
        header.css({'position':'fixed','top':'0'});
        $('.hiden').show();
      } else {
        header.css({'position':'relative','top':' '});
        $('.hiden').hide();
      }
    

演示 http://jsfiddle.net/v97qg/8/

关于javascript - 隐藏两个导航元素,直到并且除非它水平滚动到页面的 70px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20760805/

相关文章:

javascript - 一种跨 js 和 java 的 i18n 方法

javascript - 我有一个关于输入按钮

javascript - jQuery 停止执行直到事件被调度

如果连接丢失,javascript不会重新连接到服务器端

javascript - 从 javascript/jquery 调用 AS 函数

javascript - 重置后退按钮上的表单(Safari)

javascript - 如何通过关联查询 Sequelize 模型,但包括所有关联对象?

javascript - 检测异步调用完成,然后触发另一个函数?

html - 保留 :hover effect when hovering over another :hover

javascript - 用于智能手机/平板电脑浏览器的 Web 应用程序中的条形码扫描