Advertisement
pligor

Add/Remove classes from html elements based on scroll

Apr 14th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(document).ready(function() {
  2.  
  3.     /**
  4.      * this can be optimized, because the classes are being removed in every scroll!
  5.      * optimized solution: http://stackoverflow.com/a/26016327/720484
  6.      */
  7.     var addRemoveTopPanelClassesOnScroll = function() {
  8.         var scrollValue = $(document).scrollTop()
  9.  
  10.         if(scrollValue > 0) {
  11.             $(".logoimgwrapper").addClass("logoimgwrapper_small")
  12.             $(".logoimg").addClass("logoimg_small")
  13.             $(".logotext").addClass("logotext_small")
  14.             $(".logosmalltext").addClass("logosmalltext_small")
  15.  
  16.             $(".mainmenu_item").addClass("mainmenu_item_small")
  17.             $(".menuitem_subtitle").addClass("menuitem_subtitle_small")
  18.  
  19.         } else {
  20.             $(".logoimgwrapper").removeClass("logoimgwrapper_small")
  21.             $(".logoimg").removeClass("logoimg_small")
  22.             $(".logotext").removeClass("logotext_small")
  23.             $(".logosmalltext").removeClass("logosmalltext_small")
  24.  
  25.             $(".mainmenu_item").removeClass("mainmenu_item_small")
  26.             $(".menuitem_subtitle").removeClass("menuitem_subtitle_small")
  27.         }
  28.  
  29.         return scrollValue
  30.     }
  31.  
  32.     //$(window).scroll(addRemoveTopPanelClassesOnScroll)
  33.     //it is NOT working, because on page load we have the top panel maximized while it is already scrolled
  34.     /*$(window).bind('scroll',function(e){
  35.         addRemoveTopPanelClassesOnScroll();
  36.     }).scroll();*/
  37. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement