메뉴 생성 클래스

· 20년 전 · 2802 · 1
<!--클래스-->
<script>
Layer = function() {
this.Elem = document.createElement('div');
this.Elem.id = 'Layer' + Layer.Count++;
this.Elem.appendChild(document.createElement('div'));
this.Elem.appendChild(document.createElement('div'));

// Properties
this.Id = this.Elem.id;
this.Drag = true;
this.Subject = 'Layer';
this.Content = 'Content';
this.Style = this.Elem.style;
this.SubjectStyle = this.Elem.children[0].style;
this.ContentStyle = this.Elem.children[1].style;
//

// Init
with(this.Style) {
position = 'absolute';
border = '1px solid slategray';
zIndex = Layer.ZIndex++;
}
with(this.SubjectStyle) {
font = 'bold 9pt tahoma';
backgroundColor = 'slategray';
color = 'lightgrey';
padding = '3px';
cursor = 'default';
}
with(this.ContentStyle) {
font = 'normal 9pt tahoma';
backgroundColor = 'whitesmoke';
color = 'slategray';
padding = '3px';
}
//

// Show Method
this.Show = function() {
document.body.appendChild(this.Elem);
this.Refresh();
}//

// Refresh Method
this.Refresh = function() {
this.Elem.children[1].innerHTML = this.Content;
with(this.Elem.children[0]) {
innerHTML = this.Subject;
onselectstart = function() { return false; }
style.width = Math.max(this.Elem.children[1].offsetWidth, offsetWidth);
ondblclick = function() {
with(this.parentElement.children[1].style) {
display = display ? '' : 'none';
}
}

// Drag Event
if(this.Drag) {
IsDrag = false;
var PadLeft = parseInt(style.paddingLeft);
var PadTop = parseInt(style.paddingTop);
onmousedown = function() {
IsDrag = true;
DragX = event.offsetX + PadLeft;
DragY = event.offsetY + PadTop;
}
onmouseup = function() { IsDrag = false; }
onmouseout = function() { IsDrag = false; }
onmousemove = function() {
if(IsDrag) {
with(this.parentElement.style) {
left = event.clientX - DragX;
top = event.clientY - DragY;
}
}
}
}
else {
IsDrag = DragX = DragY = null;
onmousedown = onmouseup = onmouseout = onmousemove = null;
}// End Drag Event
}

}// End Refresh()

// Event z-index
this.Elem.children[0].onclick = function() { this.parentElement.style.zIndex = Layer.ZIndex++; }
this.Elem.children[1].onclick = function() { this.parentElement.style.zIndex = Layer.ZIndex++; }
}
Layer.Count = 0;
Layer.ZIndex = 100;
</script>
<!---->

<!--사용-->
<script>
window.onload = function() {
with(document) {
with(body) {
Layer1 = new Layer();
Layer1.Subject = '드래그 ON 레이어';
Layer1.Content = '나 보기가 역겨워 가실때에는<br>' +
'말 없이 고이 보내 드리오리다.<br>' +
'<img src=http://mypds.mireene.com/g4/_v1/img/mybanner05.jpg>';
Layer1.Show();

Layer2 = new Layer();
Layer2.Style.left = '200px';
Layer2.SubjectStyle.color = 'red';
Layer2.Drag = false;
Layer2.Subject = '드래그 OFF 레이어';
Layer2.Content = '드래그 되지 않는 레이어<br>타이틀을 더블클릭하면 창이 축소됩니다.';
Layer2.Show();
Layer2.ContentStyle.backgroundColor = 'ivory';
Layer2.Refresh(); // Show() 호출 후 속성이 변경되면 Refresh() 호출
};
}
}
</script>
<!----><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
|

댓글 1개

좋은팁 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
19년 전 조회 4,277
19년 전 조회 3,463
19년 전 조회 4,266
19년 전 조회 3,648
19년 전 조회 3,287
19년 전 조회 3,557
19년 전 조회 2,611
19년 전 조회 2,998
19년 전 조회 2,508
19년 전 조회 3,882
19년 전 조회 4,925
19년 전 조회 3,937
19년 전 조회 1,916
19년 전 조회 2,910
19년 전 조회 2,585
19년 전 조회 2,794
19년 전 조회 4,587
19년 전 조회 2,759
19년 전 조회 3,223
19년 전 조회 3,171
19년 전 조회 3,834
19년 전 조회 3,802
19년 전 조회 2,033
19년 전 조회 2,388
20년 전 조회 2,978
20년 전 조회 2,629
20년 전 조회 4,473
20년 전 조회 3,487
20년 전 조회 4,251
20년 전 조회 2,779
20년 전 조회 2,655
20년 전 조회 3,132
20년 전 조회 2,659
20년 전 조회 2,943
20년 전 조회 2,641
20년 전 조회 3,363
20년 전 조회 1,863
20년 전 조회 3,154
20년 전 조회 2,444
20년 전 조회 2,346
20년 전 조회 2,447
20년 전 조회 2,809
20년 전 조회 2,297
20년 전 조회 4,635
20년 전 조회 2,854
20년 전 조회 2,610
20년 전 조회 3,120
20년 전 조회 3,213
20년 전 조회 3,282
20년 전 조회 2,803
20년 전 조회 3,194
20년 전 조회 2,719
20년 전 조회 2,380
20년 전 조회 2,942
20년 전 조회 2,651
20년 전 조회 2,704
20년 전 조회 3,962
20년 전 조회 3,422
20년 전 조회 5,172
20년 전 조회 2,575
20년 전 조회 4,688
20년 전 조회 3,269
20년 전 조회 3,055
20년 전 조회 3,895
20년 전 조회 2,811
20년 전 조회 3,888
20년 전 조회 4,168
20년 전 조회 3,588
20년 전 조회 3,633
20년 전 조회 4,257
20년 전 조회 2,508
20년 전 조회 5,234
20년 전 조회 3,801
20년 전 조회 2,756
20년 전 조회 2,441
20년 전 조회 2,902
20년 전 조회 3,177
20년 전 조회 2,949
bbbking
20년 전 조회 5,926
20년 전 조회 2,850
bbbking
20년 전 조회 4,434
20년 전 조회 2,314
20년 전 조회 7,478
20년 전 조회 2,571
20년 전 조회 3,647
20년 전 조회 4,454
20년 전 조회 2,779
20년 전 조회 4,065
20년 전 조회 3,235
20년 전 조회 4,242
20년 전 조회 5,270
20년 전 조회 4,376
20년 전 조회 6,000
20년 전 조회 2,201
20년 전 조회 3,470
20년 전 조회 3,696
20년 전 조회 3,077
20년 전 조회 2,588
20년 전 조회 4,823
20년 전 조회 2,436