この記事では、マウスを置いたときに以下の対応するコンテンツを変更する効果を実現する JavaScript の例について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
これは、インターネット上で比較的一般的なメニュー効果で、マウスを置くと、対応するコンテンツがグラフィックとテキストのレイアウトで切り替わります。技術的には、JS と CSS を組み合わせて実現します。コードの JS 部分を個別に抽出して JS ファイルとして保存し、それをページに導入することで、メイン ページのコードが簡素化されます。この効果は通常、IE、Firefox、その他のブラウザでテストされます。
操作効果は以下の通りです:
具体的なコードは次のとおりです:
<html> <head> <title>鼠标放上后下面的内容切换</title> <style type="text/css"> *{margin:0;padding:0;} a:link,a:visited{text-decoration:none;} a:hover{text-decoration:none;} ul{list-style:none;} .menuA{background:#333;float:left;padding-top:2px;width:100%;} .menuA li{float:left;} .menuA li a{display:block;float:left;color:#fff;height:25px;line-height:25px;padding:0 5px;margin-left:2px;} .menuA .check a {background:#fff;color:#000;} .menuB{clear:both;border:2px solid #000;border-top:none;background:#fff;} .menuB ul{display:none;padding:15px;line-height:180%;} </style> </head> <body> <div class="menuA"> <ul> <li class="check"><a href="#">国际时事</a></li> <li><a href="#">精美壁纸</a></li> <li><a href="#">大国关系</a></li> <li><a href="#">欧美风情</a></li> </ul> </div> <div class="menuB"> <ul style="display:block;" class="one"> <li><a href="#">国际时事</a></li> </ul> <ul class="one"> <li><a href="#">精美壁纸</a></li> </ul> <ul class="one"> <li><a href="#">大国关系</a></li> </ul> <ul class="one"> <li><a href="#">欧美风情</a></li> </ul> </div> <script> function $_class(name){ var elements = document.getElementsByTagName("*"); for(s=0;s<elements.length;s++){ if(elements[s].className==name){ return elements[s]; } } } var tabList = $_class("menuA").getElementsByTagName("li") tabCon = $_class("menuB").getElementsByTagName("ul"); for(i=0;i<tabList.length;i++){ (function(){ var t = i; tabList[t].onmouseover = function(){ for(o=0;o<tabCon.length;o++){ tabCon[o].style.display = "none"; tabList[o].className = ""; if(t==o){ this.className = "check"; tabCon[o].style.display = "block"; } } } })() } </script> </body> </html>
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。