개발 Q&A

제목 다른 view의 자바스크립트 호출 방법.
글쓴이 수야디벨 작성시각 2012/12/27 11:14:54
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 21924   RSS

안녕하세요.

제가 '블루비' 라는 사이트에서 레이어 모달 view 소스를 끌어다가 적용했거든요.

http://www.blueb.co.kr/blueb/javascript.php?mid=13&ctg1=37&r=view&uid=61789)

이 사이트의 모달 뷰는 x버튼을 누르면 꺼지게 되어 있습니다.

근데 이 form을 로그인 창에 적용시킬 껀데, 로그인 버튼을 눌렀을 시 창이 꺼지게 조정을 해야 하잖아요?
(사용자보고 x버튼을 누르라고 할 수는 없으니까 ..)

그래서 이 소스에서 꺼지는 부분만 따와서 함수로 만들어 보려는데 잘 되지가 않습니다 .

우선 위 소스에서

 $('#fade , .popup_block').fadeOut(function() {
    $('#fade, a.close').remove(); 
  }); //fade them both out

이 부분만 따와서 ,

모달을 호출 한 A 뷰에  close3() 이라는 함수로 따로 스크립트를 만들었습니다.
그리고 이를 setInterval로 10초후에 실행시키게 해 놓은뒤에 ,
모달 창을 띄어두고 기다리면, 이 함수가 실행이 되어서 창이 꺼지는거에요?

그래서, '아 .이렇게 하면 되겠구나!' 하고, 위 소스를 그대로 옮겨서 다른데다가 적용을 하니까 ..

즉 ,기존에 A라는 화면을 보고 있다가

팝업을 띄우면 B라는 화면이 팝업에 보이거든요? 그래서 맨 바탕에는 A가 깔려있고,

모달팝업에 띄어진 팝업창에서 B 화면이든 C 화면이든 D 화면이든 , a href 링크로 이동이 가능하다는건데,


문제는 , 이걸 꺼주는 함수가 A VIEW의 함수를 실행해 주면 되는데, 똑같은 소스라도 B view에서 하면 안됩니다..


실제 모달창에선 X버튼을 누르면 A VIEW의 꺼주는 함수를 실행시켜주는 듯 하나,

저는 임의의 함수를 호출해서 꺼주길 원하거든요~


근데 , 이 임의의 함수를 B 화면에서 호출하니, 안되더라구요.

(아마, 모달을 호출한건 A 뷰인데, 모달에 관련된 id, class는  Aview에 정의되어 있는데 , 이 모달을 꺼주는 함수를 보면
 
     $('#fade , .popup_block').fadeOut(function() { 
      $('#fade, a.close').remove();
    }); //fade them both out

처럼, 제이쿼리로 아이디나, 클래스로 해당 객체를 찾아서 꺼주는 식이잖아요?

그래서 , B화면에는 이러한 아이디를 존재하는 소스, 코드가 없기때문에 안꺼지는거  같습니다 ㅠ)




제가 여기서 A화면 B화면을 나누는 이유는

소스보기를 하면, 바탕에 깔린 부분에서 소스보기하면 A 소스가 보이고

모달에서 소스보기를 하면 B 소스가 보이거든요,

그래서 독립된 페이지라 생각하기 때문에 A 화면 B화면 구분짓는 겁니다.

B화면에서 <body onLoad="close3()"> 하면, 자신의 a뷰의 함수는 호출되지 않고, 오로지 b화면의 스크립트만을 호출하던데,

B화면에서 A화면의 자바스크립트를 호출 할 수 있을까요?
 다음글 또 다시 ajax 문제 뒤로가기 버튼 ㅠㅠㅠㅠㅠ (1)
 이전글 페이지 이동시 뒤로가기 제어? (8)

댓글

니삼 / 2012/12/27 11:39:36 / 추천 0
그냥 읽다가 떠오른건데 로그인버튼 눌렀는대 비밀번호 틀리면 어떻게 되나요?