ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryを使用してフロアスクロール効果を実現する方法
この記事では主にフロアスクロール効果を実現するためのjqueryを詳しく紹介します。興味のある方は参考にしてください。
フロアスクロール効果を実現するためのjqueryの具体的なコードを共有します。ご参考までに、具体的な内容は以下の通りです
html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/base.css" rel="external nofollow" > <style> #header,#f1,#f2,#f3{ width: 80%; height: 500px; background: yellow; margin-left: 10%; margin-top: 50px; } #f1{ background: green; } #f2{ background: red; } #f3{ background: blue; } #lift{ position: fixed; top: 280px; display: none; } .lift_btn{ display: inline-block; width: 50px; height: 50px; border: 1px solid #000; } .hover{ background: red; } </style> </head> <body> <p id="header"></p> <p class="floor" id="f1"> <p>第一层</p> </p> <p class="floor" id="f2"> <p>第二层</p> </p> <p class="floor" id="f3"> <p>第三层</p> </p> <p id="lift"> <ul> <li class="lift_item"> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> <span>1</span> </a> </li> <li class="lift_item"> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> <span>2</span> </a> </li> <li class="lift_item"> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="lift_btn"> <span>3</span> </a> </li> </ul> </p> <script src="js/jquery.min.js"></script> <script src="js/floor.js"></script> </body> </html>
js:
(()=>{ var $lift=$("#lift"); $(window).scroll(()=>{ var scrollTop=$('html,body').scrollTop(); var $f1=$("#f1"); var offsetTop=$f1.offset().top; if(offsetTop<scrollTop+innerHeight/2) $lift.fadeIn(500); else $lift.fadeOut(500); var $floors=$(".floor"); $floors.each((i,elem)=>{ var $f=$(elem); if($f.offset().top<scrollTop+innerHeight/2) $lift.find(".lift_item:eq("+i+")").addClass("hover").siblings().removeClass("hover"); }); }); $lift.children("ul").on("click","li",function(){ var $li=$(this); var i=$li.index(); var $fi=$(".floor:eq("+i+")"); var offsetTop=$fi.offset().top; $("html").animate({ scrollTop:offsetTop-60 },500) }) })();
以上、皆様の参考になれば幸いです。
関連記事:
tangram.jsライブラリを使用してjsクラスを実装する方法
JSで非ファーストスクリーン画像の遅延読み込みを実装する方法
以上がjqueryを使用してフロアスクロール効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。