JS庫(kù)之Waypoints的用法詳解
一款用于捕獲各種滾動(dòng)事件的插件?Waypoints。同時(shí)Waypoints還支持固定元素和無(wú)限滾動(dòng)的功能,功力十分強(qiáng)大。
一、最簡(jiǎn)易的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>waypoints的最簡(jiǎn)單使用</title> <!-- 定義css樣式 --> <style> *{ padding: 0; margin: 0; } #example-basic{ height: 500px; text-align: center; } </style> <!-- 引入js文件 --> <script src="js/jquery-3.0.0.min.js"></script> <script src="js/jquery.waypoints.js"></script> <script src="js/jquery-ui.min.js"></script> <!-- 啟動(dòng)waypoints --> <script> $(function () { $(‘#example-basic‘).waypoint(function() { console.log("hi,example-basic,你的頂部碰到了瀏覽器窗口的頂部!");//測(cè)試打開(kāi)web調(diào)試器,看控制臺(tái)信息 }); }); //注:無(wú)論是鼠標(biāo)向上或向下只要該元素的頂部碰到瀏覽器的頂部都會(huì)觸發(fā)waypoints事件 </script> </head> <body> <div style="background:#ccc;height:1800px;">one div</div> <div id="example-basic">example-basic.</div> <div style="background:#ccc;height:1800px;">one div</div> </html>
二、能檢測(cè)鼠標(biāo)滾動(dòng)方向的基本應(yīng)用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>檢測(cè)鼠標(biāo)滾動(dòng)方向</title> <style> *{ padding: 0; margin: 0; } #example-basic{ height: 500px; text-align: center; } .in{ font-size: 36px; color: #ff0; background:red; transition:all 0.5s; } </style> <script src="js/jquery-3.0.0.min.js"></script> <script src="js/jquery.waypoints.js"></script> <script src="js/jquery-ui.min.js"></script> <script> $(function () { $(‘#example-basic‘).waypoint( function(direction){ if(direction=="down"){ $(‘#example-basic‘).addClass("in"); $(‘#example-basic‘).html("你在向下滾動(dòng)!") }else{ $(‘#example-basic‘).removeClass("in"); $(‘#example-basic‘).html("你在向上滾動(dòng)!") } },//第1個(gè)參數(shù)為waypoints事件響應(yīng)時(shí)所執(zhí)行的代碼,是一個(gè)匿名函數(shù)即可 { offset:‘50%‘ }//第2個(gè)參數(shù)為偏移量,本例即該div到窗口高度一半時(shí)觸發(fā) ); }); </script> </head> <body> <div style="background:#ccc;height:1800px;">one div</div> <div id="example-basic">example-basic.</div> <div style="background:#ccc;height:1800px;">one div</div> </html>
三、鼠標(biāo)滾動(dòng)加動(dòng)畫(huà)效果的應(yīng)用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>加下動(dòng)畫(huà)效果的</title> <style> *{ padding: 0; margin: 0; } div{ background: #eee; } .banner{ width: 1100px; margin: 0 auto; } .title{ height: 100px; background: #9f9; } .lt{ position: relative; height: 400px; border:1px dotted #999; } .lt_left{ position: absolute; width: 500px; height: 300px; left: -20%; top: 0; margin-left: -550px; background: #f99; } .lt_right{ position: absolute; width: 500px; height: 300px; left: 120%; top: 0; margin-left: 50px; background: #99f; } </style> <script src="js/jquery-3.0.0.min.js"></script> <script src="js/jquery.waypoints.js"></script> <script src="js/jquery-ui.min.js"></script> <script> $(function () { //獲取運(yùn)動(dòng)的盒子 var boxElemets = $(‘.boxaction‘); $.each(boxElemets, function() { $(this).attr(‘init‘, ‘false‘); }); //判斷是否出現(xiàn)在瀏覽器界面里面! function isScrolledIntoView(elem) { var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; if (elemTop + 50 < docViewBottom) { return true } else { return false } } //定義動(dòng)畫(huà) function animateInit() { $.each(boxElemets, function() { if ($(this).attr(‘init‘) == ‘false‘ && isScrolledIntoView($(this))) { //沒(méi)有顯示過(guò)且剛出現(xiàn)在瀏覽器界面 $(this).attr(‘init‘, ‘true‘); $(this).animate({ ‘left‘: ‘50%‘ }, 1000, ‘easeOutCubic‘); } }); } animateInit(); //先執(zhí)行一次animateInit $(window).scroll(function() { //滑動(dòng)執(zhí)行animateInit animateInit(); }); }) </script> </head> <body> <div style="background:#ccc;height:1800px;text-align:center;">top div</div> <div class="banner"> <div class="title">這是標(biāo)題</div> <div class="lt"> <div class="lt_left boxaction">這是左邊盒子</div> <div class="lt_right boxaction">這是右邊盒子</div> </div> </div> </body> </html>
總結(jié)
以上所述是小編給大家介紹的JS庫(kù)之Waypoints的用法詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
webapi根據(jù)id獲取元素的實(shí)現(xiàn)思路
掌握document.getElementById() 根據(jù)id獲取元素,在頁(yè)面畫(huà)出一個(gè)寬200 高200 粉色的盒子, 在控制臺(tái)打印這個(gè)盒子,接到這樣的需求如何處理呢,下面小編給大家分享webapi根據(jù)id獲取元素的實(shí)現(xiàn)思路,感興趣的朋友一起看看吧2024-02-02JavaScript設(shè)置表單上傳時(shí)文件個(gè)數(shù)的方法
這篇文章主要介紹了JavaScript設(shè)置表單上傳時(shí)文件個(gè)數(shù)的方法,可實(shí)現(xiàn)動(dòng)態(tài)增加及刪除表單上傳按鈕的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08JS實(shí)現(xiàn)title標(biāo)題欄文字不間斷滾動(dòng)顯示效果
這篇文章主要介紹了JS實(shí)現(xiàn)title標(biāo)題欄文字不間斷滾動(dòng)顯示效果,通過(guò)javascript時(shí)間函數(shù)定時(shí)操作動(dòng)態(tài)修改頁(yè)面元素實(shí)現(xiàn)滾動(dòng)效果,需要的朋友可以參考下2016-09-09詳解JavaScript中Canvas的高級(jí)繪圖和動(dòng)畫(huà)技術(shù)
JavaScript中的Canvas 是一個(gè)強(qiáng)大的 HTML5 元素,允許你通過(guò)編程方式創(chuàng)建圖形、繪制圖像和實(shí)現(xiàn)復(fù)雜的動(dòng)畫(huà)效果,在本文中,我們將深入探討 JavaScript Canvas 的高級(jí)繪圖和動(dòng)畫(huà)技術(shù),并提供一個(gè)復(fù)雜的案例,以展示其潛力,需要的朋友可以參考下2023-10-10JS+CSS實(shí)現(xiàn)的日本門(mén)戶網(wǎng)站經(jīng)典選項(xiàng)卡導(dǎo)航效果
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)的日本門(mén)戶網(wǎng)站經(jīng)典選項(xiàng)卡導(dǎo)航效果,涉及JavaScript針對(duì)頁(yè)面元素的動(dòng)態(tài)遍歷及樣式動(dòng)態(tài)修改技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09javascript replace()正則替換實(shí)現(xiàn)代碼
javascript-replace()基礎(chǔ),一次完成將"<,>"替換"<>"實(shí)例2010-02-02JavaScript之DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
由于HTML文檔被瀏覽器解析后就是一棵DOM樹(shù),要改變HTML的結(jié)構(gòu),就需要通過(guò)JavaScript來(lái)操作DOM。始終記住DOM是一個(gè)樹(shù)形結(jié)構(gòu)。2017-07-07JS 實(shí)現(xiàn)可停頓的垂直滾動(dòng)實(shí)例代碼
下面小編就為大家?guī)?lái)一篇JS 實(shí)現(xiàn)可停頓的垂直滾動(dòng)實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11