슬라이딩 메뉴 스크립트

글쓴이:행복한고니

http://mygony.com
http://mygony.com/tt/index.php?pl=70&nc=1

슬라이딩 메뉴를 구현해주는 자바스크립트입니다.

소스와 대충의 사용법은 아래에 남기지만, 실제 작동하는 예제를 보고싶다거나 제 홈페이지가 궁금해서 못견딜 것 같은 분(…이 있을리가!)은 링크에 오셔서 봐도 됩니다.
… 이 정도 홈페이지 광고는 봐주시는 거죠?

서브메뉴를 DIV 로 둘러싸는데 서브메뉴의 크기를 자동으로 인식해서 슬라이딩 애니메이션을 구현합니다.

브라우저는 오페라, 모질라(동급의 불여우 포함), 오페라에서 다 작동합니다. 제가 리눅스 데스크탑은 아직 사용하지 않는 이유로 리눅스 계열의 브라우저에선 테스트해보지 않았습니다. 아래에 적힌 것 이외의 버전이나 OS, 브라우저 등에서 확인해보신 분은 알려주시면 내용을 업데이트 하도록 하겠습니다.

그냥 사용하셔도 되지만, 불편하지 않으시다면 제 이름하고 사이트 주소만이라도 주석에 달아놓으시면 고맙겠습니다.

——————–
소스코드
——————–
function slide(Id, interval, to)
{
var obj = document.getElementById(Id);
var H, step = 5;

if (obj == null) return;
if (to == undefined) { // user clicking
if (obj._slideStart == true) return;
if (obj._expand == true) {
to = 0;
obj.style.overflow = “hidden”;
} else {
slide.addId(Id);
for(var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id != Id && slide.objects[i]._expand == true) {
slide(slide.objects[i].id);
}
}

obj.style.height = “”;
obj.style.overflow = “”;
obj.style.display = “block”;
to = obj.offsetHeight;
obj.style.overflow = “hidden”;
obj.style.height = “1px”;
}
obj._slideStart = true;
}

step = ((to > 0) ? 1:-1) * step;
interval = ((interval==undefined)?1:interval);
obj.style.height = (H=((H=(isNaN(H=parseInt(obj.style.height))?0:H))+step<0)?0:H+step)+"px"; if (H <= 0) {
obj.style.display = “none”;
obj.style.overflow = “hidden”;
obj._expand = false;
obj._slideStart = false;
} else if (to > 0 && H >= to) {
obj.style.display = “block”;
obj.style.overflow = “visible”;
obj.style.height = H + “px”;
obj._expand = true;
obj._slideStart = false;
} else {
setTimeout(“slide(‘”+Id+”‘ , “+interval+”, “+to+”);”, interval);
}
}
slide.objects = new Array();
slide.addId = function(Id)
{
for (var i=0; i < slide.objects.length; i++) {
if (slide.objects[i].id == Id) return true;
}
slide.objects[slide.objects.length] = document.getElementById(Id);
}

——————–
사용예제 코드
——————–

——————–
테스트 해본 브라우저
——————–
Internet Explorer 6.0 SP1
Mozilla 1.7.2 (windows)
Opera 7.54 (windows)

혜영이가 결혼을…

청첩장 보내준다고 메세지 왔네.
음.. 20대 초반에 만나서 벌써 결혼할 나이가 됐네. 효순, 희경, 용현은 왜 안가?
ㅋㅋ 종목이두 있구나. 또옹차가 막고 있으니 다덜 못가네.. ^^;

뉴스 티커(자바스크립트)

1. 개요
textSlider는 홈페이지의 메인페이지에서 많이 사용되는 움직이는 뉴스(Ticker)를 쉽게 작성, 편집할 수 있도록
만들어진 라이브러리이다.

2. Ticker 작성
준비작업은 textSlider 라이브러리를 include해주는 것으로 끝난다.

그 후 Ticker를 붙일 html 영역에 다음과 같은 스크립트를 작성하여 주면 된다.

1027071488.zip

XP sp2 팝업창 차단-대응1

<기사 일부>
팝업창이 차단되면 window.open()함수는 리턴 값으로 null을 반환하므로 이를 이용해 차단 여부를 알 수 있다. 아래 내용이 팝업창 차단을 확인해 그 여부를 알려주도록 수정된 자바스크립트 코드다.

수정 전

수정 후

예를 들어 팝업창을 자동으로 띄우고 원래 페이지가 다른 페이지로 이동한다거나 창을 닫거나 하는 경우가 있으면 팝업창 차단 여부를 확인하도록 스크립트를 바꿔야 한다.