Home > Javascript > [js]ロールオーバー+見てるページのメニュー画像変更

[js]ロールオーバー+見てるページのメニュー画像変更

メニュー画像をロールオーバーさせつつカレントページはon状態にするスクリプト。

見てるページのメニュースタイルを変更する
ロールオーバースクリプト(画像名のOn/Offで判別)を足したソースです。
プリロードはついてません。

JavaScript:
  1. window.onload = function() {
  2. if(document.getElementById("menu")){
  3.     var myMenu = document.getElementById("menu").getElementsByTagName("a");
  4.     var Over  = "_on";
  5.     var Off = "_off";
  6.     var HrefList = new Array();
  7.     var myHref = document.location.href;
  8.     var myUrl = FilePass(myHref);
  9.    
  10.     for (var i = 0; i <myMenu.length; i++) {
  11.         var HrefValue = myMenu[i].getAttributeNode("href").value;
  12.         var myHref = FilePass(HrefValue);
  13.         if(myHref == myUrl){
  14.             myMenu[i].firstChild.src = myMenu[i].firstChild.src.replace(Off,Over);
  15.             myMenu[i].onmouseover =function() {
  16.                 return false;
  17.             }
  18.         }else{
  19.             myMenu[i].onmouseover =function() {
  20.                 this.firstChild.src = this.firstChild.src.replace(Off,Over);
  21.             }
  22.             myMenu[i].onmouseout =function() {
  23.                 this.firstChild.src = this.firstChild.src.replace(Over,Off);
  24.             }
  25.         }
  26.     }
  27. }
  28. }
  29. function FilePass(str){
  30.         var FilePass = str.substring(str.lastIndexOf("/")+1,str.length);
  31.         return FilePass;
  32. }
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Comments:3

Luna 10-02-16 (火) 5:35

ロールオーバーしたい箇所をidではなくclassで判別するにはどうすればいいでしょうか?
単純にgetElementByIdをgetElementsByClassNameに置き換えてみたのですが、それだけでは動作しませんでした…。
お忙しいとは思いますが、お時間ある時にご教示お願い致します。

Tenderfeel 10-02-16 (火) 14:03

Luna さん>

未検証ですが、ループ増やせばいけるんじゃないかと思います。


if(document.getElementsByClassName("menu")){

var menuWrap = document.getElementsByClassName("menu");

for(i=0; i < menuWrap.length; i++){
    var myMenu = menuWrap[i].getElementsByTagName("a");
    //以下同じ
}

}
Luna 10-02-16 (火) 17:47

その通りにやってみたところ動作してくれました。
どうもありがとうございます。

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://tenderfeel.xsrv.jp/javascript/193/trackback/
Listed below are links to weblogs that reference
[js]ロールオーバー+見てるページのメニュー画像変更 from WebTecNote
pingback from 見ているページのメニューの色を変える « パソコン めも 09-03-27 (金) 15:52

[...] こちらのサイトを、参考にさせてもらいました。 WebTecNote [...]

Home > Javascript > [js]ロールオーバー+見てるページのメニュー画像変更

最近の投稿
最近の修正
  • そしてこのSQLはわれながらよく書いたと思う 2010-11-15
  • CSVの列っていう方がいいのかな…118項目だった 2010-11-15
  • 楽天のCSVの項目が116個もあった衝撃 2010-11-15
  • オフィスで香水臭振りまくのは迷惑だと知れ 2010-11-15
  • ぐあー フレグランステロやー 2010-11-15
  • More updates...

Powered by Twitter Tools

Tag Cloud
おすすめサーバー・他
メタ情報

Return to page top