흐익 자바스크립트 문의좀 할게용 흑
1번사진은 2번 롤오버시 두개가 나와야하는데 한개만 나오구요 ㅠㅠ
소스보기 했을때 실제로 B로 두개 나와있는데 한개만 보입니다. ㅠㅠ
소스
===========
<?
$sql ="select * from g4_group";
$query = sql_query($sql);
$rows = mysql_num_rows($query);
?>
<div id="menu">
<ul class="top">
<li class="home">HOME</li>
<?
for($i=0; $i < $rows; $i++){
$rs = mysql_fetch_array($query);
?>
<li onmouseover='subView("<?=$rs[gr_id]?>","block");'><?=$rs[gr_id]?></li>
<?}?>
</ul>
<div class="bottom">
<?
$sql = "select * from g4_board";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
for($i=0; $i < $rows; $i++){
$rs = mysql_fetch_array($query);
?>
<ul id='<?=$rs[gr_id]?>' style='display:none'>
<li><?=$rs[bo_table];?></li>
</ul>
<?
}
?>
</div>
</div>
<br>
<script language='javascript' type='text/javascript'>
//<![CDATA[
var poj = null;
function subView(pos,disp)
{
var obj = document.getElementById(pos);
if(poj) poj.style.display = 'none';
obj.style.display = disp;
poj = obj;
}
//]]>
</script>
소스보기 했을때 실제로 B로 두개 나와있는데 한개만 보입니다. ㅠㅠ
소스
===========
<?
$sql ="select * from g4_group";
$query = sql_query($sql);
$rows = mysql_num_rows($query);
?>
<div id="menu">
<ul class="top">
<li class="home">HOME</li>
<?
for($i=0; $i < $rows; $i++){
$rs = mysql_fetch_array($query);
?>
<li onmouseover='subView("<?=$rs[gr_id]?>","block");'><?=$rs[gr_id]?></li>
<?}?>
</ul>
<div class="bottom">
<?
$sql = "select * from g4_board";
$query = mysql_query($sql);
$rows = mysql_num_rows($query);
for($i=0; $i < $rows; $i++){
$rs = mysql_fetch_array($query);
?>
<ul id='<?=$rs[gr_id]?>' style='display:none'>
<li><?=$rs[bo_table];?></li>
</ul>
<?
}
?>
</div>
</div>
<br>
<script language='javascript' type='text/javascript'>
//<![CDATA[
var poj = null;
function subView(pos,disp)
{
var obj = document.getElementById(pos);
if(poj) poj.style.display = 'none';
obj.style.display = disp;
poj = obj;
}
//]]>
</script>
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 2개
아이디라는건 한페이지당 한개의 이름밖에 사용할 수 없는데 두개를 사용하시다 보니 저런 문제가 발생한것 같네요.
페이지 이동시 보여주는 스크립트 소스 분석을 해보자면
var poj = null; //변수 선언
function subView(pos,disp) // (아이디값,스타일속성값)
{
var obj = document.getElementById(pos); //마우스오버할 경우 해당 아이디값 선언
if(poj) poj.style.display = 'none'; // 만약 이전 아이디값이 있을 경우 보이지 않게 변경
obj.style.display = disp; //마우스 오버한 부분 스타일 속성값에 맞추어 변경 "block" 이건 보여줄때 사용함. 반대로 "none"은 숨길때 사용
poj = obj; //현재 아이디값을 poj라는 변수에 선언하여 이전 아이디값을 기록함.
}
이렇게 이전아이디값을 계속 체크해서 다른탭으로 넘어갈때 체크해서 숨기기때문에 한개밖에 볼일 수밖에 없구요.
만약 그때에만 다르게 변경하고자 하신다면 스크립트를 수정하셔야겠죠?
자스을 안배워먹어서 ㅠㅠ 힘든게 디기많네요 ㅠㅠ
ID값말고 클래스값으로 사용할수있는지등 알아봐야겟네용 ㅠ