この記事の例では、Apple の下部タスクバー メニューを模倣する効果を実装する JS コードについて説明します。皆さんの参考に共有してください。詳細は以下の通りです。
この Apple コンピュータの下部タスクバー メニューの模倣は、純粋な JavaScript で実装されたメニュー効果であり、マウスを置くと反応効果があり、メニュー アイコンが大きくなり、アニメーション効果が非常に滑らかになります。このエフェクトは以前にも投稿されましたが、現在は jQuery を使用して実装されています。
実行中のエフェクトのスクリーンショットは次のとおりです:
オンライン デモのアドレスは次のとおりです:
http://demo.jb51.net/js/2015/js-f-apple-buttom-nav-menu-style-codes/
具体的なコードは次のとおりです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>仿苹果电脑任务栏菜单</title> <style type="text/css"> body{margin:0;padding:0} #menu{position:absolute;width:100%;bottom:0;text-align:center;} </style> <script type="text/javascript"> window.onload = function () { var oMenu = document.getElementById("menu"); var aImg = oMenu.getElementsByTagName("img"); var aWidth = []; var i = 0; //保存原宽度, 并设置当前宽度 for (i = 0; i < aImg.length; i++) { aWidth.push(aImg[i].offsetWidth); aImg[i].width = parseInt(aImg[i].offsetWidth / 2); } //鼠标移动事件 document.onmousemove = function (event) { var event = event || window.event; for (i = 0; i < aImg.length; i++) { var a = event.clientX - aImg[i].offsetLeft - aImg[i].offsetWidth / 2; var b = event.clientY - aImg[i].offsetTop - oMenu.offsetTop - aImg[i].offsetHeight / 2; var iScale = 1 - Math.sqrt(a * a + b * b) / 300; if (iScale < 0.5) iScale = 0.5; aImg[i].width = aWidth[i] * iScale } }; }; </script> </head> <body> <div id="menu"> <img src="images/1.png" /> <img src="images/2.png" /> <img src="images/3.png" /> <img src="images/4.png" /> <img src="images/5.png" /> <img src="images/6.png" /> <img src="images/7.png" /> <img src="images/8.png" /> </div> </body> </html>
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。