這篇文章主要講解了“jQuery怎么實(shí)現(xiàn)類似fullpage插件的全屏滾動效果”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“jQuery怎么實(shí)現(xiàn)類似fullpage插件的全屏滾動效果”吧!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),紅河哈尼企業(yè)網(wǎng)站建設(shè),紅河哈尼品牌網(wǎng)站建設(shè),網(wǎng)站定制,紅河哈尼網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,紅河哈尼網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
結(jié)合網(wǎng)上的思路,加上我之前自己做的代碼,代碼有這幾種功能:
1.頭部和尾部的內(nèi)容可以不用滾動,只要中間的滾動就行。
2.支持上一屏和下一屏的動畫觸發(fā)
3.支持下一頁和上一頁導(dǎo)航跳轉(zhuǎn)
4.支持小導(dǎo)航顯示和跳轉(zhuǎn)到某一頁
HTML代碼:
CSS設(shè)置時,需要注意有兩個父類元素,最外面的要設(shè)置超出高度隱藏。
.doc{height:640px;position:relative;overflow:hidden}
.main{position:relative}
.doc .page{position:absolute;height:100%;width:100%;top:100%}
.doc.done .page{position:static;top:0}
JS代碼,要注意滾動的兼容代碼用到了jQuery插件jquery-mousewheel,不要漏掉這個插件
JS:
$(function() {
var onScroll = false,
curIndex = 0,
len = $(".doc .page").length;
var winHeight = $(window).height();
// var boxHeight = winHeight- 60 >640 ? winHeight - 60 : 640; //當(dāng)需要顯示所有內(nèi)容,需要給外層一個固定高度,保證所有內(nèi)容都能看到
var boxHeight = winHeight - 60;
var toPage = function(curIndex) {
onScroll = true;
var now = -curIndex * boxHeight;
$(".page").eq(curIndex).addClass("current").siblings(".page").removeClass("current");
$(".page-nav i").eq(curIndex).addClass("current").siblings("i").removeClass("current");
$(".main").animate({
top: now + "px"
},1000,function() {
onScroll = false;
});
};
$(".doc").css("height", boxHeight);
$(".main").css("height", boxHeight * len);
$(".page").css("height", boxHeight);
$(".doc").addClass("done");
var pageNext = function() {
if (curIndex == len - 1) return;
curIndex++;
toPage(curIndex);
}
var pagePrev = function() {
if (curIndex == 0) return;
curIndex--;
toPage(curIndex);
}
$(".doc").on("mousewheel",function(e, i) {
if (onScroll) return;
if (i < -.2) {
//向下滾動
pageNext();
} else {
//向上滾動
pagePrev();
}
});
$('.nextPage').on('click',function() {
if (onScroll) return;
pageNext();
});
$('.page-nav i').on('click',function() {
if (onScroll) return;
var index = $(this).index();
toPage(index);
})
});
感謝各位的閱讀,以上就是“jQuery怎么實(shí)現(xiàn)類似fullpage插件的全屏滾動效果”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對jQuery怎么實(shí)現(xiàn)類似fullpage插件的全屏滾動效果這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!