레이어 여러개 반투명하게 교차하기
인터넷정보2007. 10. 13. 13:46
같은 position에 있는 (꼭 같이 있을 필요는 되지만) 레이어를 투명도를 이용하여 부드럽게 교차시켜 줍니다.
소스가 상당히 노가다적입니다;
또 나름대로 주석을 달아놓긴 했는데, 말을 이해하기는 힘드실겁니다-_-;;
고쳐야 할 부분 알려주시면 감사하고, 필요하신 분들은 유용하게 쓰시기 바랍니다~
var name = "layer"; //레이어의 이름. var space = 1; //반투명 처리 간격. var time1 = 0.1; //반투명도를 한간격 변경할 시간입니다. (초 단위) var time2 = 2; //교차가 완료된 후 대기할 시간입니다. (초 단위) var tran=1; //반투명도를 계산할 변수. (수정하는 것 아님) var tranlr=1; //레이어1의 번호. (수정하는 것 아님) function transparent() { if(!document.getElementById(name+"1")) return; //레이어1이 없다면 그냥 함수를 끝낸다. var tranlr2=tranlr+1; //교차할 그 다음의 레이어 (레이어2) if(!document.getElementById(name+tranlr2)) tranlr2=1; //레이어2가 없다면 처음레이어로 돌아간다. var preview = document.getElementById(name+tranlr); var preview2 = document.getElementById(name+tranlr2); if(preview2.style.opacity!="1") { //레이어2가 아직 반투명할 경우 preview2.style.display="block"; /* 여기부터는 Firefox의 방식 - style의 opacity가 1이면 불투명, 0이면 투명 */ var a=Math.round((tran - space*0.1)*10)/10; //레이어1의 변경될 투명도 var b=Math.round(Math.abs(a-1)*10)/10; //레이어2의 변경될 투명도. a에서 1을 뺀다음, 절대값. preview.style.opacity=a; preview2.style.opacity=b; /* 여기부터는 IE의 방식 - filter:alpha가 opacity=100이면 불투명, 0이면 투명 */ a=tran*100 - space*10; //레이어1의 변경될 투명도 b=Math.abs(a - 100); //레이어2의 변경될 투명도. a에서 100을 뺀다음, 절대값. preview.style.filter="alpha(opacity="+a+")"; preview2.style.filter="alpha(opacity="+b+")"; tran=tran - space*0.1; setTimeout("transparent();", time1*1000); } else { //레이어2가 완전히 보일 경우 preview.style.display="none"; tranlr++; if(!document.getElementById(name+tranlr)) tranlr=1; tran=1; setTimeout("transparent();", time2*1000); } }
안녕하세요. 미니위니 여러분!
//레이어 교차 함수 시작! document.getElementById(name+"1").style.opacity=1; document.getElementById(name+"1").style.filter="alpha(opacity=100)"; setTimeout("transparent();",time2*1000);
'인터넷정보' 카테고리의 다른 글
소켓을 이용한 랭킹(검색어,음악,영화,도서) 소스입니다. (0) | 2007.10.13 |
---|---|
소켓을 이용한 miniRss Reader 소스입니다. (0) | 2007.10.13 |
인기 동영상 박스 소스 입니다. (0) | 2007.10.13 |
날씨 박스 소스 입니다. (0) | 2007.10.13 |
웹용 라디오 플래이어 입니다. (0) | 2007.10.13 |
작은 사이즈의 아이콘(pixel icon) 사이트 모음 (0) | 2007.10.13 |
플래시로 된 파이 그래프 (0) | 2007.10.13 |
Web 2.0 서비스 리스트 및 로고 정보 사이트 (0) | 2007.10.13 |
무료 이미지 사이트 (0) | 2007.10.13 |
디자인을 공부하는 분들에게 추천하고 싶은.. (0) | 2007.10.13 |