채택완료

아코디언 효과(자바스크립트) 질문드립니다.

http://andparty.shop-pro.jp/?pid=93187366&view=smartphone 

위 페이지인데요,

(한국서 열리는지 모르겠네요..)

+ <ㅡ 이 부분 디폴트 값을 닫혀 있는 상태로 하고 싶은데

어느 부분이 기입이 틀렸는지 모르겠습니다.

ㅠ ㅠ 아시는 분 알려주세용...

아래 캡쳐 부분입니다.... 

6d5d583d606ca0e323b48eaf9cbac6f5_1441340345_6749.png
 

|

답변 2개 / 댓글 6개

채택된 답변
+20 포인트

3a9a2c1b8ab5699f403aa9354e0c3ff4_1441342375_2051.png
 

해당 페이지 자바스크립트 오류는 위와 같습니다.

jquery로 소스를 짜면 해당 element가 없어도 오류가 안나는데, 순수 자바스크립트로 짜면 ( 모가 하나만 빠져도 ) 가차없이 에러 메시지를 출력합니다.

accordion.js에서 

slider.prototype.init 함수를 아래와 같이 바꿔보세요. 

Copy
slider.prototype.init=function(t,c,k){		var a,h,s,l,i; a=document.getElementById(t); this.sl=k?k:'';         if( a === null || typeof a === "undefined" ){            return;        }		h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); this.l=h.length;		for(i=0;i<this.l;i++){var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+'.pro(this)'); if(c==i){d.className=this.sl}}		l=s.length;		for(i=0;i<l;i++){var d=s[i]; d.mh=d.offsetHeight; if(c!=i){d.style.height=0; d.style.display='none'}}	}

답변에 대한 댓글 5개

엘리먼트가 없다는 얘긴가요?^^;
accordionB 라는 ID element가 없어요.
감사합니다... 그것때문에 움직이지 않는걸까요 ㅠ
아직 해결 못하셨어요?
아-ㅅ -; 저 자바스크립트 아예 이해 못하고 있는데
선배가 고쳐보라면서 던져줬네요; 뭘 알아야 수정을 하죠 ㅋㅋ
그냥.. 이것저것 넣었다 뺐다 해보는 중입니다;-ㅅ -

다시 설명해 드립니다.

아코디언이 잘 안되는 이유는

<script type="text/javascript"> 

var slider=new accordion.slider("slider");

slider.init("accordionB",-1,"open");

var slider2=new accordion.slider("slider2"); 

slider2.init("accordionC",-1,"open");

</script>

이 부분 때문에 안되는 건데요.

slider.init("accordionB",-1,"open");   <<< html 문서에 ID 인 accordionB 가 없어서 잘 안되는거에요. 

 

해결방법 1.

 

위에서

 

var slider=new accordion.slider("slider");

slider.init("accordionB",-1,"open");

이 부분을 지운다.

해결방법 2.

accordion.js 를 제가 처음 얘기 한대로 바꿔주시면 됩니다. 

 

잘 안되면 다시 얘기해 주세요.

답변에 대한 댓글 1개

감사합니다. 결국 그 부분을 삭제 하면 되는 거였어요 ㅠ ㅠ
개발자도구에서 적용하는데 자꾸 안되어서
본 사이트에 적용하니 그대로 되네요 -ㅅ -;; !!!
해결 해씀당 감사함당!!(__)꾸벅.

답변을 작성하려면 로그인이 필요합니다.