2014-11-04 9 views
10

Come rendere questa funzione aggiungere la classe dopo lo scorrimento 100vh?
Attualmente aggiunge la classe dopo 850px.Come attivare la classe dopo lo scroll 100vh

$("document").ready(function($){ 
    var nav = $('#verschwinden'); 

    $(window).scroll(function() { 
     if ($(this).scrollTop() > 850) { 
      nav.addClass("doch"); 
     } else { 
      nav.removeClass("doch"); 
     } 
    }); 
}); 
+0

non dovrebbe essere '$ (document)' ? o ancora più breve: 'jQuery (function ($) {' –

+0

Non lo so, questo è quello che ho trovato su Internet e funziona –

risposta

14

100vh in jQuery è semplice come $(window).height() mentre in puro JavaScript è window.innerHeightor a bit more longer.

jsFiddle demo

jQuery(function($) { 

    var $nav = $('#verschwinden'); 
    var $win = $(window); 
    var winH = $win.height(); // Get the window height. 

    $win.on("scroll", function() { 
     if ($(this).scrollTop() > winH) { 
      $nav.addClass("doch"); 
     } else { 
      $nav.removeClass("doch"); 
     } 
    }).on("resize", function(){ // If the user resizes the window 
     winH = $(this).height(); // you'll need the new height value 
    }); 

}); 

si può anche fare la parte if un po 'più corto semplicemente usando:

$nav.toggleClass("doch", $(this).scrollTop() > winH); 

demo

+0

Bello funziona! Ma ho dimenticato che la Naviagtion ha preso anche 6vh, c'è un modo? per rimuovere l'altezza della navigazione dall'altezza della finestra? –

+0

6 altezza viewport è 6% sry –

Problemi correlati