jquery實(shí)現(xiàn)全屏滾動(dòng)效果
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)全屏滾動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
效果圖
思路
1.要全屏,給父級(jí)、body、html、高度設(shè)置為100%,自己的寬度也100%,還要給html、body設(shè)置溢出隱藏
html,body{ height:100%; /* 實(shí)現(xiàn)全屏 */ overflow: hidden; } .wrap{ position: relative; top: 0; left: 0; /* 實(shí)現(xiàn)全屏 */ height: 100%; } div.wrap>div{ width:100%;height:100%; }
2.引入mousewheel在引入min.js之后
<script src="../../0817/jquery-3.5.1/jquery-3.5.1.min.js"></script> <script src="../../0817/jquery-3.5.1/jquery.mousewheel.min.js"></script>
3.e.deltaY>0上滑 e.deltaY<0下滑
4.控制滑動(dòng)一次
<script> var flag = true; if(flag){ //上滑 if(e.deltaY>0){ flag = false; } //下滑 else{ flag = false; } </script>
5.讓他滑起來(lái),應(yīng)該改變父級(jí)(這里是wrap的top,不是document的top,剛剛開(kāi)始思路錯(cuò)了,他的高度應(yīng)該是子級(jí)的高度*-1),注意應(yīng)該是每次滑完了才能繼續(xù)滑動(dòng),所以function里面要寫(xiě)flag=true,為了讓它不越界,要把上滑和下滑寫(xiě)在一個(gè)if里面,看下代碼
<script> // 控制滑動(dòng)一次 if(flag){ // 上滑 if(e.deltaY>0){ // 不能上滑了 if(i>0){ console.log(i) i--; flag = false; $('.wrap').animate({top:-i*hei},1000,function(){ flag=true; }) } }//下滑 else{ // 這個(gè)if讓它不能讓下繼續(xù)滑動(dòng) if(i<4){ i++; flag = false; $('.wrap').animate({top:-i*hei},1000,function(){ flag=true; }) } } } </script>
完整代碼
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> *{margin:0;padding:0;} /* 實(shí)現(xiàn)全屏 */ html,body{ height:100%; overflow: hidden; } .wrap{ position: relative; top: 0; left: 0; /* 實(shí)現(xiàn)全屏 */ height: 100%; } div.wrap>div{ width:100%; height:100%; } div.one{ background:lightcoral; } div.two{ background:lightblue; } div.three{ background:lightseagreen; } div.four{ background:lightslategray; } div.five{ background:pink; } </style> </head> <body> <div class="wrap"> <div class="one"></div> <div class="two"></div> <div class="three"></div> <div class="four"></div> <div class="five"></div> </div> <script src="../../0817/jquery-3.5.1/jquery-3.5.1.min.js"></script> <script src="../../0817/jquery-3.5.1/jquery.mousewheel.min.js"></script> <script> $(function(){ var flag = true; var i=0; var hei=$('.wrap>div').first().height(); $(document).mousewheel(function(e){ // 控制滑動(dòng)一次 if(flag){ // 上滑 if(e.deltaY>0){ // 不能上滑了 if(i>0){ console.log(i) i--; flag = false; $('.wrap').animate({top:-i*hei},1000,function(){ flag=true; }) } }//下滑 else{ // 這個(gè)if讓它不能讓下繼續(xù)滑動(dòng) if(i<4){ i++; flag = false; $('.wrap').animate({top:-i*hei},1000,function(){ flag=true; }) } } } }) }) </script> </body> </html>
總結(jié):
1.top去實(shí)現(xiàn)
2.記到overflow
3.上滑的top依然是負(fù)數(shù),不是正數(shù)
4.高度和寬度要設(shè)置為100%
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery+php后臺(tái)實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)功能示例
這篇文章主要介紹了jquery+php后臺(tái)實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)功能,涉及jQuery事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)變換,以及ajax后臺(tái)動(dòng)態(tài)交互相關(guān)操作技巧,需要的朋友可以參考下2019-05-05jQuery操作DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了jQuery操作DOM,下面的DOM操作將圍繞上面的DOM樹(shù)進(jìn)行學(xué)習(xí)JQueryDOM操作,有興趣的可以了解一下2017-07-07select標(biāo)簽?zāi)M/美化方法采用JS插件
select標(biāo)簽的外觀問(wèn)題很惱人,各個(gè)瀏覽器都不一致,單單就IE,一個(gè)版本就一個(gè)長(zhǎng)相,還不能用CSS修飾,接下來(lái)將本人對(duì)select的美化方法共享出來(lái),感興趣的朋友可以參考下2013-04-04IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問(wèn)題
通過(guò)本篇文章主要給大家介紹IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問(wèn)題,需要的朋友可以一起來(lái)學(xué)習(xí)2015-08-08slideToggle+slideup實(shí)現(xiàn)手機(jī)端折疊菜單效果
這篇文章主要為大家詳細(xì)介紹了slideToggle+slideup實(shí)現(xiàn)手機(jī)端折疊菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Bootstrap table中toolbar新增條件查詢及refresh參數(shù)使用方法
這篇文章主要介紹了Bootstrap table中toolbar新增條件查詢及refresh參數(shù)使用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05jquery緩動(dòng)swing liner控制動(dòng)畫(huà)過(guò)程不同時(shí)刻的速度
一個(gè)用來(lái)控制動(dòng)畫(huà)過(guò)程的速度的參數(shù),這就是緩動(dòng)(easing),它確定了動(dòng)畫(huà)過(guò)程不同時(shí)刻的速度2014-05-05jQuery實(shí)現(xiàn)中獎(jiǎng)播報(bào)功能(讓文本滾動(dòng)起來(lái)) 簡(jiǎn)單設(shè)置數(shù)值即可
這篇文章主要介紹了jQuery實(shí)現(xiàn)中獎(jiǎng)播報(bào)功能(讓文本滾動(dòng)起來(lái)) 簡(jiǎn)單設(shè)置數(shù)值即可,文中通過(guò)實(shí)例代碼給大家詳細(xì)介紹,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03jquery實(shí)現(xiàn)每個(gè)數(shù)字上都帶進(jìn)度條的幻燈片
瀏覽網(wǎng)頁(yè)時(shí)不小心會(huì)碰到這樣的一個(gè)網(wǎng)站有幻燈片而且每個(gè)數(shù)字上面都帶有進(jìn)度條閑的無(wú)聊,自己用jquery實(shí)現(xiàn)了一個(gè),因?yàn)橛幸粋€(gè)進(jìn)度條的播放過(guò)程暫不支持ie6,熱愛(ài)特效的你可不要錯(cuò)過(guò)了哈2013-02-02