2008/06/25 08:50

ASP.NET AJAX Control Toolkit : HoverMenuExtender 2부

1부에서는 HoverMenuExtender의 속성에 대해서 알아보았다. 이번장에서는 간단한 예제를 통한 사용방법에 대해서 알아보겠다.

메인 패널과 팝업 패널을 만들고, 이 두 패널을 어떻게 메인 패널과 팝업 패널로 정의하고, 스타일은 어떻게 적용하며, 애니메이션 효과는 또 어떻게 주는지 다음의 예제로 확인해보자.

<style type="text/css">

.hoverBorder

{

    border: solid 3px Red;

}

.popupPanel

{

    border:solid 1px #000000;

    visibility:hidden;

    background-color:#F5F7F8;

}

.basicPanel

{

    padding:3px;

    width:300px;

    height:200px;

}

.basicBorder

{

    border: solid 3px Gray;

}

</style>

 

<asp:Panel ID="mainPanel" runat="server" CssClass="basicPanel basicBorder">

    여기는 패널영역입니다.

</asp:Panel>

<asp:Panel ID="popupPanel" runat="server" CssClass="popupPanel">

    여기는 팝업영역입니다.

</asp:Panel>

<ajaxToolkit:HoverMenuExtender ID="HoverMenuExtender1" runat="server"

    TargetControlID="mainPanel"

    PopupControlID="popupPanel"

    HoverCssClass="basicPanel hoverBorder"

    PopupPosition="Bottom"

    OffsetX="5"

    OffsetY="-5"

    PopDelay="500">

    <Animations>

        <OnShow>

            <Sequence>

                <HideAction Visible="True" />

                <FadeIn Duration=".5" />

            </Sequence>

        </OnShow>

        <OnHide>

            <FadeOut Duration=".5" />

        </OnHide>

    </Animations>

</ajaxToolkit:HoverMenuExtender>

이번장에서 설명할 전체 소스다.

4개의 CSS class를 정의하였고, mainPanel, popupPanel 패널 두개를 생성하였다. HoverMenuExtender의 속성을 정의하여 패널에 팝업기능을 부여하였다.

TargetControlID="mainPanel"
mainPanel을 TargetControlID로 선언하여 마우스가 패널위에 위치할 때 이벤트가 발생하도록 하였다.

PopupControlID="popupPanel"
popupPanel을 PopupControlID로 선언하여 mainPanel위로 마우스가 올라갔을 때 나타날 팝업 패널로 지정하였다.

HoverCssClass="basicPanel hoverBorder"
basicPanel과 hoverBorder 2개의 css class를 HoverCssClass로 선언하여, 마우스가 mainPanel위로 올라가서 popupPanel이 나타나서 사라질때까지 mainPanel에 적용될 css class를 적용하였다.

PopupPosition="Bottom"
PopupPosition은 Bottom, Center, Left, Right, Top으로 정의할 수 있으며, Bottom으로 선언하여 popupPanel이 나타날 때, mainPanel의 하단에 위치하도록 하였다.

OffsetX="5"
OffsetY="-5"

OffsetX/OffsetY는 popupPanel이 표시될 위치를 정의하게 되며 기본위치에서 상하좌우로 정의할 수 있다. OffsetX="5"는 오른쪽으로 5픽셀만큰 이동시킨것이며, OffsetY="-5"는 위로 5픽셀 올린것이다.

PopDelay="500"
PopDelay는 popupPanel이 사라지는데 걸리는 시간을 나타내며, 1/1000초 단위로 선언한다. 500으로 선언하여 마우스가 mainPanel을 벗어난 후 0.5초후에 popupPanel이 사라지게 된다.

<OnShow>

    <Sequence>

        <HideAction Visible="True" />

        <FadeIn Duration=".5" />

    </Sequence>

</OnShow>
애니메이션 영역이다. <OnShow>는 패널이 표시되기 시작할 때를 위미한다. <Sequence>는 2개 이상의 애니메이션 효과를 순서대로 적용할 때 적용하며, 2개 이상의 애니메이션 효과를 동시에 적용하려면 <Parallel>태그를 사용해야 한다.
또한, 애니메이션 효과를 적용하려면 반드시 <HideAction Visible="True" />를 적용해야 한다. <FadeIn Duration=".5" />를 작성하지 않으면 popupPanel을 표시되지 않는다.
<FadeIn Duration=".5" />은 popupPanel이 0.5초동안 서서히 표시되는 효과를 준다.

<OnHide>

    <FadeOut Duration=".5" />

</OnHide>
<OnHide>는 <OnShow>와는 반대로 패널이 사라질때 적용할 애니메이션 효과를 정의한다.
<FadeOut Duration=".5" />은 <FadeIn>과는 반대로 popupPanel이 사라질 때 적용되는 효과로써 0.5초동안 서서히 사라지게 된다.

애니메이션에 대한 보다 자세한 내용은 다음의 링크를 통해서 학습하기 바란다.

AnimationExtender 바로가기

브라우저로 실행해보자
마우스 올리기 전

마우스 올리기 전

마우스 올린 후

마우스 올린 후


popupPanel이 표시되고 사라질 때 애니메이션 효과가 적용되어 보다 부드러운 느낌을 준다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/06/23 09:02

ASP.NET AJAX Control Toolkit : HoverMenuExtender 1부

HoverMenuExtender는 ASP.NET의 어떠한 웹컨트롤에도 추가될 수 있고, 연계된 컨트롤에 팝업 패널로 추가적인 콘텐트를 표시할 수 있다. 팝업 패널은 메인 컨트롤의 상하좌우 어디에도 위치할 수 있으며 FadeIn, FadeOut과 같은 애니메이션 효과도 적용 할 수 있다.

HoverMenuExtender 속성