2016-04-19 4 views
1

Я скопировал этот скрипт с другого сайта, и я не уверен, что я делаю неправильно здесь. Сценарий предполагает удалить/добавить класс, но по какой-то причине он не работает.Nav показать на прокрутке вверх

Я тестировал его на эту ссылку, и здесь он совершенно http://rubenkoops.nl/script_library/cms/content/01-home/nav_hide_on_scroll_html_preview/

работает почему-то это нагель работает на эту ссылку http://18493.hosts.ma-cloud.nl/

У меня возникло ощущение, что я пропускаю что-то на самом деле немой, может ли кто-нибудь понять это?

<style type="text/css"> 

    header { 
     background: #f5b335; 
     height: 40px; 
     position: fixed; 
     top: 0; 
     left: 0; 
     transition: top 0.2s ease-in-out; 
     width: 100%; 
    } 

    .nav-up { 
     top: -40px; 
    } 
    </style> 

<script type='text/javascript'>//<![CDATA[ 
    $(function(){ 
    // Hide Header on on scroll down 
    var didScroll; 
    var lastScrollTop = 0; 
    var delta = 5; 
    var navbarHeight = $('header').outerHeight(); 

    $(window).scroll(function(event){ 
     didScroll = true; 
    }); 

    setInterval(function() { 
     if (didScroll) { 
      hasScrolled(); 
      didScroll = false; 
     } 
    }, 250); 

    function hasScrolled() { 
     var st = $(this).scrollTop(); 

     // Make sure they scroll more than delta 
     if(Math.abs(lastScrollTop - st) <= delta) 
      return; 

     // If they scrolled down and are past the navbar, add class .nav-up. 
     // This is necessary so you never see what is "behind" the navbar. 
     if (st > lastScrollTop && st > navbarHeight){ 
      // Scroll Down 
      $('header').removeClass('nav-down').addClass('nav-up'); 
     } else { 
      // Scroll Up 
      if(st + $(window).height() < $(document).height()) { 
       $('header').removeClass('nav-up').addClass('nav-down'); 
      } 
     } 

     lastScrollTop = st; 
    } 
    });//]]> 

</script> 

<header class="nav-down"> 
    Dit is het menu 
</header> 
+0

Спасибо, я думаю, я просто сделал это! – apielotje

+0

Я разместил две ссылки, один работает, а другой нет, проблема в том, что я не знаю почему. – apielotje

ответ

2

Проблема заключается в том, что сценарий ожидает $("header") элемент AKA:

<header></header> 

, но у вас есть

<div id="header"></div> 

Таким образом, вы логически есть два решения.

  1. Изменить сценарий для $("#header")
  2. Или использовать <header> элемент
+0

Ничего себе .... это глупо, спасибо большое! Что мне нужно изменить, чтобы настроить заголовок id:? Просто #header? – apielotje

+0

@ user3733479 точно –

+0

Вау, ты быстро, спасибо большое! – apielotje