2017-10-09 7 views
0

https://jsfiddle.net/y6p9pLpb/1/ザラの商品画像の機能私はザラの製品の機能を複製しようとしている

$(function() { 
    $('.product-wrapper a').click(function() { 
    $('.image-zoom img').attr('src', $(this).find('img').attr('src')); 
    $('.image-zoom').show(); 
    $('.product-wrapper').css('display', 'none'); 
    return false; 
    }); 

    $('.image-zoom').mousemove(function(e) { 
    var h = $(this).find('img').height(); 
    var vptHeight = $(document).height(); 
    var y = -((h - vptHeight)/vptHeight) * e.pageY; 

    $('div img').css('top', y + "px"); 
    }); 

    $('.image-zoom').click(function() { 
    $('.image-zoom').hide(); 
    $('.product-wrapper').css('display', 'block'); 
    }); 
}); 

があります:私はそれはほとんど私が見つけたjsfiddleから作業してい https://www.zara.com/es/en/woman/outerwear/view-all/tweed-coat-with-metal-buttons-c733882p5205048.html

を(製品画像をクリックしてください)私が解決できない唯一のこと。

イメージをクリックして展開すると、カーソルを基準にしてそれぞれの位置に合わせてジャンプします。

私はそれを解決する方法はありますか? Zaraのように... あらかじめありがとう!

+0

大規模なビューにまっすぐジャンプするのではなく、何らかの移行を望みますか? –

+0

私の問題は、画像が既に展開されていて初めてカーソルを移動したときに発生します。カーソルの位置に合わせて画像の位置(「ジャンプ」)が再調整されます。 –

+0

ああ、それを動作させるには、削除する必要のあるセクションが1つだけあります。私は答えで削除するものを掲示しました。 –

答えて

0

問題は、イメージを移動するとカーソルにジャンプすることです。これはあなたが探しているものを行うはずです!

https://jsfiddle.net/8z67g96b/

私はちょうどあなたがサムネイルをクリックしたときに呼び出す関数としても位置変更を勃発、そして - そのように、画像はすでにそれが最初に表示されたときに、それに影響を与えるカーソルの位置を有します。バイオリンで

+0

あなたは私のヒーローです!それは完璧に動作します!おかげでウィル! –

+0

問題ありません、喜んで助けてください! – will

+0

最後の質問が1つあります。スクロールして(例えば、コンテンツがより大きくなるように2番目の画像を持っている場合など)、ジャンプの効果が再び起こるようです。 (1.下にスクロールする/ 2.画像をクリックする/ 3.画像をジャンプする)何が良いのでしょうか? jsfiddle.net/8z67g96b/1 –

0
function zoomTracking(event){ 
    var h = $('.image-zoom img').height(); 
    var vptHeight = $(document).height(); 
    var y = -((h - vptHeight)/vptHeight) * event.pageY; 
    $('.image-zoom img').css('top', y + "px"); 
} 

$('.product-wrapper a').click(function(e) { 
$('.image-zoom img').attr('src', $(this).find('img').attr('src')); 
$('.image-zoom').show() 
zoomTracking(e); 
$('.product-wrapper').css('display', 'none'); 
return false; 
}); 

$('.image-zoom').mousemove(function(e) { 
zoomTracking(e); 
}); 

、それはマウスの位置と画像の幅/高さに関連するセクションを有する:

$('.image-zoom').mousemove(function(e) { 
    var h = $(this).find('img').height(); 
    var vptHeight = $(document).height(); 
    var y = -((h - vptHeight)/vptHeight) * e.pageY; 

    $('div img').css('top', y + "px"); 
    }); 

は単にこの部分を削除し、それが任意の移動を行うことはありませんマウスで、単にonClickを展開します。

関連する問題