jQuery 충돌 문제 채택완료
1일전 즉, 14일에 '상품 큰이미지가 안보여요' 라는 질문을 등록했었습니다.
그런데 인터넷을 뒤지다가 결국은 문제점을 찾았고 해결책 또한 찾았습니다.
원래는 상품 상세페이지에 상품 큰이미지가 보이질 않았었습니다. 큰 상품이미지의 li가 display:none로 되어 있고 여기에 display:block 속성을 가진 .vasible 이라는 클래스를 마우스 오버시마다 추가해 주는 스크립트 문제라고 판단하고,
hesd_sub.php 에 선언된 스크립트를 하나씩 지우며 확인을 했습니다.
원래 원본에서 선언된 js는 아래와 같습니다.
if (defined('_SHOP_')) {
if(!G5_IS_MOBILE) {
?>
}
} else {
?>
그리고 제가 추가로 선언한 js는, 위 선언 밑으로 아래와 같이 추가하였습니다.
-------> 왜 추가 했는지 모름
----> 메인 비쥬얼 영역의 슬라이드
----> tab 사용을 위해 선언
① 그런데 여기서 가장 위에 있는
를 삭제하니, 상품 상세페이지에 정상적으로 큰 이미지가 나오는 것입니다.
② 왜 위 제이쿼리를 선언했는지 정확히 알수는 없으나 (기억이 가물가물) 위 제이쿼리와의 충돌이라 판단하였습니다.
그래서 인터넷을 뒤져본 결과
③
jQuery.noConflict();
var jq$=jQuery;
라는 코드를 삽입하면 충돌을 피할 수 있다고 하여,
삽입하였으나, 그러자 갑자기 메인 슬라이드와, 영카트5에서 제공하는 배너 슬라이드가 사라져버리는 것입니다.
④ 그래서 선언 순서의 문제인가? 하여, 위 ③번의 코드를 가장 먼저 선언해주었더니 모두 정상 작동하는 것을 확인하였습니다.
------------------------------------------------------------------------------------
여기서, 제가 드리고 싶은 질문은,
①
배너 슬라이드 기능이 jquery 1.9 이상부터 작동하나봅니다.
그렇다고 jquery 1.8를 지우고 jquery 1.9를 사용하시면 영카트 기능 중에 몇가지를 또 에러가 날 수 있습니다.
영카트 기본이 jquery 1.8버전으로 제작이 되었기에 jquery 1.8 버전을 반드시 사용하셔야 합니다.
1.8 버전에서 동작되는 슬라이드기능을 사용하시든 슬리이드 js를 1.8에 맞게 개발하셔야 합니다.
저는 슬라이드 js를 직접 개발하여 사용합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인