摘要:主要功能固定中部導(dǎo)航欄滾動(dòng)到觸發(fā)滾動(dòng)后可視內(nèi)容和高亮標(biāo)題一致很多網(wǎng)站并未做到這一點(diǎn)點(diǎn)擊導(dǎo)航標(biāo)題快速定位到內(nèi)容可自定義當(dāng)觸發(fā)標(biāo)題時(shí)的標(biāo)題樣式基于實(shí)現(xiàn)根據(jù)此網(wǎng)站的代碼稍作修改使用方式中聲明調(diào)用例如導(dǎo)航的類是自己文件里按自己意愿定義
主要功能
固定中部導(dǎo)航欄(滾動(dòng)到觸發(fā))
滾動(dòng)后可視內(nèi)容和高亮標(biāo)題一致(很多網(wǎng)站并未做到這一點(diǎn))
點(diǎn)擊導(dǎo)航標(biāo)題快速定位到內(nèi)容
可自定義當(dāng)觸發(fā)標(biāo)題時(shí)的標(biāo)題樣式
基于JQuery實(shí)現(xiàn)
(function() { $.fn.smint = function(fxd) { var lastScrollTop, menuHeight, myOffset, mySelector, optionLocs, scrollSpeed, settings, smint, smintA, smintH, smintLi; settings = $.extend({ "scrollSpeed": 500, "mySelector": "div" }); $(this).addClass("smint"); optionLocs = new Array; lastScrollTop = 0; menuHeight = $(".smint").height(); smint = $(".smint"); smintLi = $(".smint li"); smintA = $(".smint a"); smintH = smintLi || smintA; myOffset = smint.height(); if (settings.scrollSpeed) { scrollSpeed = settings.scrollSpeed; } if (settings.mySelector) { mySelector = settings.mySelector; } return smintH.each(function(index) { var id, stickyMenu, stickyTop; id = $(this).find("a").attr("href").split("#")[1]; if (!$(this).hasClass("extLink")) { $(this).attr("id", id); } optionLocs.push(Array($(mySelector + "." + id).position().top - menuHeight, $(mySelector + "." + id).height() + $(mySelector + "." + id).position().top, id)); stickyTop = smint.offset().top; stickyMenu = function(direction) { var scrollTop; scrollTop = $(window).scrollTop() + myOffset; if (scrollTop > stickyTop + myOffset) { smint.css({ "position": "fixed", "top": 0 }).addClass("fxd"); } else { smint.css("position", "relative").removeClass("fxd"); } if (optionLocs[index][0] <= scrollTop && scrollTop <= optionLocs[index][1]) { if (direction === "up") { $("#" + id).addClass("active"); $("#" + optionLocs[index + 1][2]).removeClass("active"); } else if (index > 0) { $("#" + id).addClass("active"); $("#" + optionLocs[index - 1][2]).removeClass("active"); } else if (direction === void 0) { $("#" + id).addClass("active"); } $.each(optionLocs, function(i) { if (id !== optionLocs[i][2]) { $("#" + optionLocs[i][2]).removeClass("active"); } }); } }; stickyMenu(); $(window).scroll(function() { var direction, st; st = $(this).scrollTop() + myOffset; if ($(window).scrollTop() + $(window).height() === $(document).height()) { smintH.removeClass("active"); $(".smint li:not(".extLink"):last").addClass("active"); } else { smintH.last().removeClass("active"); } if (st > lastScrollTop) { direction = "down"; } else if (st < lastScrollTop) { direction = "up"; } lastScrollTop = st; stickyMenu(direction); }); $(this).on("click", function(e) { var myOffset; var goTo, hash; myOffset = smint.height(); e.preventDefault(); hash = $(this).find("a").attr("href").split("#")[1]; goTo = $(mySelector + "." + hash).offset().top - myOffset; $("html, body").stop().animate({ scrollTop: goTo }, scrollSpeed); if ($(this).hasClass("extLink")) { return false; } }); }); }; $.fn.smint.defaults = { "scrollSpeed": 500, "mySelector": "div" }; })(jQuery);
http://www.outyear.co.uk/smint/
根據(jù)此網(wǎng)站的代碼 稍作修改
使用方式js中聲明調(diào)用例如 導(dǎo)航的類“navbar-wrapper-middle”
$(".navbar-wrapper-middle").smint("fxd") //fxd是自己css文件里按自己意愿定義好的類 //即導(dǎo)航欄固定后的樣式
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83615.html
摘要:本文假設(shè)讀者手里有關(guān)于和的文檔,并且對(duì)和有一定的了解。沒有文檔也沒關(guān)系我這里有關(guān)于文檔以及介紹,可以配合本文進(jìn)行學(xué)習(xí)。關(guān)鍵就是在中部導(dǎo)航欄熱門,新上榜那塊,棕色框內(nèi)的內(nèi)容會(huì)根據(jù)中部導(dǎo)航欄選中不同內(nèi)容進(jìn)行改變。 在這個(gè)教程里面,我會(huì)通過一系列的代碼和圖片來學(xué)習(xí)怎么使用vue-router,以及vuex。本文假設(shè)讀者手里有關(guān)于vue-router和Vuex的文檔,并且對(duì)Vue-router...
摘要:本文假設(shè)讀者手里有關(guān)于和的文檔,并且對(duì)和有一定的了解。沒有文檔也沒關(guān)系我這里有關(guān)于文檔以及介紹,可以配合本文進(jìn)行學(xué)習(xí)。關(guān)鍵就是在中部導(dǎo)航欄熱門,新上榜那塊,棕色框內(nèi)的內(nèi)容會(huì)根據(jù)中部導(dǎo)航欄選中不同內(nèi)容進(jìn)行改變。 在這個(gè)教程里面,我會(huì)通過一系列的代碼和圖片來學(xué)習(xí)怎么使用vue-router,以及vuex。本文假設(shè)讀者手里有關(guān)于vue-router和Vuex的文檔,并且對(duì)Vue-router...
摘要:網(wǎng)頁(yè)制作中規(guī)范使用命名規(guī)則,可以改善優(yōu)化功效特別是團(tuán)隊(duì)合作時(shí)候可以提供合作制作效率,具體命名規(guī)則命名大全內(nèi)容篇。 網(wǎng)頁(yè)制作中規(guī)范使用DIV+CSS命名規(guī)則,可以改善優(yōu)化功效特別是團(tuán)隊(duì)合作時(shí)候可以提供合作制作效率,具體DIV CSS命名規(guī)則CSS命名大全內(nèi)容篇。 常用DIV+CSS命名大全集合,即CSS命名規(guī)則 DIV CSS命名目錄我們開發(fā)CSS+DIV網(wǎng)頁(yè)(Xhtml)時(shí)候,比較困惑...
摘要:接下來是中部導(dǎo)航欄。我們看到這里的頭像動(dòng)畫,和中部導(dǎo)航欄定位都是跟鼠標(biāo)滾動(dòng)有關(guān)的。這里是要求在頁(yè)面上部分滾動(dòng)范圍內(nèi),導(dǎo)航欄一直在的上部,隨著鼠標(biāo)的滾動(dòng)而改變位置。而且中部導(dǎo)航欄下方區(qū)域的內(nèi)容,在下滑的時(shí)候不能出現(xiàn)在這個(gè)區(qū)域。 接下來是中部導(dǎo)航欄。我們看到這里的頭像動(dòng)畫,和中部導(dǎo)航欄定位都是跟鼠標(biāo)滾動(dòng)有關(guān)的。我們先將布局實(shí)現(xiàn)一下。這里是要求在頁(yè)面上部分滾動(dòng)范圍內(nèi),導(dǎo)航欄一直在div的上部...
摘要:路由模塊的本質(zhì)就是建立起和頁(yè)面之間的映射關(guān)系。模式的原理是事件監(jiān)測(cè)值變化,可以在對(duì)象上監(jiān)聽這個(gè)事件。這兩個(gè)方法應(yīng)用于瀏覽器記錄棧,在當(dāng)前已有的基礎(chǔ)之上,它們提供了對(duì)歷史記錄修改的功能。 vue-router 這里的路由并不是指我們平時(shí)所說的硬件路由器,這里的路由就是SPA(單頁(yè)應(yīng)用)的路徑管理器。再通俗的說,vue-router就是WebApp的鏈接路徑管理系統(tǒng)。vue-router是...
閱讀 3651·2021-10-12 10:11
閱讀 1013·2021-09-22 15:42
閱讀 3465·2019-08-30 13:06
閱讀 907·2019-08-29 17:05
閱讀 1651·2019-08-29 12:21
閱讀 2378·2019-08-29 11:31
閱讀 1136·2019-08-23 18:37
閱讀 1257·2019-08-23 14:58