您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用jquery庫實(shí)現(xiàn)電梯導(dǎo)航效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
電梯導(dǎo)航基本上就是使用元素距離頁面頭部的高度offsetTop和頁面滾動的距離scrollTop來進(jìn)行比較事項(xiàng)相應(yīng)的效果。
1、頁面滾動到相應(yīng)的位置,實(shí)現(xiàn)電梯導(dǎo)航的顯示與隱藏
2、頁面滾動到相應(yīng)的位置,電梯導(dǎo)航的按鈕添加或者移出相應(yīng)的類
3、點(diǎn)擊電梯導(dǎo)航按鈕,實(shí)現(xiàn)頁面的滾動和為按鈕添加或者移出相應(yīng)的類
4、點(diǎn)擊頂部按鈕,返回頂部
html代碼
<div class="header">頭部</div> <div class="banner">焦點(diǎn)圖</div> <div class="content"> <div class="qinzi w">親子</div> <div class="liren w">麗人</div> <div class="xuexi w">學(xué)習(xí)</div> <div class="lvyou w">旅游</div> <div class="zhusu w">住宿</div> <div class="meishi w">美食</div> </div> <div class="footer">尾部</div> <!-- 電梯導(dǎo)航 --> <div class="floor" > <ul> <li>親子</li> <li>麗人</li> <li>學(xué)習(xí)</li> <li>旅游</li> <li>住宿</li> <li>美食</li> </ul> <span>頂部</span> </div>
css代碼
*{ padding: 0; margin: 0; } body { font-size: 30px; } .header { width: 1100px; height: 200px; background-color: pink; margin: 0 auto; } .banner { width: 1100px; height: 400px; background-color: skyblue; margin: 0 auto; } .footer { width: 1100px; height: 300px; background-color: darkolivegreen; margin: 0 auto; } .content { width: 1100px; margin: 0 auto; } .content .qinzi { width: 100%; height: 324px; background-color: rosybrown; } .content .liren { width: 100%; height: 304px; background-color: slategrey; } .content .xuexi { width: 100%; height: 300px; background-color: khaki; } .content .lvyou { width: 100%; height: 300px; background-color: greenyellow; } .content .zhusu { width: 100%; height: 300px; background-color: darkcyan; } .content .meishi { width: 100%; height: 300px; background-color: lightgreen; } .floor { width: 50px; position: fixed; top: 150px; left: 50%; margin-left: -620px; font-size: 16px; text-align: center; } .floor li { width: 50px; height: 30px; background-color: grey; margin-bottom: 5px; line-height: 30px; list-style: none; cursor: pointer; } span { display: block; width: 50px; height: 30px; background-color: grey; margin-bottom: 5px; line-height: 30px; list-style: none; cursor: pointer; } .floor .current { background-color: hotpink; }
JavaScript代碼
var flag = true; //使用節(jié)流閥 //頁面剛開始隱藏,當(dāng)頁面滾動到content的時(shí)候,電梯導(dǎo)航顯示 $(function () { //頁面刷新時(shí)調(diào)用一次 //封裝函數(shù),切換顯示與隱藏 var contentTop = $(".content").offset().top; toggleTool(); function toggleTool() { if ($(document).scrollTop() >= contentTop) { $(".floor").fadeIn(); } else { $(".floor").fadeOut(); } } $(window).scroll(function () { toggleTool() //頁面滾動到相應(yīng)位置,電梯導(dǎo)航按鈕添加current類 if (flag) { $('.content .w').each(function (i, ele) { var cuHeight = ele.offsetHeight / 2; if ($(document).scrollTop() >= $(ele).offset().top - cuHeight) { $('.floor li').eq(i).addClass('current').siblings().removeClass(); } }) } }) //點(diǎn)擊電梯導(dǎo)航按鈕,頁面跳轉(zhuǎn)到相應(yīng)位置,使用jquery里面的animate $('.floor li ').click(function () { flag = false; $(this).addClass('current').siblings().removeClass(); var index = $(this).index(); var current = $('.content .w').eq(index).offset().top; $('html,body').stop().animate({ scrollTop: current }, function () { flag = true; }) }) $('.floor span').click(function () { $(this).addClass('current'); $('html,body').stop().animate({ scrollTop: 0 }) }) })
以上是“如何使用jquery庫實(shí)現(xiàn)電梯導(dǎo)航效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。