자바 풀다운 서브메뉴 (페이지 넘길때 펼쳐저 있음) 정보
자바 풀다운 서브메뉴 (페이지 넘길때 펼쳐저 있음)
본문
제가 원하는건 1번 그림입니다.
접속하면 메뉴가 펼쳐저서 나옵니다.
2번처럼 자꾸 하위 메뉴가 펼쳐저서 나오는데
이걸 1번처럼 보이게 할 순 없나요?
클릭을 해야 하위 메뉴가 보이게 하고 싶습니다.
------------------------ 스크립 소스 -----------------------
<style type="text/css">
#dhtmlgoodies_slidedown_menu li{
list-style-type:none;
position:relative;
}
#dhtmlgoodies_slidedown_menu ul{
margin:0px;
padding:0px;
position:relative;
}
#dhtmlgoodies_slidedown_menu div{
margin:0px;
padding:0px;
}
/* Layout CSS */
#dhtmlgoodies_slidedown_menu{
width:150px;
visibility:hidden;
}
/* All A tags - i.e menu items. */
#dhtmlgoodies_slidedown_menu a{
color: #7F7F7F;
text-decoration:none;
display:block;
clear:both;
width:176px;
padding-left:2px;
font:normal 11px tahoma;
}
/*
A tags
*/
#dhtmlgoodies_slidedown_menu .slMenuItem_depth1{ /* Main menu items */
margin-top:1px;
border-bottom:1px solid #7F7F7F;
font:bold 11px tahoma;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth2{ /* Sub menu items */
margin-top:1px;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth3{ /* Sub menu items */
margin-top:1px;
font-style:none;
color:blue;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth4{ /* Sub menu items */
margin-top:1px;
color:red;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth5{ /* Sub menu items */
margin-top:1px;
}
/* UL tags, i.e group of menu utems.
It's important to add style to the UL if you're specifying margins. If not, assign the style directly
to the parent DIV, i.e.
#dhtmlgoodies_slidedown_menu .slideMenuDiv1
instead of
#dhtmlgoodies_slidedown_menu .slideMenuDiv1 ul
*/
/*
#dhtmlgoodies_slidedown_menu .slideMenuDiv1 ul{
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slideMenuDiv2 ul{
margin-left:5px;
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slideMenuDiv3 ul{
margin-left:10px;
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth4 ul{
margin-left:15px;
padding:1px;
}
*/
</style>
<script type="text/javascript" src="menu_sub.js"></script>
</head>
<body>
<div id="dhtmlgoodies_slidedown_menu">
<ul>
<li><a href="#" onfocus="blur()">나의 메뉴</a>
<ul>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">2</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
</ul>
</div>
<!-- END OF MENU -->
<script type="text/javascript">
initSlideDownMenu();
</script>
</div>
접속하면 메뉴가 펼쳐저서 나옵니다.
2번처럼 자꾸 하위 메뉴가 펼쳐저서 나오는데
이걸 1번처럼 보이게 할 순 없나요?
클릭을 해야 하위 메뉴가 보이게 하고 싶습니다.
------------------------ 스크립 소스 -----------------------
<style type="text/css">
#dhtmlgoodies_slidedown_menu li{
list-style-type:none;
position:relative;
}
#dhtmlgoodies_slidedown_menu ul{
margin:0px;
padding:0px;
position:relative;
}
#dhtmlgoodies_slidedown_menu div{
margin:0px;
padding:0px;
}
/* Layout CSS */
#dhtmlgoodies_slidedown_menu{
width:150px;
visibility:hidden;
}
/* All A tags - i.e menu items. */
#dhtmlgoodies_slidedown_menu a{
color: #7F7F7F;
text-decoration:none;
display:block;
clear:both;
width:176px;
padding-left:2px;
font:normal 11px tahoma;
}
/*
A tags
*/
#dhtmlgoodies_slidedown_menu .slMenuItem_depth1{ /* Main menu items */
margin-top:1px;
border-bottom:1px solid #7F7F7F;
font:bold 11px tahoma;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth2{ /* Sub menu items */
margin-top:1px;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth3{ /* Sub menu items */
margin-top:1px;
font-style:none;
color:blue;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth4{ /* Sub menu items */
margin-top:1px;
color:red;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth5{ /* Sub menu items */
margin-top:1px;
}
/* UL tags, i.e group of menu utems.
It's important to add style to the UL if you're specifying margins. If not, assign the style directly
to the parent DIV, i.e.
#dhtmlgoodies_slidedown_menu .slideMenuDiv1
instead of
#dhtmlgoodies_slidedown_menu .slideMenuDiv1 ul
*/
/*
#dhtmlgoodies_slidedown_menu .slideMenuDiv1 ul{
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slideMenuDiv2 ul{
margin-left:5px;
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slideMenuDiv3 ul{
margin-left:10px;
padding:1px;
}
#dhtmlgoodies_slidedown_menu .slMenuItem_depth4 ul{
margin-left:15px;
padding:1px;
}
*/
</style>
<script type="text/javascript" src="menu_sub.js"></script>
</head>
<body>
<div id="dhtmlgoodies_slidedown_menu">
<ul>
<li><a href="#" onfocus="blur()">나의 메뉴</a>
<ul>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
<li><a href="#/">나의 메뉴1</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">2</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
<li><a href="#">Locations</a>
<ul>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
<li><a href="#/">#</a></li>
</ul>
</li>
</ul>
</div>
<!-- END OF MENU -->
<script type="text/javascript">
initSlideDownMenu();
</script>
</div>
댓글 전체

/* All A tags - i.e menu items. */
#dhtmlgoodies_slidedown_menu a{
color: #7F7F7F;
text-decoration:none;
display:none; <---------------- 수정
clear:both;
width:176px;
padding-left:2px;
font:normal 11px tahoma;
}
이렇게 하면 될 것 같은데요...
#dhtmlgoodies_slidedown_menu a{
color: #7F7F7F;
text-decoration:none;
display:none; <---------------- 수정
clear:both;
width:176px;
padding-left:2px;
font:normal 11px tahoma;
}
이렇게 하면 될 것 같은데요...

display:none; 으로 바꾸니 메뉴가 전부 사라져 버리네요;;;

<html>
<head>
<title>http://www.mygony.com</title>
<script language="javascript">
/**
* by 행복한고니 (20041008)
*
* Homepage : http://www.mygony.com
*/
<!--
function slide(Id, interval, to) {
var obj = document.getElementById(Id);
var H, step = 5;
if (obj == null) return;
if (to == undefined) { // user clicking
if (obj._slideStart == true) return;
if (obj._expand == true) {
to = 0;
obj.style.overflow = "hidden";
} else {
slide.addId(Id);
for(var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id != Id && slide.objects[i]._expand == true) {
slide(slide.objects[i].id);
}
}
obj.style.height = "";
obj.style.overflow = "";
obj.style.display = "block";
to = obj.offsetHeight; // 이거이거
obj.style.overflow = "hidden";
obj.style.height = "1px";
}
obj._slideStart = true;
}
step = ((to > 0) ? 1:-1) * step;
interval = ((interval==undefined)?1:interval);
obj.style.height = (H=((H=(isNaN(H=parseInt(obj.style.height))?0:H))+step<0)?0:H+step)+"px";
if (H <= 0) {
obj.style.display = "none";
obj.style.overflow = "hidden";
obj._expand = false;
obj._slideStart = false;
} else if (to > 0 && H >= to) {
obj.style.display = "block";
obj.style.overflow = "visible";
obj.style.height = H + "px";
obj._expand = true;
obj._slideStart = false;
} else {
setTimeout("slide('"+Id+"' , "+interval+", "+to+");", interval);
}
}
slide.objects = new Array();
slide.addId = function(Id)
{
for (var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id == Id) return true;
}
slide.objects[slide.objects.length] = document.getElementById(Id);
}
//-->
</script>
<style>
.menu {
border:1px solid #999999;
background-color:#FFCC00;
padding:3px 1px 1px 5px;
cursor:hand;
width:150px;
}
.submenu {
width:150px;
padding-left:10px;
display:none;
}
</style>
</head>
<body>
<div class="menu" onClick="slide('sub1');">메뉴항목 1</div>
<div id="sub1" class="submenu">
<div>- Sub menu 1-1</div>
<div>- Sub menu 1-2</div>
<div>- Sub menu 1-3</div>
<div>- Sub menu 1-4</div>
<div>- Sub menu 1-5</div>
</div>
<div class="menu" onClick="slide('sub2');">메뉴항목 2</div>
<div id="sub2" class="submenu">
<div>- Sub menu 2-1</div>
<div>- Sub menu 2-2</div>
<div>- Sub menu 2-3</div>
<div>- Sub menu 2-4</div>
<div>- Sub menu 2-5</div>
<div>- Sub menu 2-6</div>
<div>- Sub menu 2-7</div>
<div>- Sub menu 2-8</div>
</div>
<div class="menu" onClick="slide('sub3');">메뉴항목 3</div>
<div id="sub3" class="submenu">
<div>- Sub menu 3-1</div>
<div>- Sub menu 3-2</div>
<div>- Sub menu 3-3</div>
</div>
<div class="menu" onClick="slide('sub4');">메뉴항목 4</div>
<div id="sub4" class="submenu">
<div>- Sub menu 4-1</div>
<div>- Sub menu 4-2</div>
<div>- Sub menu 4-3</div>
</div>
<div class="menu" onClick="slide('sub5');">메뉴항목 5</div>
<div id="sub5" class="submenu">
<div>- Sub menu 5-1</div>
<div>- Sub menu 5-2</div>
<div>- Sub menu 5-3</div>
<div>- Sub menu 5-4</div>
</div>
</body>
</html>
죄송합니다..대충 찍었는데...틀렸네요...^^;;;;
위의 소스를 한번 써보세요...
<head>
<title>http://www.mygony.com</title>
<script language="javascript">
/**
* by 행복한고니 (20041008)
*
* Homepage : http://www.mygony.com
*/
<!--
function slide(Id, interval, to) {
var obj = document.getElementById(Id);
var H, step = 5;
if (obj == null) return;
if (to == undefined) { // user clicking
if (obj._slideStart == true) return;
if (obj._expand == true) {
to = 0;
obj.style.overflow = "hidden";
} else {
slide.addId(Id);
for(var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id != Id && slide.objects[i]._expand == true) {
slide(slide.objects[i].id);
}
}
obj.style.height = "";
obj.style.overflow = "";
obj.style.display = "block";
to = obj.offsetHeight; // 이거이거
obj.style.overflow = "hidden";
obj.style.height = "1px";
}
obj._slideStart = true;
}
step = ((to > 0) ? 1:-1) * step;
interval = ((interval==undefined)?1:interval);
obj.style.height = (H=((H=(isNaN(H=parseInt(obj.style.height))?0:H))+step<0)?0:H+step)+"px";
if (H <= 0) {
obj.style.display = "none";
obj.style.overflow = "hidden";
obj._expand = false;
obj._slideStart = false;
} else if (to > 0 && H >= to) {
obj.style.display = "block";
obj.style.overflow = "visible";
obj.style.height = H + "px";
obj._expand = true;
obj._slideStart = false;
} else {
setTimeout("slide('"+Id+"' , "+interval+", "+to+");", interval);
}
}
slide.objects = new Array();
slide.addId = function(Id)
{
for (var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id == Id) return true;
}
slide.objects[slide.objects.length] = document.getElementById(Id);
}
//-->
</script>
<style>
.menu {
border:1px solid #999999;
background-color:#FFCC00;
padding:3px 1px 1px 5px;
cursor:hand;
width:150px;
}
.submenu {
width:150px;
padding-left:10px;
display:none;
}
</style>
</head>
<body>
<div class="menu" onClick="slide('sub1');">메뉴항목 1</div>
<div id="sub1" class="submenu">
<div>- Sub menu 1-1</div>
<div>- Sub menu 1-2</div>
<div>- Sub menu 1-3</div>
<div>- Sub menu 1-4</div>
<div>- Sub menu 1-5</div>
</div>
<div class="menu" onClick="slide('sub2');">메뉴항목 2</div>
<div id="sub2" class="submenu">
<div>- Sub menu 2-1</div>
<div>- Sub menu 2-2</div>
<div>- Sub menu 2-3</div>
<div>- Sub menu 2-4</div>
<div>- Sub menu 2-5</div>
<div>- Sub menu 2-6</div>
<div>- Sub menu 2-7</div>
<div>- Sub menu 2-8</div>
</div>
<div class="menu" onClick="slide('sub3');">메뉴항목 3</div>
<div id="sub3" class="submenu">
<div>- Sub menu 3-1</div>
<div>- Sub menu 3-2</div>
<div>- Sub menu 3-3</div>
</div>
<div class="menu" onClick="slide('sub4');">메뉴항목 4</div>
<div id="sub4" class="submenu">
<div>- Sub menu 4-1</div>
<div>- Sub menu 4-2</div>
<div>- Sub menu 4-3</div>
</div>
<div class="menu" onClick="slide('sub5');">메뉴항목 5</div>
<div id="sub5" class="submenu">
<div>- Sub menu 5-1</div>
<div>- Sub menu 5-2</div>
<div>- Sub menu 5-3</div>
<div>- Sub menu 5-4</div>
</div>
</body>
</html>
죄송합니다..대충 찍었는데...틀렸네요...^^;;;;
위의 소스를 한번 써보세요...

사하님 감사합니다. 아예 사하님이 알려주신 소스로 사용하기로 했습니다. (__)