jQuery實現電梯導航模塊
本文實例為大家分享了jQuery實現電梯導航模塊的具體代碼,供大家參考,具體內容如下
功能模塊
1、當頁面滾動到電器的模塊, 顯示電梯導航
2、點擊電梯導航中的 li, 頁面滾動到對應的內容區(qū)域
3、為當前點擊的 li 添加 current 類
4、頁面內容滾動到第幾個區(qū)域, 左側的電梯導航自動高亮對應的 li
5、為頁面滾動設置節(jié)流閥(點擊 li 時, 不進行第4步判斷)
html部分結構
<ul class="sidebar"> <li>手機模塊</li> <li>電器模塊</li> <li>產品模塊</li> <li>服裝模塊</li> <li>鞋子模塊</li> </ul> <section class="main"> <div>手機模塊</div> <div class="model">電器模塊</div> <div>產品模塊</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 //頁面滾動事件 $(window).scroll(function() { // 當頁面滾動到電器模塊側邊欄顯示 $(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 // 滾動的距離大于等于當前盒子離頂部的距離 if ($(window).scrollTop() >= Top) { //顯示高亮 $('.sidebar li').eq(i).addClass('current').siblings().removeClass('current') } }) }) //點擊讓li,出現在對應的位置 //綁定點擊事件,獲取索引,獲取樓層與頂部的距離,給html添加動畫 $('.sidebar li').click(function() { // 節(jié)流閥關閉了 flag = false // 改變背景顏色 // 獲取當前的索引值 var index = $(this).index() // 獲取當前索引位置上的盒子離頂部的距離 var top = $('div').eq(index).offset().top // 給html添加動畫 $('html,body').animate({ scrollTop: top }, function() { flag = true }) //點擊顯示高亮 $(this).addClass('current').siblings().removeClass('current') })
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Jquery ajax不能解析json對象,報Invalid JSON錯誤的原因和解決方法
我們知道Invalid JSON錯誤導致的json對象不能解析,一般都是服務器返回的json字符串的語法有錯誤。這種情況下,我們只需要仔細的檢查一下json就可以解決問題。2010-03-03輕松使用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中可以通過jqueryObj.attr("disabled","disabled")將頁面中某個元素置為不可編輯或觸發(fā)狀態(tài),但是在jquery的API reference中并沒說明怎么將頁面置為disable的元素重新置為可觸發(fā)或可編輯的。2009-07-07