$(function(){ var locationTabWrap = $("#menu_tab_wrap .menu_list"); var locationTabLength = locationTabWrap.find("li").length; locationTabWrap.addClass("list"+locationTabLength); var tabWrap = $(".m00 #tabs ul"); var tabLength = tabWrap.find("li").length; tabWrap.addClass("tabs"+tabLength); $(".m00 #tabs li a").on('click', function(){ var tabsH = $('.m00 #tabs').outerHeight(true); $("html, body").animate({ scrollTop : $(this.hash).offset().top - tabsH }, 300, function() { }); $("#tabs li").removeClass("on"); $(this).parents('li').addClass("on"); }); $(".m00 #tabs .tm_view button").on('click', function(){ $(this).parents('#tabs').toggleClass('on'); $(this).parents('#tabs').find('ul').slideToggle(); }); $("#tabs").sticky({topSpacing:0, zIndex:100}); $(window).scroll(function(){ var $section = $(".m00 .tabs_con"); var $thisTop = $(this).scrollTop(); var tabsH = $('.m00 #tabs').outerHeight(true); var val = $('.m00 #tabs ul li.on a').text(); $section.each(function(index){ var sectionTop = $(".tabs_con"+(index+1)).offset().top - tabsH; var sectionHeight = $(".tabs_con"+(index+1)).outerHeight(true); if($thisTop + 20 >= sectionTop && sectionTop + sectionHeight > $thisTop){ $("#tabs li").removeClass("on"); $("#tabs li:eq("+ index + ")").addClass("on"); $("#tabs .tm_view button").text(val); } }); }); });