묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
메뉴 하이퍼링크에 onclick으로 css속성바꾸는
2015.02.03 17:47
메뉴 하이퍼 링크에 onclick 을 줘서 클릭하면
메뉴 링크가 열리고 또한 메뉴의 css속성을 바꿀려고 합니다
그런데 하이퍼링크에 onclick을 주니 css속성이 먼저 바뀌었다가 그다음에 href 링크로 이동하니 메뉴의 원래 css로 다시 돌아오게 되네요;
그래서 클릭했을때만 아래처럼 잠시 펴졌다가 메뉴해당 페이지가 뜨면 사라집니다 ;ㅁ;
클릭하면 그 메뉴에 해당하는 서브메뉴가 펴진게 유지되는 걸로 만들려고 했는데요 ㅠ
<ul loop="$GNB->list=>$key1,$val1" cond="$val1['selected'] && $val1['list']"> <li loop="$val1['list']=>$key2,$val2" class="active"|cond="$val2['selected']"> <a onclick="if (document.all.sub_{$key2}.style.display=='none') {document.all.sub_{$key2}.style.display='block' } else {document.all.sub_{$key2}.style.display='none'}" href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a> <ul id="sub_{$key2}" style="display:none"> <li loop="$val2['list']=>$key3,$val3" class="active"|cond="$val3['selected']"> <a href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a> </li> </ul> </li> </ul>
어떻게 하면 새로고침 했을때도 변한 css를 유지할 수 있도록 할 수 있을까요 ㅠ
댓글 3
-
DoorWeb
2015.02.03 18:09
-
ssㅎㅅㅎss
2015.02.04 10:24
감사합니다! 해결했습니다-
onclick 부분을 지우고 3차메뉴 해당하는 ul에 따로 활성css를 주니 적용 되네요!
-
돼지코구뇽
2015.02.03 19:35
class="active <?php echo $val3['selected']?'active':''; ?>"|cond="$val3['selected']"
이렇게 하면 되려나. 셀렉트 되어있다면 active 클래스 출력
onclick은 js의 이벤트의 하나입니다.
그냥 클릭한다는건데요.
이건 클릭할때 js 처리용으로 사용하는 것이지 지금 하려고 하는것과는 상관없는겁니다.
아마 활성화된 메뉴의 색을 달리하고 싶어 하시는거 같은데 그건 위 구문을 보시면 클라스명 active 기준으로 해서 색을 주거나 하위메뉴를 펼치거나 하는 방식을 택하셔야 할겁니다.