摘要:特點(diǎn)單頁面官網(wǎng)不是傳說中的單頁面應(yīng)用固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換如考拉微課布局頂部導(dǎo)航欄內(nèi)容區(qū)底部樣式導(dǎo)航欄的樣式要注意,這給當(dāng)前樣式多帶帶做了一個(gè)層,絕對定位,鼠標(biāo)移動(dòng)
特點(diǎn)
單頁面官網(wǎng)--不是傳說中的單頁面應(yīng)用!
固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換
如:考拉微課
CSS樣式111111222223333334444455555
導(dǎo)航欄的樣式要注意,這給當(dāng)前樣式多帶帶做了一個(gè)DIV層,絕對定位,鼠標(biāo)移動(dòng)到哪個(gè)導(dǎo)航,這個(gè)當(dāng)前樣式層就移動(dòng)到這個(gè)導(dǎo)航菜單上。
JS方法封裝JS部分封裝一個(gè)插件navScroll.js
/* 導(dǎo)航滾動(dòng)插件 參數(shù): * navBox: 導(dǎo)航欄 * navA: 導(dǎo)航列表,內(nèi)部嵌套帶有錨點(diǎn)的a標(biāo)簽 * navFocus: 導(dǎo)航列表當(dāng)前狀態(tài) * className:導(dǎo)航列表 當(dāng)前狀態(tài)下的className * */ function navScroll(navBox,navA,navFocus,className) { /* 設(shè)置 當(dāng)前樣式 寬度 和 位置 ,初始為第一個(gè)導(dǎo)航的位置*/ var index = 0; // 設(shè)置當(dāng)前索引 初始為0 var $sW = navA.eq(index).outerWidth(); var $sL = navA.eq(index).position().left; navFocus.css({ width: $sW, left: $sL }); curClass(navA.eq(index)); /* 鼠標(biāo)移入到導(dǎo)航欄 改變當(dāng)前樣式*/ navA.mouseenter(function () { curClass($(this)); navFocusMove($(this)); }); // 鼠標(biāo)離開導(dǎo)航欄時(shí) 當(dāng)前樣式回到 上次位置 navBox.mouseleave(function () { navFocus.stop().animate( { width: $sW, left: $sL },function () { /*給上一次導(dǎo)航添加當(dāng)前樣式*/ curClass(navA.eq(index)) }) }); /*滾動(dòng)到某個(gè)部分 對應(yīng)導(dǎo)航改變樣式*/ $(document).on("scroll",function(){ var docTop = $(document).scrollTop()+100, offsetTop=[]; for(var i = 0,length = navA.length;iJS方法調(diào)用=offsetTop[i]){ curNav(navA.eq(i)); curClass(navA.eq(i)); navFocusMove(navA.eq(i)) } } }); /* 點(diǎn)擊導(dǎo)航時(shí) 改變導(dǎo)航樣式,文檔平滑的滾動(dòng)到指定的位置*/ navA.click(function() { curNav($(this)); curClass($(this)); navFocusMove($(this)); $("html, body").animate({ /*根據(jù)a標(biāo)簽href轉(zhuǎn)換為ID選擇器 獲取對應(yīng)位置*/ scrollTop: $($(this).attr("href")).offset().top - 100+"px" }, { duration: 500, easing: "swing" }); return false; }); // 當(dāng)前樣式 移動(dòng)函數(shù) function navFocusMove(that) { navFocus.stop().animate( { width: that.outerWidth(), left: that.position().left }) } // 添加當(dāng)前樣式,刪除其他當(dāng)前樣式 function curClass(curnavA) { curnavA.addClass(className).parent().siblings().find("a").removeClass(className); } /*記錄上一次當(dāng)前樣式所在位置 */ function curNav(obj) { $sW = obj.outerWidth(); $sL = obj.position().left; index = obj.parent().index(); } // 改變窗口大小時(shí) 設(shè)置 導(dǎo)航的當(dāng)前樣式 $(window).resize(function () { var $sW = navA.eq(index).outerWidth(); var $sL = navA.eq(index).position().left; navFocus.css({ width: $sW, left: $sL }); } ) }
在頁面中調(diào)用引用JQ庫以及這個(gè) navScroll.js插件
剛學(xué)完js的小白,思路都在注釋中,看不懂的請留言,不喜勿噴,歡迎指正!
完整案例
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/112450.html
摘要:特點(diǎn)單頁面官網(wǎng)不是傳說中的單頁面應(yīng)用固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換如考拉微課布局頂部導(dǎo)航欄內(nèi)容區(qū)底部樣式導(dǎo)航欄的樣式要注意,這給當(dāng)前樣式單獨(dú)做了一個(gè)層,絕對定位,鼠標(biāo)移動(dòng) 特點(diǎn) 單頁面官網(wǎng)--不是傳說中的單頁面應(yīng)用!固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換如:考拉微課 HTML布局 ...
摘要:特點(diǎn)單頁面官網(wǎng)不是傳說中的單頁面應(yīng)用固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換如考拉微課布局頂部導(dǎo)航欄內(nèi)容區(qū)底部樣式導(dǎo)航欄的樣式要注意,這給當(dāng)前樣式單獨(dú)做了一個(gè)層,絕對定位,鼠標(biāo)移動(dòng) 特點(diǎn) 單頁面官網(wǎng)--不是傳說中的單頁面應(yīng)用!固定頂部,點(diǎn)擊導(dǎo)航平滑過渡到指定錨點(diǎn),鼠標(biāo)上下滾動(dòng)到錨點(diǎn)位置導(dǎo)航隨之切換如:考拉微課 HTML布局 ...
摘要:方法的參數(shù)如下名稱默認(rèn)值描述需要移動(dòng)的精靈貝塞爾曲線的坐標(biāo)點(diǎn)的數(shù)組補(bǔ)間需要的幀數(shù),也就是動(dòng)畫應(yīng)該持續(xù)多長時(shí)間緩動(dòng)類型用于確定精靈是否應(yīng)在補(bǔ)間的起點(diǎn)和終點(diǎn)之間來回移動(dòng)。 說明 補(bǔ)間動(dòng)畫指的是,我們可以通過為精靈的位置、比例、透明度,等屬性,設(shè)置開始值和結(jié)束值,制作動(dòng)畫,動(dòng)畫中間需要的部分由軟件自動(dòng)計(jì)算填充。 Pixi 沒有內(nèi)置補(bǔ)間引擎,但是你可以使用很多很好的開源的補(bǔ)間庫,比如 Twee...
摘要:但是就頁面定位到指定位置其實(shí)還有更好的辦法,就是使用去獲取指定位置的,這樣的話還可以加滑動(dòng)動(dòng)畫,使定位的這個(gè)過程比較平滑。 需求 頁面上有一排按鈕,懸浮在窗口頂端,不隨頁面滑動(dòng)而滑動(dòng),這一組按鈕分別對應(yīng)的是頁面的各個(gè)部分,點(diǎn)擊按鈕,頁面定位到對應(yīng)的位置。 需求分析 拿到這個(gè)需求,很自然的想到,解決這個(gè)最簡單的方法是使用錨點(diǎn)(能靠HTML和css解決的,盡量不使用js 解法 想到使用錨點(diǎn)...
閱讀 1436·2021-09-02 19:23
閱讀 1586·2021-08-11 11:19
閱讀 641·2019-08-30 15:55
閱讀 1652·2019-08-30 12:50
閱讀 2241·2019-08-30 11:23
閱讀 2180·2019-08-29 13:13
閱讀 1500·2019-08-28 18:13
閱讀 3344·2019-08-26 11:53