How To Image Zoom When Your Mouse Moving

You can zoom any image in your HTML website using this code. I think using this feature will make your template look more attractive. You can customize it as you wish.

So Let’s Go…


<div class="zoom-image-area">
     <div class="container">
           <div class="product-img-main" data-scale="1.7" data-image="assets/images/shop/shop-img-10.webp"></div>


.product-img-main {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 640px;
        float: left;
        margin-bottom: 15px;
    .product-img-main__image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-position: center center;
        background-size: cover;
        cursor: zoom-in;
        background-repeat: no-repeat;
        transition: -webkit-transform .5s ease-out;
        transition: transform .5s ease-out;
        transition: transform .5s ease-out,-webkit-transform .5s ease-out;


//Zoom Image
    // tile mouse actions
    .on('mouseover', function(){
        $(this).children('.product-img-main__image').css({'transform': 'scale('+ $(this).attr('data-scale') +')'});
    .on('mouseout', function(){
        $(this).children('.product-img-main__image').css({'transform': 'scale(1)'});
    .on('mousemove', function(e){
        $(this).children('.product-img-main__image').css({'transform-origin': ((e.pageX - $(this).offset().left) / $(this).width()) * 100 + '% ' + ((e.pageY - $(this).offset().top) / $(this).height()) * 100 +'%'});
    // tiles set up
        // add a image container
        .append('<div class="product-img-main__image"></div>')
        // set up a background image for each tile based on data-image attribute
        .children('.product-img-main__image').css({'background-image': 'url('+ $(this).attr('data-image') +')'});


Leave a Reply

Your email address will not be published. Required fields are marked *