2017-05-11 13 views
1

Ich habe ein Problem mit meinem Sticky Header. see here, wenn Sie 80 Pixel von oben scrollen, erhält die Kopfzeile die Klasse sticky-header hinzugefügt und wenn Sie zurück scrollen entfernt die Klasse und gehen Sie zurück zur ursprünglichen PositionWarum geht meine Kopfzeile nicht zur ursprünglichen Position zurück?

Es scheint zu arbeiten, obwohl der Client zurückgekommen ist und sagte, dass es nicht funktioniert.

Aus irgendeinem Grund, wenn Sie nach unten und dann nach oben scrollen, scheint es den oberen Header zu ignorieren.

enter image description here

Nur js Code, den ich habe.

$(window).resize(addremoveclass()); 
$(window).scroll(addremoveclass()); 

function addremoveclass() { 
    if ($(window).width() < 1200) { 
     if($(this).scrollTop() >= 70) { // this refers to window 
      console.log("You've scrolled 80 pixels."); 
      $('#pageTemplate').addClass('stickypadding'); 
      $('header#header.header-sticky-mobile').css('top', '0px'); 
      $('header#header').addClass('header-sticky-mobile'); 
     } else if($(this).scrollTop() <= 69){ 
      $('#pageTemplate').removeClass('stickypadding'); 
      $('header#header').removeClass('header-sticky-mobile'); 
      $('header#header.header-sticky-mobile').css('top', '80px'); 
     } 
    } else { 
     if($(this).scrollTop() >= 70) { // this refers to window 
      console.log("You've scrolled 80 pixels."); 
      $('#pageTemplate').addClass('stickypadding'); 
      $('header#header.header-sticky-mobile').css('top', '0px'); 
      $('header#header').addClass('header-sticky-mobile'); 
     } else if($(this).scrollTop() <= 69){ 
      $('#pageTemplate').removeClass('stickypadding'); 
      $('header#header').removeClass('header-sticky-mobile'); 
      $('header#header.header-sticky-mobile').css('top', '80px'); 
     } 

    } 
} 

jede Hilfe würde sehr geschätzt werden.

+0

Ich weiß, aber es gab keine Möglichkeit für einen klebrigen Header in den Wordpress-Theme hatten, so dass es zu bauen, in dem eher nervig. – MrJoshFisher

+0

Josh ist völlig richtig verwenden CSS hier. Sie schreiben viel für weniger, jQuery ist mehr und weniger schreiben. SYA – LebCit

Antwort

0

Es passierte, wenn Sie in der Mitte der Seite aktualisieren.

hinzufügen $(this).scrollTop(0); zu Ihrem Dokument bereit als erstes:

wie:

$(document).ready(function(){ 
    $(this).scrollTop(0); 

    //..... 

}); 
Verwandte Themen