jquery實現(xiàn)全屏滾動效果
本文實例為大家分享了jquery實現(xiàn)全屏滾動的具體代碼,供大家參考,具體內(nèi)容如下
效果圖

思路
1.要全屏,給父級、body、html、高度設(shè)置為100%,自己的寬度也100%,還要給html、body設(shè)置溢出隱藏
html,body{
height:100%;
/* 實現(xiàn)全屏 */
overflow: hidden;
}
.wrap{
position: relative;
top: 0;
left: 0;
/* 實現(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.控制滑動一次
<script>
var flag = true;
if(flag){
//上滑
if(e.deltaY>0){
flag = false;
}
//下滑
else{
flag = false;
}
</script>
5.讓他滑起來,應該改變父級(這里是wrap的top,不是document的top,剛剛開始思路錯了,他的高度應該是子級的高度*-1),注意應該是每次滑完了才能繼續(xù)滑動,所以function里面要寫flag=true,為了讓它不越界,要把上滑和下滑寫在一個if里面,看下代碼
<script>
// 控制滑動一次
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{
// 這個if讓它不能讓下繼續(xù)滑動
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;}
/* 實現(xiàn)全屏 */
html,body{
height:100%;
overflow: hidden;
}
.wrap{
position: relative;
top: 0;
left: 0;
/* 實現(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){
// 控制滑動一次
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{
// 這個if讓它不能讓下繼續(xù)滑動
if(i<4){
i++;
flag = false;
$('.wrap').animate({top:-i*hei},1000,function(){
flag=true;
})
}
}
}
})
})
</script>
</body>
</html>
總結(jié):
1.top去實現(xiàn)
2.記到overflow
3.上滑的top依然是負數(shù),不是正數(shù)
4.高度和寬度要設(shè)置為100%
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery+php后臺實現(xiàn)省市區(qū)聯(lián)動功能示例
這篇文章主要介紹了jquery+php后臺實現(xiàn)省市區(qū)聯(lián)動功能,涉及jQuery事件響應及頁面元素屬性動態(tài)變換,以及ajax后臺動態(tài)交互相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問題
通過本篇文章主要給大家介紹IE7瀏覽器窗口大小改變事件執(zhí)行多次bug及IE6/IE7/IE8下resize問題,需要的朋友可以一起來學習2015-08-08
slideToggle+slideup實現(xiàn)手機端折疊菜單效果
這篇文章主要為大家詳細介紹了slideToggle+slideup實現(xiàn)手機端折疊菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
Bootstrap table中toolbar新增條件查詢及refresh參數(shù)使用方法
這篇文章主要介紹了Bootstrap table中toolbar新增條件查詢及refresh參數(shù)使用方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05
jquery緩動swing liner控制動畫過程不同時刻的速度
一個用來控制動畫過程的速度的參數(shù),這就是緩動(easing),它確定了動畫過程不同時刻的速度2014-05-05
jQuery實現(xiàn)中獎播報功能(讓文本滾動起來) 簡單設(shè)置數(shù)值即可
這篇文章主要介紹了jQuery實現(xiàn)中獎播報功能(讓文本滾動起來) 簡單設(shè)置數(shù)值即可,文中通過實例代碼給大家詳細介紹,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
jquery實現(xiàn)每個數(shù)字上都帶進度條的幻燈片
瀏覽網(wǎng)頁時不小心會碰到這樣的一個網(wǎng)站有幻燈片而且每個數(shù)字上面都帶有進度條閑的無聊,自己用jquery實現(xiàn)了一個,因為有一個進度條的播放過程暫不支持ie6,熱愛特效的你可不要錯過了哈2013-02-02

