Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

[jQuery] 순차적으로 내려오는 라인 서브메뉴

2012-06-11 by 편리

정확하게 제목을 쓴 것인지 모르겠는데.. 아래 그림을 보면 이해가 쉽지 않을까 싶다.

간단하게 테스트해보려고 만든 것인데 1번 메뉴가 보인 후 2번.. 이런 식으로 5번까지 메뉴가 순차적으로 위에서

아래로 내려오면서 보이게 되는 것을 구현하고 싶었다. 구글링을 통해서 간단한 소스를 찾기도 했는데 IE8에서

이상하게 작동을 해서 이 부분을 수정할 수 없을까 고민하다가 내 식대로 그냥 하나 코드를 짜게 되었다.

<!DOCTYPE html>
<html>
<head>
<style>
body { background-color: #fff; font-size: 12px; }
ul { float: left; margin: 0; padding: 0; list-style: none; }
li { float: left; width: 100px; height: 20px; background-color: #f1f1f1; text-align: center; line-height: 20px; color: #333; font-weight: bold; margin-right: 5px; margin-top: -20px; }
li.last { width: 1px; }
div { float: left; width: 700px; height: 20px; overflow-y: hidden; }
</style>
<script src=”./js/jquery-1.7.2.min.js”></script>
</head>
<body>
<div>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li class=”last”>6</li>
    </ul>
</div>

<script>
var i = 0;
var max = 0;
$(function() {
    max = $(‘li’).size() – 1;
    animate_menu(0);   
});

function animate_menu(idx)
{
    $(‘li’).eq(idx).animate(
        { “margin-top”: 0 }, 200,
        function() {
            idx++;
            if(idx < max) {
                animate_menu(idx);
            }
        }
    );
}
</script>

</body>
</html>

이 코드를 실행했을 때 IE8에서는 마지막 5번이 나온 후 1번부터 4번이 한번 더 아래로 내려가서 아예 보이지 않는

문제가 생겼는데 그것을 해결하기 위해서 마지막 6이라는 메뉴를 넣고 그건 애니메이션이 적용되지 않도록 코드를

만들어서 문제를 해결했다. 의미도 없는 6번 li를 넣는 것이 마음에 들지 않았지만 지금으로써는 이 방법 밖에 없어서

조금 더 연구해보면 다른 방법이 있지 않을까도 싶은데.. position을 이용한 방법도 테스트를 했는데 IE6과 IE7에서

원하는 결과가 나오지 않아서 결국은 이 방법을 쓰자고 정했다. 이런 거 자꾸 만들면 나만 피곤해지는데.. ㅋㅋ

Post navigation

Previous Post:

천지양 홍삼정

Next Post:

아침에 출근하면 일단 홍삼 농축액부터..

2 Commments

  1. zeebra says:
    2012-06-19 at 05:11

    넘 멋지십니다
    찾고 있던건데 한번 수정해서 잘 사용해 볼게요^^좋은 하루되십시오~

    Reply
    1. 편리 says:
      2012-06-19 at 05:23

      블로그 방문해 주셔서 감사합니다.
      허접한 코드라서 에러가 있을 수 있습니다. ^^; 좋은 하루되세요..

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes