Aujourd'hui, je vais vous présenter ce fullPage, qui est différent de fullPage.js, a une meilleure compatibilité et est rétrocompatible avec IE6. Il ne repose sur aucune bibliothèque js et peut être utilisé indépendamment. Bien qu'il ne soit pas aussi puissant que fullPage.js en termes de fonctionnalités, il est suffisant pour une utilisation générale, en particulier ses effets d'animation. Vous pouvez définir librement la mise à l'échelle et la rotation pour produire divers effets d'animation. Il prend également en charge le défilement horizontal que fullPage.js n'a pas.
Avant de le présenter, jetons un œil aux rendus des opérations :
Présentez la bibliothèque principale, la page complète dépend de n'importe quelle bibliothèque JS, il vous suffit donc de la présenter elle-même
<script src="js/fullPage.min.js"></script>
Écrire du HTML
//请在head区加入以下代码,移动端使用 <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> <!--[if lte IE 7]> <body scroll="no"> <![endif]--> <!--[if gt IE 7]><!--> <body> <!--<![endif]--> <div id="pageContain"> <div class="page page1 current"> <div class="contain"> </div> </div> <div class="page page2"> <div class="contain"> </div> </div> <div class="page page3" data-step="4"> <div class="contain"> <p class="demo-data-step">data-step可以让你在不切屏的情况下更换动画</p> </div> </div> <div class="page page4"> <div class="contain"> </div> </div> <div class="page page5"> <div class="contain"> </div> </div> <div class="page page6"> <div class="contain"> </div> </div> </div> <ul id="navBar"> <li>0</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> </body>
Écrivez du CSS. Amis qui ne sont pas familiers avec CSS3, veuillez revenir en arrière et rattraper le CSS. Je ne l'analyserai pas ici en fonction du CSS. besoins du projet.
html { -ms-touch-action: none; /* 阻止windows Phone 的默认触摸事件 */ } body, div, p { margin: 0; padding: 0; } ul { list-style: none; } body { width: 100%; *cursor: default; overflow: hidden; font: 16px/1.5 "Microsoft YaHei",Helvetica,STHeiti STXihei,Microsoft JhengHei,Arial; } #pageContain { overflow: hidden; } .page { display: none; width: 100%; height: 100%; overflow: hidden; position: absolute; top: 0; left: 0; } .contain { width: 100%; height: 100%; display: none; position: relative; z-index: 0; } .current .contain,.slide .contain { display: block; } .current { display: block; z-index: 1; } .slide { display: block; z-index: 2; } .swipe { display: block; z-index: 3; transition-duration: 0ms !important; -webkit-transition-duration: 0ms !important; } .page1 { background: #37c1e3; } .page2 { background: #009922; } .page3 { background: #992211; } .page4 { background: #ff00ff; } .page5 { background: #00ff00; } .page6 { background: #22ffff; } #navBar { z-index: 3; position: absolute; top: 10%; right: 3%; } #navBar .active { background: #ccc; } #navBar li { cursor: pointer; margin-bottom: 10px; transition: all .7s ease; border-radius: 50%; line-height: 40px; text-align: center; width: 40px; height: 40px; } p { width: 200px; height: 100px; color:#fff; text-align: center; position: absolute; left: 50%; top: 50%; margin-left: -100px; margin-top: -50px; opacity: 1; transition: all .8s ease; transform-origin: 50% 50%; } .step1 p { transform: translate(0, -50px); -webkit-transform: translate(0, -50px); } .step2 p { opacity: 0; transform: scale(2); -webkit-transform: scale(2); } .step3 p { transform: scale(1); -webkit-transform: scale(1) opacity: 1; } .step4 p { -webkit-transform: rotate(360deg) translate(0,-200px) scale(.3); transform: rotate(360deg) translate(0,-200px) scale(.3); opacity: 0; }
Écrivez du JS pour obtenir l'effet
var runPage; runPage = new FullPage({ id : 'pageContain', // 容器id slideTime : 800, // 每页切换时间,单位为毫秒 continuous : false, // 是否循环(即能从最后页跳到第一页面) effect : { // 滚动效果 transform : { translate : 'Y', // 'X'|'Y'|'XY'|'none' X轴|Y轴|XY轴|无 scale : [.1, 1], // [scalefrom, scaleto] [起始缩放比例, 结束时缩放比例] rotate : [0, 0] // [rotatefrom, rotateto] [起始旋转角度, 结束时旋转角度] }, opacity : [0, 1] // [opacityfrom, opacityto][起始透明度, 结束时透明度] }, mode : 'wheel,touch,nav:navBar', // 转换模式 'wheel,touch,nav:navBar' 表示 '滚轮,触摸,导航条:导航条id' easing : 'ease' // easing('ease','ease-in','ease-in-out' 或使用贝塞尔曲线 [.33, 1.81, 1, 1]; // ,onSwipeStart : function(index, thisPage) { // 触摸开始时的回调函数 // return 'stop'; // } // ,beforeChange : function(index, thisPage) { // 滑动开始时的回调函数 // return 'stop'; // } // ,callback : function(index, thisPage) { // 滑动结束后的回调函数 // alert(index); // }; });
Paramètres détaillés
id String – identifiant du package externe
slideTime Integer (par défaut : 800) – temps de changement de page (millisecondes)
Objet d'effet (par défaut :{}) – Paramètres d'effet
mode String (par défaut :'') - Mode de conversion 'wheel,touch,nav:navBar' signifie 'wheel, touch, navbar:navbarid'
Fonction de rappel – fonction de rappel après les extrémités coulissantes
Interface
Fullpage fournit également quelques excuses aux développeurs utilisant ce plugin pour appeler :
prev() Passez directement à la page précédente
next() Glissez directement vers la page suivante
thisPage() Renvoie le numéro de page actuel
go(num) Glisser directement vers la page num
Ce qui précède concerne l'obtention d'un effet de défilement plein écran similaire à la boîte aux lettres NetEase. J'espère que vous pourrez créer un effet de défilement plein écran adapté à votre propre site Web.