2014-11-04 6 views
10

Wie diese Funktion die Klasse nach dem Scrollen 100vh hinzufügen?
Aktuell wird die Klasse nach 850px hinzugefügt.Wie klasse Klasse nach 100vh scroll

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

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

Sollte es nicht '$ (document) sein' ? oder noch kürzer: 'jQuery (funktion ($) {' –

+0

Ich weiß nicht, das ist, was ich im Internet gefunden habe und es funktioniert. –

Antwort

14

100vh in jQuery ist einfach wie $(window).height() während in reinen JavaScript window.innerHeightor a bit more longer ist.

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 
    }); 

}); 

können Sie auch machen den if Teil etwas kürzer, indem einfach:

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

demo

+0

Schön es funktioniert! Aber ich habe vergessen, dass die Naviagtion auch 6vh nahm, gibt es einen Weg um die Höhe der Navigation von der Fensterhöhe zu entfernen? –

+0

6 Ansichtsfensterhöhe ist 6% sry –