2013-10-24 3 views
0

해당 제품의 색상 변형이있을 때 추천 이미지 아래에 미리보기 이미지가있는 Shopify 스토어가 있습니다. 미리보기 이미지를 클릭하면 추천 이미지가 큰 버전의 미리보기 이미지로 바뀝니다. 이 기능은 일반적인 Chrome, Firefox, Safari에서 잘 작동하지만 IE10에서는 작동하지 않습니다. IE10에서는 축소판을 클릭하면 이미지를 바꾸는 대신 새 창에서 큰 버전이 열립니다.IE10 추천 이미지를 클릭하면 큰 이미지가 새 이미지로 열립니다.

여기 내 HTML입니다 :

{% if product.images.size > 1 %} 
     <ul id="product-photo-thumbs" class="clearfix grid"> 
     {% for image in product.images %} 
     <li class="product-photo-thumb"> 
      <a href="{{ image.src | product_img_url: 'grande' }}"> 
      <img src="{{ image.src | product_img_url: 'small' }}" alt="{{ image.alt | escape }}" /> 
      </a> 
     </li> 
     {% endfor %} 
     </ul> 
     {% endif %} 

그리고 여기 자바 스크립트입니다 :

// Load variant image into feature area 
    $('.product-photo-thumb a').click(function() { 
    var url = $(this).attr('href'); 
    $('#product-photo-container img').attr('src',url); 
    event.preventDefault(); 
    }); 

모든 아이디어 (: P IE 사용을 중단 내 고객을 말하는 제외)? 감사!

+1

JS가 IE에서 제대로 실행되지 않아 이미지를 클릭 할 때 기본 클릭 동작이 발생합니다. 오류 콘솔을보고 (페이지가 변경되면 자체를 삭제하지 않도록 설정하는 것이 좋습니다). ... edit ... 또한 나는 당신이'event.preventDefault()'를 호출하고 있지만 당신의 이벤트 핸들러에서'event' 인자를 선언하지 않고있는 것으로 나타났습니다. 대신에'return false'를 사용하거나'event'를 인수로 추가 할 수 있습니다. – Jasper

답변

1

이 시도 :

// Load variant image into feature area 
$('.product-photo-thumb a').click(function(e) { 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    $('#product-photo-container img').attr('src',url); 
}); 

나는 당신이 두 가지 변수, 키워드 충돌을 피하기 위해 대신 evente를 사용을 필요가 있다고 생각합니다. 실제로 물건을 만들기 전에 preventDefault을 배치하십시오.

관련 문제