ナビゲーター


[概要]
プルダウンリンク

[参照]

 SAMPLE

 SOURCE

<HTML>
<HEAD>
<TITLE>ナビゲーター</TITLE>
<!--バーのスタイル-->
<style type="text/css">
<!--
a.x:link, a.x:visited, a.x:active{color:#ffffff;text-decoration:none}
//-->
</style>
</HEAD>
<body>
<script language="javascript">
<!--
//変更可

MenuWidth=170;                     //メインメニューの1セルの幅
MenuFont='Arial,Verdana';         //メニュー文字の種類
MenuFontSize=2;                     //メニュー文字の大きさ
MenuFontColor='#ffffff';            //メニュー文字の色
MenuBgColor='#5b7693';         //メニューの背景色
HighLight='#b4c3d4';             //選択された時の背景色
Separater=2;                         //セル同士の間隔
Centre=true;                         //メニュー文字の位置(true:中央、false:左寄せ)


//変更不可

n4=(document.layers);
n6=(document.getElementById&&!document.all);
ie=(document.all);
h=(ie)?document.body.clientHeight:window.innerHeight;
w=(ie)?document.body.clientWidth:window.innerWidth;
Titles=new Array()
Links=new Array()

algn1=(Centre)?'<center>':'';
algn2=(Centre)?'</center>':'';

function colour2(c){(n4)?c.bgColor=HighLight:c.style.background=HighLight}//
function colour1(c){(n4)?c.bgColor=MenuBgColor:c.style.background=MenuBgColor}//

var OpenLayer=(n4)?"<br><layer height=100% width=100% onMouseOver='colour1(this)'; onMouseOut='colour2(this)'>"+algn1:"<div style='height:auto;width:100%' onMouseOver='colour1(this)'; onMouseOut='colour2(this)'><font face="+MenuFont+" size="+MenuFontSize+" color="+MenuFontColor+">";
var CloseLayer=(n4)?algn2+"</layer>":"</font></div>";

var vs=(n4)?"<font face='Wingdings' color="+MenuBgColor+">n</font>":OpenLayer+"&nbsp;"+CloseLayer+"<font color="+MenuBgColor+">"+String.fromCharCode(9660)+"</font>";


/************************リンク設定************************/

//親メニュー
Titles[0]='メニュー1';
Titles[1]='メニュー2';
Titles[2]='メニュー3';
Titles[3]='メニュー4';

//子メニュー
Links[0]=vs
+OpenLayer+"<a href='URL1' class='x'>リンク1</a>"+CloseLayer
+OpenLayer+"<a href='URL2' class='x'>リンク2</a>"+CloseLayer
+OpenLayer+"<a href='URL3' class='x'>リンク3</a>"+CloseLayer

Links[1]=vs
+OpenLayer+"<a href='URL1' class='x'>リンク1</a>"+CloseLayer
+OpenLayer+"<a href='URL2' class='x'>リンク2</a>"+CloseLayer
+OpenLayer+"<a href='URL3' class='x'>リンク3</a>"+CloseLayer

Links[2]=vs
+OpenLayer+"<a href='URL1' class='x'>リンク1</a>"+CloseLayer
+OpenLayer+"<a href='URL2' class='x'>リンク2</a>"+CloseLayer
+OpenLayer+"<a href='URL3' class='x'>リンク3</a>"+CloseLayer

Links[3]=vs
+OpenLayer+"<a href='URL1' class='x'>リンク1</a>"+CloseLayer
+OpenLayer+"<a href='URL2' class='x'>リンク2</a>"+CloseLayer
+OpenLayer+"<a href='URL3' class='x'>リンク3</a>"+CloseLayer

/*******************リンク設定終わり**********************/

//変更箇所ここまで

w1=(MenuWidth+Separater)*Titles.length;
w2=w/2;
i1=w2-MenuWidth-Separater-w1/2;
i2=w2-MenuWidth-Separater-w1/2;
s1=MenuWidth+Separater;
s2=MenuWidth+Separater;
if (w1 > w2*2){i1=-MenuWidth;i2=-MenuWidth}
vy=(n4)?'show':'visible';
vn=(n4)?'hide':'hidden';

//Don't mess about with N4, just use layers.
if (n4){
for (i=0; i < Titles.length; i++){
document.write("<layer name='lnks"+i+"' top=0 left="+(i2+=s2)+" "
+" width="+MenuWidth+" bgcolor="+HighLight+" visibility=hide"
+" onMouseOver='this.visibility=vy; var cd=this.id.length-1; var ab=this.id.charAt(cd); H(ab)' "
+" onMouseOut='this.visibility=vn; var ef=this.id.length-1; var gh=this.id.charAt(ef); B(gh)'>"
+algn1+"<font face="+MenuFont+" size="+MenuFontSize+">"
+"&nbsp;<br>"+Links[i]+"</font>"+algn2+"</layer>");
document.write("<layer name='ttls"+i+"' top=0 left="+(i1+=s1)+" height=0 " 
+"width="+MenuWidth+" bgcolor="+MenuBgColor+" "
+"onMouseOver=\"this.bgColor=HighLight; var e=this.id.length-1; var d=this.id.charAt(e); On(d)\" "
+"onMouseOut=\"this.bgColor=MenuBgColor; var e=this.id.length-1; var d=this.id.charAt(e); Off(d)\">"
+algn1+"<font face="+MenuFont+" size="+MenuFontSize+" color="+MenuFontColor+">"
+Titles[i]+"</font>"+algn2+"</layer>"); 
}
function On(x){for (i=0; i < Titles.length; i++)document.layers['lnks'+x].visibility=vy}
function Off(x){for (i=0; i < Titles.length; i++)document.layers['lnks'+x].visibility=vn}
function B(y){for (i=0; i < Titles.length; i++)document.layers['ttls'+y].bgColor=MenuBgColor}
function H(y){for (i=0; i < Titles.length; i++)document.layers['ttls'+y].bgColor=HighLight}
}
if (!n4){
for (i=0; i < Titles.length; i++){
document.write("<div id='lnks"+i+"' style='position:absolute;"
+"top:0px;left:"+(i2+=s2)+"px;width:"+MenuWidth+"px;"
+"background:"+HighLight+";visibility:hidden'" 
+" onMouseOver='this.style.visibility=vy; document.getElementById(\"ttls"+i+"\").style.background=HighLight';"
+" onMouseOut='this.style.visibility=vn; document.getElementById(\"ttls"+i+"\").style.background=MenuBgColor'>"
+algn1+Links[i]+algn2+"</div>");
document.write("<div id='ttls"+i+"' style='position:absolute;top:0px;left:"+(i1+=s1)+"px;height:auto;width:"+MenuWidth+"px;"
+"background:"+MenuBgColor+";cursor:default'"
+" onMouseOver='document.getElementById(\"lnks"+i+"\").style.visibility=vy;this.style.background=HighLight'" 
+" onMouseOut='document.getElementById(\"lnks"+i+"\").style.visibility=vn;this.style.background=MenuBgColor'>"
+algn1+"<font face="+MenuFont+" size="+MenuFontSize+" color="+MenuFontColor+">"+Titles[i]+"</font>"+algn2+"</div>");
}
}
function Scroll(){
sy=(ie)?document.body.scrollTop:window.pageYOffset;
for (i=0; i < Titles.length; i++){
if (n4){
document.layers['ttls'+i].top=Separater+sy;
document.layers['lnks'+i].top=Separater+sy;
}
else{
document.getElementById("ttls"+i).style.top=Separater+sy;
document.getElementById("lnks"+i).style.top=Separater+sy;
}
}
setTimeout('Scroll()',150)
}
Scroll();
window.onresize=new Function("window.location.reload()");


if (!n4){
for (i=0; i < document.links.length; i++){
if (document.links[i].href == this.window.location.href)
{
document.links[i].style.color=MenuBgColor;
document.links[i].style.cursor='crosshair';
//document.links[i].innerHTML+=' -';
//alert(i+' '+document.links[i].href);
break;
}
}
}
//-->
</script>
</BODY>
</HTML>

※赤は変更点
※緑の部分はコメント部分。一緒に貼り付けても大丈夫。


 戻る