Page 1 of 1

document.getElementById()

Posted: 2005 02 15 14:11 56
by 까만도둑
불여우에서 아래와 같은 자바에러가 뜹니다.
아래 어떤 글에서 보니 이와 비슷한 내용이 있긴 하던데 솔직히 무슨 말인지 모르겠습니다. ㅠ.ㅠ
고수님들의 도움을 요청합니다.
해당소스는 팝업으로 나타났다가 지정한 시간이 지나면 사라지는 소스입니다.

==================== 에러내용 =================

경고: 글로벌 속성으로 ID/NAME으로 참조된 요소입니다. 대신 W3C 표준인 document.getElementById()를 사용하십시오.
소스 파일: http://rokmc685.com/notice.js
행: 69

Code: Select all

function blendTransEffectShowDv(object, ilifeTime, baddFilterEffect, binCenter){	// 개체, 보일시간, 필터효과사용, 화면중앙
		// coding http://systems.nafree.net/
		var isDisplayNoned=false;

		if(binCenter){
			object.style.position="absolute";
			object.style.top=(document.body.offsetHeight-350)/2;
			object.style.left=(document.body.scrollWidth+(document.body.offsetWidth-document.body.clientWidth)-300)/2;
		}

		if(baddFilterEffect){
			object.style.filter+=";revealTrans(transition=23,duration=0.5) blendTrans(duration=0.5); ";
		}

		if(object.filters && object.filters.blendTrans){
			object.filters.blendTrans.apply();
		}

		if(object.style.display=="none"){
			isDisplayNoned=true;
			object.style.display="block";
		}

		object.style.visibility = "visible";

		if(object.filters && object.filters.blendTrans){
			object.filters.blendTrans.play();
		}

		if(ilifeTime>0){
			if(isDisplayNoned){
				object.UnVisible=function(){
					if(object.filters && object.filters.blendTrans){
						object.filters.blendTrans.apply();
					}
					object.style.display="none";
					object.style.visibility="hidden";
					if(object.filters && object.filters.blendTrans){
						object.filters.blendTrans.play();
					}
				}
			}
			else{
				object.UnVisible=function(){
					if(object.filters && object.filters.blendTrans){
						object.filters.blendTrans.apply();
					}
					object.style.visibility="hidden";
					if(object.filters && object.filters.blendTrans){
						object.filters.blendTrans.play();
					}
				}
			}
			window.setTimeout(object.UnVisible, ilifeTime);
		}

	}

	function blendTransEffectHide(object){
		if(object.filters && object.filters.blendTrans){
			object.filters.blendTrans.apply();
		}
		object.style.visibility="hidden";
		if(object.filters && object.filters.blendTrans){
			object.filters.blendTrans.play();
		}
	} 

	blendTransEffectShowDv(Notice1, 4000, 1, 1);
위 소스에서 제일 마지막 줄

blendTransEffectShowDv(Notice1, 4000, 1, 1);

이 넘이 문제라고 합니다.[/code]

Re: document.getElementBy

Posted: 2005 02 15 16:32 16
by tenshi

Code: Select all

blendTransEffectShowDv(Notice1, 4000, 1, 1);
이 부분에서 Notice1이..
아마도 <div id="Notice1"></div> 과 같이 id로 선언된 element인 것 같군요.
element명을 그대로 object로 인식하는 것은 IE에서만 사용가능한 방식이고 또한 표준도 아닙니다.
Notice1을 document.getElementById("Notice1")으로 바꾸면 된다는 에러메시지군요.
document.getElementById는 id를 가진 element에 접근하기 위해 w3c에서 지정한 표준 DOM 언어입니다. :)

감사합니다.

Posted: 2005 02 15 17:43 38
by 오늘....
tenshi님 감사합니다.
덕분에 잘 해결했습니다. ^^*