ドロップダウンメニューその2

これは、ドロップダウンメニューその1と同じやり方で画像を使ってみた。マウスを乗せたときの変化はないので、CSSはシンプルになっている。

  • ホーム
  • 概要
  • ICT
  • 山初
  • お問い合わせ

HTML

<ul id="dropmenubar">
  <li><a href="#" class="menu"><img src="image/home01.png" width="110" height="30" alt="ホーム" /></a></li>
  <li><a href="#" class="menu" id="menu1" onmouseover="menuopen(1);" onmouseout="menuclosetime();"><img src="image/about01.png" width="110" height="30" alt="概要" /></a>
    <div class="submenu" id="submenu1"
      onmouseover="cancelclose()"
      onmouseout="menuclosetime();">
    <a href="#"><img src="image/about01.png" width="110" height="30" alt="概要" /></a>
	<a href="#"><img src="image/about01.png" width="110" height="30" alt="概要" /></a>
	<a href="#"><img src="image/about01.png" width="110" height="30" alt="概要" /></a>
    <a href="#"><img src="image/about01.png" width="110" height="30" alt="概要" /></a>
    </div>
  </li>
  <li><a href="../ict.html" class="menu" id="menu2" onmouseover="menuopen(2);" onmouseout="menuclosetime();"><img src="image/ict01.png" width="110" height="30" alt="ICT" /></a>
    <div class="submenu" id="submenu2"
      onmouseover="cancelclose()"
      onmouseout="menuclosetime();">
	<a href="#"><img src="image/ict01.png" width="110" height="30" alt="ICT" /></a>
	<a href="#"><img src="image/ict01.png" width="110" height="30" alt="ICT" /></a>
	<a href="#"><img src="image/ict01.png" width="110" height="30" alt="ICT" /></a>
	<a href="#"><img src="image/ict01.png" width="110" height="30" alt="ICT" /></a>
    </div>
  </li>
  <li><a href="#" class="menu" id="menu3" onmouseover="menuopen(3);" onmouseout="menuclosetime();"><img src="image/yamahatsu01.png" width="110" height="30" alt="山初" /></a>
    <div class="submenu" id="submenu3"
      onmouseover="cancelclose()"
      onmouseout="menuclosetime();">
	<a href="#"><img src="image/yamahatsu01.png" width="110" height="30" alt="山初" /></a>
	<a href="#"><img src="image/yamahatsu01.png" width="110" height="30" alt="山初" /></a>
    </div>
  </li>
  <li><a href="#" class="menu"><img src="image/contact01.png" width="110" height="30" alt="お問い合わせ" /></a></li>
</ul>

CSS

#dropmenubar {
	margin:0;
	padding:0;
}

#dropmenubar li {
	float:left;
	margin:0;
	padding:0;
	list-style:none;
}

#dropmenubar li a.menu {
	margin:0;
	padding:0;
	display:block;
}

.submenu {
	visibility:hidden;
	position:absolute;
	z-index:3;
}

.submenu a {
	margin:0;
	padding:0;
	display: block;
}

JS

/* dropdown */

var TimeOut         = 100;
var currentLayer    = null;
var currentitem     = null;
var currentLayerNum = 0;
var noClose         = 0;
var closeTimer      = null;

function menuopen(n) {
	var sub  = document.getElementById("submenu" + n);
	var main = document.getElementById("menu" + n);

	if(sub) {
		cancelclose();
		sub.style.visibility='visible';
		if(currentLayer && (currentLayerNum != n))
		currentLayer.style.visibility='hidden';
		currentLayer = sub;
		currentitem = main;
		currentLayerNum = n;
	} else if(currentLayer) {
		currentLayer.style.visibility='hidden';
		currentLayerNum = 0;
		currentitem = null;
		currentLayer = null;
		}
}

function menuclosetime() {
	closeTimer = window.setTimeout(menuclose, TimeOut);
}

function cancelclose() {
	if(closeTimer) {
		window.clearTimeout(closeTimer);
		closeTimer = null;
	}
}

function menuclose() {
	if(currentLayer && noClose!=1)   {
		currentLayer.style.visibility='hidden';
		currentLayerNum = 0;
		currentLayer = null;
		currentitem = null;
		} else {
	noClose = 0;
	}
		currentLayer = null;
		currentitem = null;
}
document.onclick = menuclose; 

↑ページトップへ