最近作了一些小功能,其中有一個是跟隨導航事件。一說這個我就不得不說我以前是有多菜了。爲啥?由於這個實在不是什麼值得換新鼓舞的事。html
本身以前不努力,如今算是看清楚現狀了。也明白了一些道理,別要什麼效果都要去百度。好多插件是很高大上,可是用的也只是一小部分,不值當的spa
都拿來。本身先想一想怎麼作,提升會很快。很少說了,讓大家看看困擾個人是什麼樣的難題。插件
先來html跟隨導航部分code
<div class="scroll"> <a class="scroll_01 now"></a> <a class="scroll_02"></a> <a class="scroll_03"></a> <a class="scroll_04"></a> <a class="scroll_05"></a> <a class="scroll_06" href="http://www.cmbc.com.cn/" target="_blank"></a> <span class="scroll_top"></span> <div class="scroll_bg_01"></div> <div class="scroll_bg_02"></div> </div>
jq寫的代碼部分htm
//獲取滾動條距離頂端的距離 function getScrollTop() { var scrollPos; if (window.pageYOffset) { scrollPos = window.pageYOffset;
} else if (document.compatMode && document.compatMode != 'BackCompat') {
scrollPos = document.documentElement.scrollTop;
} else if (document.body) {
scrollPos = document.body.scrollTop;
} return scrollPos; } $(window).scroll(function() { var yheight=getScrollTop(); //滾動條距頂端的距離 if(yheight <= 567){ $(".scroll a").removeClass("now"); $(".scroll_01").addClass("now"); }else if(yheight >=567 && yheight<=888 ){ $(".scroll a").removeClass("now"); $(".scroll_02").addClass("now"); }else if(yheight>=888 && yheight<=1339){ $(".scroll a").removeClass("now"); $(".scroll_03").addClass("now"); }else if(yheight>=1339 && yheight<=1500){ $(".scroll a").removeClass("now"); $(".scroll_04").addClass("now"); }else if(yheight>=1500 && yheight<=1772){ $(".scroll a").removeClass("now"); $(".scroll_05").addClass("now"); } });