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-05
jQuery操作DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了jQuery操作DOM,下面的DOM操作將圍繞上面的DOM樹(shù)進(jìn)行學(xué)習(xí)JQueryDOM操作,有興趣的可以了解一下2017-07-07
select標(biāo)簽?zāi)M/美化方法采用JS插件
select標(biāo)簽的外觀(guān)問(wèn)題很惱人,各個(gè)瀏覽器都不一致,單單就IE,一個(gè)版本就一個(gè)長(zhǎng)相,還不能用CSS修飾,接下來(lái)將本人對(duì)select的美化方法共享出來(lái),感興趣的朋友可以參考下2013-04-04
IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問(wèn)題
通過(guò)本篇文章主要給大家介紹IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問(wèn)題,需要的朋友可以一起來(lái)學(xué)習(xí)2015-08-08
slideToggle+slideup實(shí)現(xiàn)手機(jī)端折疊菜單效果
這篇文章主要為大家詳細(xì)介紹了slideToggle+slideup實(shí)現(xiàn)手機(jī)端折疊菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Bootstrap table中toolbar新增條件查詢(xún)及refresh參數(shù)使用方法
這篇文章主要介紹了Bootstrap table中toolbar新增條件查詢(xún)及refresh參數(shù)使用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05
jquery緩動(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-05
jQuery實(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-03
jquery實(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

