티스토리 뷰
많이들 사용하는 가로로 슬라이드?? 뭐라 이름이 좀 모르는데 아래 그림 참고.
간단히 움직임만 따라해봄.
데모 : http://whatdo.net/html5/example/verticalSlide.html
js 코드
/*
- 가로로 움직이는 갤러리
@params : 옵션이며 없다면 기본값으로 적용됨
target : 움직일 부모 객체 (css selector default : .vertical_motion)
mover : 마우스오버할 target 의 '자식' 객체 (css selector default : .vm_list)
@html data-* : 옵션이며 없다면 기본값으로 적용됨
data-min : 최소넓이값(string numberic type default : "130")
data-motion-auto : 자동으로 움직일것인가? (string default : "true" ... or "false")
data-delay : 모션후 멈춤 시간 (string numberic type default : "3" per second)
data-speed : 모션 동작 속도 (numberic type defalut : "200" pe millisecond)
data-start-index : 몇번째 박스부터 시작 할 것인가?(numberic type default : 0) - 0부터 시작함
@sample
ul.vertical_motion, li.vm_list 의 타겟 class 는 기본으로 세팅되어 있으며 다른 것으로 하고 싶다면
vm.setTarget("option1","option2") 또는 verticalMotion("option1","option2").exe()로 정의함.
<style>
.vertical_motion{margin:0;padding:0;list-style:none;}
.vertical_motion .vm_list{float:left;margin-right:5px;overflow:hidden;}
.vertical_motion .vm_list img{vertical-align:middle}
.vertical_motion .vm_list.last{margin-right:0}
</style>
<ul class="height_auto vertical_motion" data-min="130" data-motion-auto="true" data-delay="3" data-speed="200" data-start-index="0">
<li class="vm_list">1번째 박스</li>
<li class="vm_list">2번째 박스</li>
<li class="vm_list">3번째 박스</li>
<li class="vm_list">4번째 박스</li>
</ul>
*/
function verticalMotion(target, mover){
if(!(this instanceof verticalMotion)) return new verticalMotion();
this.target = target||".vertical_motion";
this.$target = null;
this.mover = mover||".vm_list";
this.$mover = null;
this.vars={
rmargin:0
,fwidth:null
,min:130
,mauto:true
,delay:1
,speed:200
,index:0
,si:{}
};
return this;
}
verticalMotion.prototype={
// 스크립트로 옵션설정
set:function(key, val){
this.vars[key] = val;
return this;
}
// 타겟 새로 세팅
,setTarget:function(target, mover){
if(!target) return this;
this.target = target;
if(mover) this.mover = mover;
return this.exe();
}
// 움직임
,motion:function(opts, current){
opts.$mover.stop().animate({"width":opts.min+"px"}, opts.speed).removeClass("on").filter(current).stop().animate({"width":opts.max+"px"}, opts.speed).addClass("on");
return this;
}
// 자동
,autoMotion:function(opts){
var parents=this;
parents.vars.si[opts.rand]=setInterval(function(){
parents.motion(opts, opts.$mover.eq(opts.index));
opts.index++;
if(opts.index>=opts.len) opts.index=0;
}, opts.delay);
return this;
}
// 해당 모션의 옵션 가져오기
,exe:function(){
var parents = this
,vars = parents.vars
,$targets = $(parents.target);
if($targets.length<=0) return false;
$.each($targets, function(i, ele){
var $target = $(ele)
,$mover = $target.find(parents.mover)
,opts={
$target:$target
,$mover:$mover
,rmargin : Number($mover.eq(0).css("margin-right").replace("px",""))||vars.rmargin
,fwidth : Number($target.innerWidth()||($target.parent().innerWidth())) // 값이 없다면 부모객체의 넓이가 기준이 됨
,min : Number($target.attr("data-min"))||vars.min
,mauto : $target.attr("data-motion-auto") ? $target.attr("data-motion-auto")=="true" : vars.mauto
,delay : (Number($target.attr("data-delay"))||vars.delay)*1000
,speed : (Number($target.attr("data-speed"))||vars.speed)
,index : (Number($target.attr("data-start-index"))||vars.index)
,rand:"r_"+Math.round(Math.random()*1000)
,max:null
,len:null
};
parents.setDisplay(opts);
});
return this;
}
// 옵션에 따라 객체 자리잡음
,setDisplay:function(opts){
if(!opts.$target || !opts.$mover){
alert("이벤트를 처리할 타겟을 지정해 주세요.");
return this;
}
var parents = this
,len = opts.$mover.length
,min = opts.min
,lenm = len-1
,max = opts.fwidth-(((lenm)*min) + (opts.rmargin*lenm))
,si = null;
opts.max=max;
opts.len = len;
opts.$mover.css("width",min+"px").eq(opts.index).css("width", max+"px").end().last().addClass("last")
.end().off().on({
mouseenter:function(){
if(parents.vars.si[opts.rand]) clearInterval(parents.vars.si[opts.rand]);
opts.index=opts.$mover.index(this);
parents.motion(opts, this);
}
,mouseleave:function(){
if(opts.mauto===true) parents.autoMotion(opts);
}
});
if(opts.mauto===true) parents.autoMotion(opts); // motion auto라면
//if(opts.index>0) parents.motion(opts, opts.$mover.eq(opts.index)); // start-index 가 있다면
return this;
}
};
$(function(){
verticalMotion.exe();
});
html 샘플
<!-- 샘플1 - 기본 -->
<ul class="height_auto vertical_motion" data-min="130" data-motion-auto="true" data-delay="3" data-speed="200">
<li class="height_auto vm_list">
<a href="http://daum.net">
<div class="sp_box b1">
<h2 class="spb_t">슬라이드1</h2>
<hr class="spb_h" />
</div>
</a>
</li>
<li class="vm_list">
<a href="http://daum.net">
<div class="sp_box b2">
<h2 class="spb_t">슬라이드2</h2>
<hr class="spb_h" />
</div>
</a>
</li>
<li class="vm_list">
<a href="http://daum.net">
<div class="sp_box b3">
<h2 class="spb_t">슬라이드3</h2>
<hr class="spb_h" />
</div>
</a>
</li>
<li class="vm_list">
<a href="http://daum.net">
<div class="sp_box b4">
<h2 class="spb_t">슬라이드4</h2>
<hr class="spb_h" />
</div>
</a>
</li>
</ul>
<!-- //... -->
'컴터 > Javascript / html' 카테고리의 다른 글
대부분 브라우저 호환되는 클립보드에 텍스트 복사하기 + 출처표기 (0) | 2016.05.24 |
---|---|
javascript hoisting(호이스팅) 이란 (0) | 2014.08.19 |
[자바스크립트]본문내 실제 이미지 크기가 설정값 이상이면 레이어로 크게 보기 (0) | 2011.02.24 |
a 태그에 이미지 백그라운드로 나오게할때 ie만나오고 firefox등에선 안나올때 (1) | 2009.02.11 |
- Total
- 1,770,491
- Today
- 3
- Yesterday
- 19
- Adobe AIR / www.AS3.kr / Actio…
- Adobe AIR Devpia.
- Beyond Tomorrow
- Blog of Shigeru Nakagaki. Let\…
- CSS3 . Info
- Code Weblog
- CodeIgniter 한국사용자포럼 BETA
- ECONOBLOG
- FlexComponent-플렉스 네이버 카페
- Guru's Blog
- Hooney.net - CSS Reference Sit…
- Korean Healthlog
- Raymond.CC Blog
- [Air]AIR_IN_ACTION
- [CSS]후니넷
- [Flex] css 스킨
- [JavaFx] 한글화
- [basic4ppc]괜찮은 사이트
- [flex2책저자]with okgosu (-..-)a
- [flex] stylesheet
- [flex] 예제 많은곳-EBook관련
- [flex]ungsung' study
- [html5-canvas]『 zeroone 』blog
- [html5-iphone]xguru.net
- [html5]korea html5 group
- [html5]sencha touch demos - fr…
- [iPhone]아이군의 블로그
- [iphone] 토리의 놀이터
- [iphone]LambertPark
- [iphone]safari 레퍼런스
- [iphone]피의복수
- [jQuery Plugin] 포토갤러리
- [jQuery] -- jQuery
- [jQuery] 1.1.2 API Browser
- [jQuery] IBM 사이트 설명
- [jQuery] 예제 많음
- [javascript]JKwang's Programs
- [red5]
- [그래픽js] 끝내줌.ㅋ
- [김프]무료 이미지 관리툴 -비교대상 포토샵
- [무료캡쳐프로그램] jing Project - swf …
- [무료호스팅]1.5Gb 줌
- [서프라이즈] - 대문
- [실버라이트] msdn
- [실버라이트]ONESTONE
- [실버라이트]ZZANGMYON BLOG♡
- [실버라이트]사진속에 혼을 담는 개발자
- [실버라이트]유령회사 공도소프트
- [실버라이트]이과장의 프로그래밍이야기
- [오픈소스검색엔진]루씬 한글분석기 오픈소스 프로젝트
- [해킨토시]x86osx.com
- adobe 예제 사이트
- d-|-b First Of May
- lovesera.com: ART of VIRTUE
- rollin96님의 노트-air/flex Tip
- w3school.com
- 굿네이버스
- 꿀뷰, 바닥, 술집의 개발자
- 나물이네-자취생들의 먹거리 해결..ㅋ
- 낙장불입 인생막장
- 내 눈으로 본 한국, 한국인....
- 딴동네-Air/Flex 영상 강좌
- 레인 에디터
- 류종택의 프로그래밍 강의실
- 리아 코리아
- 무료 호스팅 해줌 - 디지문
- 버터백통의 Action Script 레시피
- 살아 숨 쉬는 웹 - 블루비
- 색깔있는 진보 칼라TV
- 시작하세요! iphone3
- 아이디어 상품
- 아폴로케이션[Adobe AIR]
- 엑셀 도움말
- 영원의 헤아림-검쉰-Flex
- 오픈소스 FLV 플레이어
- 울나라 Ajax Library
- 웹사이트 방문자 통계
- 웹카페-css 잘나왔뜸
- 웹캠으로하는 멋진 게임
- 웹프로그래머의 홈페이지 정보 블로그
- 윤훈남의 액션스크립트3.0
- 조인시 위키
- 체리필터의 인생이야기
- 충청투데이 알짜 뉴스
- 칸과칸사이
- 태우\'s log - web 2.0 and beyond
- 파비콘 제네레이터
- 파인애플 밴드
- 팬소년이야기
- 한국의 대표 진보언론 민중의소리 - 전체 기사
- 훈스닷컴
- Feeding.kr의 일용할양식
- [javascript]기억하고 싶은 것들
- XML-RPC-metaWeblog 설명
- [IT웹툰]미닉스의 작은 이야기들
- outsider 개발자
- 애매한 발음 알아볼때
- [android]Photographer. Android…
- [android]mSurf Lab 안드로이드 개발 정보…
- [android]안드로이드 개발 정보
- [android]안드로이드 개발하는놈
- [android]안드로이드 프로그래밍 정복
- [android]참 쉽습니까?
- [android]커니의 안드로이드 이야기 - Andro…
- [android]회색의 구글 안드로이드 개발
- 장군블로그 [진심을 담는 마크업. 웹 표준. 웹 접근성…
- 백남중
- NARADESIGN:BLOG
- [php.js] php함수 js로 옮겨놓은 곳
- javascript 이론적으로 설명잘해놓은곳
- JavaScript Garden
- Angularjs 등 javascript 설명
- node.js
- 유용한 코드 많은 곳...코드쪼가리?
- HTML5 Demos- 최고!!!
- Firejune - The Web is still ch…
- 글읽어주는 사이트
- [publisher] Clearboth
- [nodejs]Hello World!!
- angularjs2 - 강추
- 모든 브라우저에서 동작하는 canvas
- Beautiful Jquery Plugin MopTip…
- 김진형교수의 SW정책 단상
- Comments for 미스타표, 즐기며 배우며.
- [외국개발자]곰같은블로그
- [opencv]다크 프로그래머
- [YouTube]日本人の知らない日本語
- 영어학습 자료실 EnglishCube - 추천사이트, …
- がんばれ! 日本語
- [youtube]serina hwang
- 하라마~~~
- O HOUSE : 라이프 매거진
- 아름다운 하우스 : 네이버 블로그
- [인테리어]김반장의 이중생활
- [리모델링]Pastel design & Archi te…
- [리모델링]대전 아파트 인테리어 전문 업체! 엘림하우스
- [리모델링]가람홈스토리
- :: Back to the Mac
- Swift 언어 개발문서
- [swift]Seorenn SIGSEGV
- Swift Lab를 위한 댓글
- 콩닥맘의 차니스토리 : 네이버 블로그
- 헬렌의 테이스팅 메뉴 The Tasting Menu
- lovesera: ART of VIRTUE-정진호
- [ionic] saltfactory's blog
- PhoneGap API Documentation
- 김변의 법인등기 : 네이버 블로그
- 면어의 얼렁뚱땅 캘리그라피
- 푸른지성과 카즈미, 그리고 코타의 행복한 세상!
- AnimationKING
- AnimationKING : 네이버 블로그
- POND X P.B.Y
- 도쿄 동경 베쯔니 블로그
- whatdo.net-티티호스팅
- 골목
- 겨울준비
- 충청투데이
- 티눈
- 해킨토시
- 맥북에어 13
- 재개발
- exif 정보
- 공개
- ogv
- localstorage
- html5예제
- 봄
- Ajax
- 자양동
- 아이폰
- flex
- 넥서스원
- 사마귀
- php
- 고려극장
- Alert.show
- 안드로이드
- 대전역
- 가오지구
- 쌍둥이빌딩
- 자전거
- jQuery
- AIR
- html5