자바스크립트 프레임워크 라이브러리 jQuery의 애니메이션 관련 메소드를 이용해서 학습용 이미지 슬라이더와 전광판을 만들어 봤습니다. jQuery의 "animate()"라는 메소드로 개별 엘리먼트에 모션 이펙트를 부여할 수 있으며 자바스크립트 메소드인 "setInterval()" 를 이용해서 끊임없이 반복되는 애니메이션을 만들 수 있습니다. jQuery 의 "hover()" 이벤트 핸들러와 자바스크립트 "clearInterval()" 메소드를 활용해서 잠시 멈춤 효과를 만들 수 있지요. 추가로 "jQuery Easing v1.3"을 활용해서 다양한 이펙트 옵션을 테스트 할 수 있도록 했습니다. 하단부에 있는 옵션명을 클릭하면 개별 이펙트를 확인할 수 있습니다.
[전광판과 이미지 슬라이더 실행 화면]
http://www.hompydesign.com/javascript/animate/
[전광판과 이미지 슬라이더 소스 코드]
[전광판과 이미지 슬라이더 실행 화면]
http://www.hompydesign.com/javascript/animate/
[전광판과 이미지 슬라이더 소스 코드]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery Animate</title> <link type="text/css" href="/ui/ui.all.css" rel="stylesheet" /> <script type="text/javascript" src="/js/jquery.js"></script> <script type="text/javascript" src="/js/jquery.easing.1.3.js"></script> <style type="text/css"> body {font-size: 12px; font-family:"Dotum", "Tahoma";} img {border:0px;} a:link {color:#3366CC; text-decoration:none;} a:active {color:#FF9966; text-decoration:none;} a:visited {color:#3366CC; text-decoration:none;} a:hover {color:#FF9966; text-decoration:underline;} .body {width:440px; height:280px; border:1px solid #CCCCCC; padding:10px; background-color:#FAFDE2} #navi_tool {position:relative; width:400px; height:16px; overflow:hidden;} #navi {position:absolute; left:0px; top:0px;} #navi div {height:20px;} #album_tool {position:relative; width:380px; height:120px; overflow:hidden;} #album {position:absolute; width:2000px; left:0px; top:0px;} #album div {float:left; margin:0px; padding:0px;} </style> <script type="text/javascript"> $(d0cument).ready(function(){ $("#navi").attr("motion", "easeInOutSine"); $("#album").attr("motion", "easeInOutExpo") $("#navi").attr("top", "0"); $("#album").attr("top", "0") $("#navi").attr("height", $("#navi>div").eq(0).height()); $("#album").attr("width", $("#album>div").eq(0).width()); $("#navi").attr("total", $("#navi>div").size()); $("#navi>div").eq(0).clone().appendTo($("#navi")); $("#navi").hover(function(){ clearInterval($("#navi").attr("timer")); },function(){ $("#navi").attr("timer", setInterval(my_rotate, 3000)); my_rotate(); }); $("#navi").attr("timer", setInterval(my_rotate, 3000)); $("#album").attr("total", $("#album>div").size()); $("#album>div").eq(0).clone().appendTo($("#album")); $("#album>div").eq(1).clone().appendTo($("#album")); $("#album").hover(function(){ clearInterval($("#album").attr("timer")); },function(){ $("#album").attr("timer", setInterval(my_album, 3000)); my_album(); }); $("#album").attr("timer", setInterval(my_album, 3000)); $("#motion_tool>a").click(function(){ $("#navi").attr("motion", $(this).text()); $("#album").attr("motion", $(this).text()) }); }); function my_rotate(){ if ($("#navi:animated").size()) return false; var height = $("#navi").attr("height"); var pos = (parseInt($("#navi").attr("top"))+1); var px = pos * height; $("#navi").attr("top", pos); $("#navi").animate({ top: ((px * -1) + "px") }, 1000, $("#navi").attr("motion"), function() { var pos = parseInt($("#navi").attr("top")); var total = parseInt($("#navi").attr("total")); if (pos>=total) { $("#navi").attr("top", 0); $("#navi").css("top", "0px"); } } ); } function my_album(){ if ($("#album:animated").size()) return false; var width = $("#album").attr("width"); var pos = (parseInt($("#album").attr("top"))+1); var px = pos * width; $("#album").attr("top", pos); $("#album").animate({ left: ((px * -1) + "px") }, 1000, $("#album").attr("motion"), function() { var pos = parseInt($("#album").attr("top")); var total = parseInt($("#album").attr("total")); if (pos>=total) { $("#album").attr("top", 0); $("#album").css("left", "0px"); } } ); } </script> </head> <body> <div class="body"> <div class="demo"> <div id="navi_tool"> <div id="navi"> <div><a href="http://hompy.info/574" target="_blank">1. jQuery 애니메이트로 만들어보는 이미지 슬라이더와 전광판</a></div> <div><a href="http://hompy.info/569" target="_blank">2. 심심풀이용 플래시 타워 디펜스 게임들과 플레이 동영상</a></div> <div><a href="http://hompy.info/570" target="_blank">3. 잘만든 인기 플래시 게임 버블탱크2와 젬크래프트</a></div> <div><a href="http://hompy.info/571" target="_blank">4. 포털에서 운영하는 채용정보 검색, 취업 검색, 취업 센터</a></div> <div><a href="http://hompy.info/572" target="_blank">5. jQuery를 활용한 홈페이지 개발의 기본인 입력폼 제작</a></div> </div> </div> <br /> <div id="album_tool"> <div id="album"> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=1' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=2' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=3' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=4' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=5' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=6' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=7' width=190></a></div> <div><a href="http://hompy.info/24" target="_blank"><img src='http://www.hompydesign.com/hompydesign.com?no=8' width=190></a></div> </div> </div> <br /> <div id="motion_tool"> <a href="#">easeInQuad</a> <a href="#">easeOutQuad</a> <a href="#">easeInOutQuad</a> <a href="#">easeInCubic</a> <a href="#">easeOutCubic</a> <a href="#">easeInOutCubic</a> <a href="#">easeInQuart</a> <a href="#">easeOutQuart</a> <a href="#">easeInOutQuart</a> <a href="#">easeInQuint</a> <a href="#">easeOutQuint</a> <a href="#">easeInOutQuint</a> <a href="#">easeInSine</a> <a href="#">easeOutSine</a> <a href="#">easeInOutSine</a> <a href="#">easeInExpo</a> <a href="#">easeOutExpo</a> <a href="#">easeInOutExpo</a> <a href="#">easeInCirc</a> <a href="#">easeOutCirc</a> <a href="#">easeInOutCirc</a> <a href="#">easeInElastic</a> <a href="#">easeOutElastic</a> <a href="#">easeInOutElastic</a> <a href="#">easeInBack</a> <a href="#">easeOutBack</a> <a href="#">easeInOutBack</a> <a href="#">easeInBounce</a> <a href="#">easeOutBounce</a> <a href="#">easeInOutBounce</a> </div> </div> </body> </html> |
'JavaScript' 카테고리의 다른 글
PHP 또는 자바스크립트로 달력 만들기 소스 코드 (0) | 2009.04.28 |
---|---|
jQuery를 활용한 홈페이지 개발의 기본인 입력폼 제작 (0) | 2009.04.28 |
JavaScript Intellisense Improvements in Visual Studio 2008 (0) | 2009.04.23 |
이미지에 클릭후 움직이면 스크롤 됩니다. 이미지에 더블클릭 하면 닫힙니다 (0) | 2009.02.26 |
execCommand Method (0) | 2009.02.04 |