2015-06-25 3 views
1

В настоящее время я использую Elevatezoom для масштабирования изображений моих продуктов. Его базовая функция масштабирования. У меня есть один большой образ, а другие маленькие. Я пишу для этого код. когда вы нажимаете на маленькое изображение, оно заменяется большим изображением. Он изменился правильно, но когда я навел курсор на эту функцию масштабирования изображения, не работая, напишите мой код здесь, вы можете помочь мне.Как заменить изображение Elevatezoom

HTML код

<div class="col-xs-12 col-lg-12"> 
     <img id="main_img" class="img-responsive" src="<?=BASE?>/uploaded_content/product/products_speedboot.jpg" data-zoom-image="<?=BASE?>/uploaded_content/product/products_speedboot.jpg"/> 
    </div> 
    <div class="col-lg-12 margin-top-10class other-pic-gallary"> 
     <div class="col-lg-4 padding-remove-left"><img class="img-thumbnail" src="<?=BASE?>/uploaded_content/product/products_speedboot.jpg" /></div> 
     <div class="col-lg-4 padding-remove-left"><img class="img-thumbnail" src="<?=BASE?>/uploaded_content/product/Sports_Equipment_Fittings.jpg" /></div> 
     <div class="col-lg-4 padding-remove-left"><img class="img-thumbnail" src="<?=BASE?>/uploaded_content/product/products_speedboot.jpg" /></div> 
    </div> 

код сценария

$(document).ready(function(){ 
    $('#main_img').elevateZoom({ 
     zoomType: "inner", 
     cursor: "crosshair", 
     zoomWindowFadeIn: 500, 
     zoomWindowFadeOut: 750 
    }); 

    $('body').on('click','.other-pic-gallary .img-thumbnail',function(){ 
     //console.log($(this).attr('src')); 
     var img_val = $(this).attr('src'); 
     $('#main_img').attr('src',img_val); 
     $('#main_img').attr('data-zoom-image',img_val); 
     $('.zoomWindowContainer div').stop().css("background-image","url("+ img_val +")"); 
     $('#main_img').elevateZoom({ 
      zoomType: "inner", 
      cursor: "crosshair", 
      zoomWindowFadeIn: 500, 
      zoomWindowFadeOut: 750 
     }); 

    }); 

});

+0

может у размножению в скрипку? –

+0

Извините, я не могу этого сделать. потому что elevatezoom не предоставляет онлайн-библиотеку. – Arya

+0

Спасибо за редактирование Брайан. Но предоставление решения намного лучше, чем эти небольшие изменения. в любом случае, спасибо. – Arya

ответ

5

Я сделал демо для вас в FIDDLE

image.on('click', function(){ 
    // Remove old instance od EZ 
    $('.zoomContainer').remove(); 
    zoomImage.removeData('elevateZoom'); 
    // Update source for images 
    zoomImage.attr('src', $(this).data('image')); 
    zoomImage.data('zoom-image', $(this).data('zoom-image')); 
    // Reinitialize EZ 
    zoomImage.elevateZoom(zoomConfig); 
}); 
+0

Спасибо Vaibs, что он работает для меня и действительно благодарит вас за создание этой скрипки. Но у меня сейчас одна проблема. в настоящее время у меня одинаковый размер изображений означает, что нет большого не малого, поэтому я поставил одинаковое изображение на оба тега, а elevatezoom не работает должным образом. можете ли вы проверить это. – Arya

+0

@Amy StackOverflow строго придерживается политики ответа на один вопрос. Пожалуйста, отправьте еще один вопрос и получите ответ. –

+0

Я не мог заставить это работать, пока не нашел на этой странице https://github.com/elevateweb/elevatezoom/issues/8, что это должно быть zoomImage.removeData (изображение, 'elevateZoom'); где в этом случае изображение равно $ ('# main_img') –