2012-03-11 12 views
1

私はこのように動作するウェブサイトを作成しようとしています。 Screenshot

ウェブサイトのショーは大きな画像の一部だけだとあなたがイメージ上にマウスを移動するときに画像を移動することができます(左のマウス - >画像が右に移動)画像の選択のみを表示+「ホバー移動の効果」

最良の方法は何ですかそれをするために?私はまた、2枚の写真を切り替えることもできます。あなたの応答に基づいて

+3

jQuery UIプラグインを使用し、draggable()を利用することをお勧めします。次に、不透明度、Z-インデックス、およびフェーディング技術を使用して、必要なものを実現します。何をするにしても、このソリューションのアニメーション機能を使用しないでください。私はあなたの眠りの中であなたを見つけるでしょう。 *デモ/ドキュメントへのリンクを提供するために編集* http://jqueryui.com/demos/draggable/ – Ohgodwhy

+1

@Ohgodwhy:これは*私が今までにこのサイトで見たアドバイスを提供する*最も*不吉な*手段でなければなりません。 ..「彼は彼の眠りを見つける」? ...今は*怖くて眠れない。 =/ –

+1

はい。私は彼を眠りにつかむでしょう。彼を目覚める。彼の方法を変えるように強制する! – Ohgodwhy

答えて

1

、あなたはThis Link

は、あなたが望んでいた正確な機能を提供すると述べました。そのサイトに基づいて、これはこれを維持するために使用するコードです。

// enable the zoominess 
    if(image.originalWidth > wrapperWidth){ 
    $(settings.activeImageId).width(wrapperWidth).height(wrapperHeight).hover(function(){ 
     // zoom in 
     $(this).addClass('zoomed').width(image.originalWidth).height(image.originalHeight); 
     $activeWrapper.mousemove(function(e){ 
     var localX = ~~(((e.pageX - $activeWrapper.offset().left)/wrapperWidth) * 100); 
     var localY = ~~(((e.pageY - $activeWrapper.offset().top)/wrapperHeight) * 100); 
     if(localY > 100){ localY = 100; } 
     var fromLeft = (image.originalWidth - wrapperWidth) * localX/100; 
     var fromTop = (image.originalHeight - wrapperHeight) * localY/100; 
     //console.log(fromLeft,' :: ', fromTop); 
     $(settings.activeImageId).css('left', -fromLeft+'px').css('top', -fromTop+'px'); 
     }); 
    }, 
    function(){ 
     // zoom out 
     $(this).removeClass('zoomed').width(wrapperWidth).height(wrapperHeight); 
     $activeWrapper.unbind('mousemove'); 
    }); 
    } 
} 

そして、彼らが使用します。

#active-wrapper .zoomed { 
    left: 0; 
    position: absolute; 
    top: 0; 
} 

要素の位置を制御します。

+0

かなり良い作品!ちなみに、〜はどういう意味ですか? – Backslash

+0

正直?何も思いつきません。私は〜はビット演算子でビットを反転させることを知っています。 ~~は私の範囲を超えています。申し訳ありませんブラム。 – Ohgodwhy

関連する問題