jQuery實(shí)現(xiàn)電梯導(dǎo)航模塊
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)電梯導(dǎo)航模塊的具體代碼,供大家參考,具體內(nèi)容如下
功能模塊
1、當(dāng)頁(yè)面滾動(dòng)到電器的模塊, 顯示電梯導(dǎo)航
2、點(diǎn)擊電梯導(dǎo)航中的 li, 頁(yè)面滾動(dòng)到對(duì)應(yīng)的內(nèi)容區(qū)域
3、為當(dāng)前點(diǎn)擊的 li 添加 current 類
4、頁(yè)面內(nèi)容滾動(dòng)到第幾個(gè)區(qū)域, 左側(cè)的電梯導(dǎo)航自動(dòng)高亮對(duì)應(yīng)的 li
5、為頁(yè)面滾動(dòng)設(shè)置節(jié)流閥(點(diǎn)擊 li 時(shí), 不進(jìn)行第4步判斷)
html部分結(jié)構(gòu)
<ul class="sidebar"> <li>手機(jī)模塊</li> <li>電器模塊</li> <li>產(chǎn)品模塊</li> <li>服裝模塊</li> <li>鞋子模塊</li> </ul> <section class="main"> <div>手機(jī)模塊</div> <div class="model">電器模塊</div> <div>產(chǎn)品模塊</div> <div>服裝模塊</div> <div>鞋子模塊</div> </section>
css部分
* { margin: 0; padding: 0; margin: 0 auto; } div { width: 600px; height: 600px; border: 1px solid red; } li { list-style: none; border: 1px solid #abcdef; cursor: pointer; } .sidebar { display: none; position: fixed; left: 0; top: 350px; width: 66px; height: 200px; } .current { background-color: red; }
jQuery部分
//節(jié)流閥開啟 var flag = true //頁(yè)面滾動(dòng)事件 $(window).scroll(function() { // 當(dāng)頁(yè)面滾動(dòng)到電器模塊側(cè)邊欄顯示 $(this).scrollTop() >= $('.model').offset().top ? $('.sidebar').show() : $('.sidebar').hide() // 遍歷div $('.main div').each(function(i, item) { if (flag == false) { return } var Top = $(item).offset().top // 滾動(dòng)的距離大于等于當(dāng)前盒子離頂部的距離 if ($(window).scrollTop() >= Top) { //顯示高亮 $('.sidebar li').eq(i).addClass('current').siblings().removeClass('current') } }) }) //點(diǎn)擊讓li,出現(xiàn)在對(duì)應(yīng)的位置 //綁定點(diǎn)擊事件,獲取索引,獲取樓層與頂部的距離,給html添加動(dòng)畫 $('.sidebar li').click(function() { // 節(jié)流閥關(guān)閉了 flag = false // 改變背景顏色 // 獲取當(dāng)前的索引值 var index = $(this).index() // 獲取當(dāng)前索引位置上的盒子離頂部的距離 var top = $('div').eq(index).offset().top // 給html添加動(dòng)畫 $('html,body').animate({ scrollTop: top }, function() { flag = true }) //點(diǎn)擊顯示高亮 $(this).addClass('current').siblings().removeClass('current') })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery循環(huán)滾動(dòng)新聞列表示例代碼
jquery實(shí)現(xiàn)點(diǎn)擊公告的上一條下一條來(lái)查看滾動(dòng)條,示例代碼如下,希望對(duì)大家有所幫助2014-06-06Jquery ajax不能解析json對(duì)象,報(bào)Invalid JSON錯(cuò)誤的原因和解決方法
我們知道Invalid JSON錯(cuò)誤導(dǎo)致的json對(duì)象不能解析,一般都是服務(wù)器返回的json字符串的語(yǔ)法有錯(cuò)誤。這種情況下,我們只需要仔細(xì)的檢查一下json就可以解決問題。2010-03-03jquery實(shí)現(xiàn)多級(jí)下拉菜單的實(shí)例代碼
多級(jí)菜單,理論上支持無(wú)限多的層級(jí),文件結(jié)構(gòu)非常簡(jiǎn)單的,以下是完整代碼,有需要的朋友可以參考一下2013-10-10輕松使用jQuery雙向select控件Bootstrap Dual Listbox
這篇文章主要教大家如何輕松使用jQuery雙向select控件Bootstrap Dual Listbox,感興趣的小伙伴們可以參考一下2015-12-1210款新鮮出爐的 jQuery 插件(Ajax 插件,有幻燈片、圖片畫廊、菜單等)
這篇文章與大家分享的是10款新鮮出爐的基于 jQuery 開發(fā)的 Ajax 插件,有幻燈片、圖片畫廊、菜單等很多有用的插件。這些作者的想法特別新穎,希望你能從中找到自己需要的插件。2011-06-06jquery 將disabled的元素置為enabled的三種方法
在jquery中可以通過(guò)jqueryObj.attr("disabled","disabled")將頁(yè)面中某個(gè)元素置為不可編輯或觸發(fā)狀態(tài),但是在jquery的API reference中并沒說(shuō)明怎么將頁(yè)面置為disable的元素重新置為可觸發(fā)或可編輯的。2009-07-07jquery之基本選擇器practice(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇jquery之基本選擇器practice(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09