2016-06-13 18 views
0

こんにちは、複数のdivタグを1つのコンテナdiv内に水平に積み重ねる助けが必要です。それぞれ独自のスクロール可能なBKGイメージを備えています。いくつかのシンプルなCSSに添付されたコードは、1番目のdivに最適です。 Probは正しく移動するために他のdivを右に取得できません。 BKG画像は、画面から離れて移動します。 CSSはインラインブロックを使用しています。 Divsはうまく積み重なり、ブラウザのサイズ変更にうまく対応します。マウスイベントがpageXpageYは、ページ全体のエッジから計算されている属性があるためであるマウスを使って背景画像を移動する-CSSとJS - 複数の水平積み重ねDIV

$(".download_content_02").mousemove(function(event) { 

var containerWidth = $(this).innerWidth(), 
    containerHeight = $(this).innerHeight(), 
    mousePositionX = (event.pageX/containerWidth) * 100, 
    mousePositionY = (event.pageY /containerHeight) * 100; 

$(this).css('background-position', mousePositionX + '%' + ' ' + mousePositionY + '%'); 

}); 

答えて

3

。あなたはここにjsfiddle linkがあるdiv.download_content_02

$(".download_content_02").mousemove(function(event) { 
    var containerWidth = $(this).innerWidth(), 
    containerHeight = $(this).innerHeight(), 
    containerOffsetLeft = $(this).offset().left, // container left offset 
    containerOffsetTop = $(this).offset().top, // container top offset 
    mousePositionX = ((event.pageX - containerOffsetLeft)/containerWidth) * 100, 
    mousePositionY = ((event.pageY - containerOffsetTop)/containerHeight) * 100; 

    $(this).css('background-position', mousePositionX + '%' + ' ' + mousePositionY + '%'); 

}) 

のオフセットを減らす必要があります。

希望が必要です。

更新

背景画像の位置をリセットするためにmouseleaveイベントリスナーを追加します。

+0

これは素晴らしく、例を作成する時間をとっていただきありがとうございます。あなたが気にしないなら、イメージをどのようにデフォルトの位置にリセットすることができるか知っていますか?彼らがそれをこする前に、元の位置になったのかもしれません。浮動小数点のような:左か何か似ている? – LeeAlexander

+0

私は 'mouseleave'イベントのための別のイベントハンドラを追加してから、バックグラウンドイメージの位置をリセットすることができると思います。最初は、 'css' background-position'を使ってデフォルトの位置を設定することができます。 –

+0

優秀!ありがとうございました – LeeAlexander

関連する問題