Extra Form
상태 완료
예산 5만원
# 위 금액은 의뢰인이 실제로 지불할 비용이 아니라, 그저 예산일뿐 입니다. 실제 비용은 공급자가 제시하면 됩니다.
# 비용제시 또는 비용협상은 비밀댓글이나 개인 연락처를 통해 진행해주세요.

개발이 중단된 xe의 팝업모듈과 애드온을 사용하여 2개이상의 팝업을 띄우는 용도로 사용하고있습니다.


그리고 이미지 슬라이딩배너위젯인 eh_whcarousel 위젯이 설치되어있는 메인페이지에서만 유독 팝업이 뜨질 않습니다.

 

다른 팝업애드온이나 모듈들은 팝업을 한개씩밖에 띄우질 못해 애를 먹고 있습니다.

 

사용중인 팝업모듈 : https://www.xpressengine.com/index.php?mid=download&package_id=18640942
사용중인 팝업오프너 : https://www.xpressengine.com/index.php?mid=download&package_id=18640943
사용중인 이미지슬라이딩 위젯 : https://www.xpressengine.com/index.php?mid=download&package_id=22263678

 

예산이 적어 죄송합니다.
도움 기다립니다.

  • profile

    아마 jquery 충돌일 것으로 예상됩니다.

    위젯의 기본 스킨을 사용중이시라면

    eh_whcarousel/skins/default/list.html
    의 32줄에 jquery를 불러오는 부분을 주석처리하시구요.

    (요것만으로도 될수도 있지 않을까 합니다만....)

    36줄에
    $(function () {
    요 부분을
    jQuery(function ($) {

    요렇게 바꿔서 한번 해보세요.

    테스트 해본 것은 아니라서 확실한건 아니에요.

  • profile
    오! 됩니다 돼요!
    주석처리만 하니 위젯이 작동하질 않더니, jquery $ 를 jQuery로 고쳐주니 되네요.
    정말 신기합니다.

    늘 감사합니다. 좋은하루 되세요 ^^
  • profile profile
    이제 저에게 커피를 사주시면 됩니다. 하하하하하하하하
  • profile profile
    알겠습니다.
    언제 뵙게될 날 오면 맛있는 커피 곱배기로 사드리겠습니다 ^^
  • profile profile

    약간의 첨언을 하자면

    1. 최신 XE는 jquery를 코어단계(맞나? 아무튼)에서 기본적으로 불러오기 때문에 위젯이나 레이아웃에서 별도로 불러올 필요는 없습니다.

    2. xe에서 사용하는 문법이 jquery의 $와 겹치는 부분이 있나봅니다. 그래서 jquery를 사용할때 명령어로 쓰이는 $를 사용하면 안됩니다. 대신 jquery를 사용하도록 되어잇죠.

    일반적으로 jquery를 시작할 때는 $(로 시작하는데 이부분이 xe에서는 jquery(로 써야 하죠.

     

    하지만 기존 위젯이 html내에서 자바스크립트를 실행하는데 동작을 한 이유는 jquery를 또 불러와서 $로 사용된 jquery가 동작을 한 것입니다.
    대신 팝업모듈에서 사용되는 jquery로 시작하는 자바스크립트가 동작을 안한 것입니다.

    (다른 곳에 영향을 미쳤을지도 모르지만 html은 순차적으로 동작하기에 레이아웃 등에서 jquery를 사용하지 않았다면 별 문제 없어 보였을겁니다.)

    그런데 기존에 만들어둔 코드가 $를 이용하는 경우가 있을 것입니다.
    그럴때 첫 댓에 단 것으로 해당 코드를 감싸주면 됩니다.

    jQuery(function ($) {
    기존 $를 사용한 jquery 스크립트
    });

    이렇게요.
    이렇게 하면 가장 바깥의 jQuery로 이 안의 function은 jquery라는 것을 알려줬고, 괄호안에 $를 넣어서 그 안의 $를 jquery로 동작시켜. 뭐 이런 겁니다.

  • profile profile
    아하 그렇군요.
    그러고보니 $와 jQuery 에 관해서 몇해전 좀 공부를 한것도 같습니다 만, 워낙 공부안한지가 오래되어서 까먹고 있었던거같습니다.

    매번 이렇게 도움만 받고 있네요.
    언젠간 갚을날 오겠죠?

    모두모두 좋은날들 되세요 ^^
  • profile profile
    XE에서 $와 겹치는 부분은 없는데 그냥 그렇게 해놓았습니다 ㅡ.ㅡ

    제대로 알아보지 않은 일부 서드파티 개발자들이 jQuery가 로딩되지 않은 줄 알고 수동으로 또 로딩하곤 하는데, 그러면 예전에 로딩된 플러그인이 모두 초기화되기 때문에 이 글에서 말씀하신 것 같은 문제가 생깁니다.

    아무튼 jQuery 변수명 때문에 자꾸 문제가 생기는 것 같아서, $라고 부를 수 있도록 pull request를 작성해 놓았습니다. 한 줄만 지우면 되는데 이것 때문에 너무 많은 분들이 고생을 하네요.

    https://github.com/xpressengine/xe-core/pull/2262
  • profile profile
    기진곰님도 감사합니다. 많은 도움이 되었습니다.
    (ps : 처음에 '가진곰'님인줄 알았습니다. 죄송해요}
  • profile profile
    헐........
    전 뭔가 있는 줄 알았어요.
    이미 jquery로 만들어진 것들이 많으니 jquery랑 $랑 둘다 사용할 수 있으면 좋겠네요.
  • profile profile
    아니! 커뮤니티에서는 유머와 재치로 댓글을 작성하지 않으시고 깃헙에는 유머와 재치로 쓰시는 군요. 하하하
  • profile profile
    가진 거 없습니다 ㅜㅜ
  • profile profile
    원래 둘다 사용할 수 있는 게 기본값입니다. XE에서 일부러 $ 변수를 지운 거예요.
  • profile profile
    아하!!!!
    그렇군요!!!

    오늘도 하나 배워갑니다!
  • profile
    두분 모두 화잇팅!입니다 ^^
  • profile
    gitHub 에 이 이슈관련 내용이 있네요.
    무슨말인지 몰라도 궁금해서요 ㅎㅎ

서버에 요청 중입니다. 잠시만 기다려 주십시오...