★☆★이걸 클래스 형태로 자바스크립트 변경 할수있나요?★☆★ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

★☆★이걸 클래스 형태로 자바스크립트 변경 할수있나요?★☆★ 정보

★☆★이걸 클래스 형태로 자바스크립트 변경 할수있나요?★☆★

본문

이게 자동메뉴을 만드는데요..
자바스크립트을 못배워먹어서...
ID값으로 지정하니깐 중복되서 한개가 안나옵니다.
실제 소스보기했을땐 그룹2에 딱가있는데
var obj = document.getElementById(pos);
이거 때문인거같습니다. ㅠㅠ
자바스큷트 10줄도 안되는데 ㅠㅠ 한번봐주실수어디 없으신가용
중복이 되도 호출됬으면 합니다. ㅠㅠ
그룹 1 롤오버 01_1출력
그룹 2 롤오버 02_1 02_2 출력 되야하는데
그룹2에선 02_1 02_2 애내 둘이가 ID값이 중복되서 나오지않네요 ㅠ

<?
$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>

<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>
  • 복사

댓글 전체

jquery로 하면 쉽게 해결되는데....
li태그에 class이름 걸로

$(function() {

$(".class").click(function() {

});
});

이렇게 하면 그 클래스 이름을 가진 모든 태그들의 클릭 이벤트를 걸어줍니다.
자...지겨운 바닐라 자바스크립트는 때려치우고 jQuery로 신선한 삶을 선택해보아요.
팡야님 열공이시네염. 홧팅이십니다.

전 위의 예제가 아닌 다른 예제로 설명을 드릴께염.
예를 들어 배열의 값을 for문이나 while문 즉 무한루프로 상태일 때 매개변수 이름 분사방식이 있습니다. 즉 같은 이름은 들어올 수 없음으로 다르게 이름을 만들는 것이죠.
아무래도 자동으로 만들어야 겠죠.

for ($i=0; $i<10; $i++){

f(x<?=$i?>, y<?=$i?>);

}

위와 같이 매개변수의 이름을 바꾸어주면 될 것 같습니다.
물론 엘리먼트 이름 또한... 바꾸어줘야겠죠.

FOR문 안에 있는 엘리먼트

li class="클래스이름<?=$i?>

참고로 이런 방식은 hash코드를 많이 사용합니다만.. 간단한 메뉴정도는 $i값으로 처리 가능하실겁니다
도움이 되었으면 좋겠네염. ^^ 그럼 열공하세요.
© SIRSOFT
현재 페이지 제일 처음으로