私が試してみたいことは、移動方法に応じて、#box
親要素内で div を上下に移動/スクロールさせることです。 #wrapper
mousewheel
mousewheel
に基づいて が上下に移動するタイミングを認識できるようにしましたがdelta
、理解できないのは#box
、マウスホイールが上に移動したときに を実際のピクセル (速度ではなく) 量で動的に移動させる方法です。またはダウン。
jQuery とこのマウスホイール プラグイン http://brandonaaron.net/code/mousewheel/docsを使用しています。
この例をhttp://jsfiddle.net/sSrvv/に設定しました
JS
$(document).ready(function(){
$('#box').bind('mousewheel' , function(event,delta){
var pixelVal = 0;
if (delta > 0) {
// mousewheel going up
// pixelVal = amount of pixel #box should move;
$('#box').css('WebkitTransform' , 'translate(0px, -'+ pixelVal +'px)');
}else {
// mousewheel going down
// pixelVal = amount of pixel #box should move;
$('#box').css('WebkitTransform' , 'translate(0px, '+ pixelVal +'px)');
};
});
});
CSS
#data {
position: fixed;
top: 10px;
right: 10px;
border: 1px solid #333;
padding: 10px;
}
#wrapper {
position: fixed;
top: 0;
left: 0;
width: 300px;
height: 600px;
background-color: #ffff00;
}
#box {
position: relative;
width: 100%;
height: 300px;
background-color: #000;
}
HTML
<div id="data">put data here</div>
<div id="wrapper">
<div id="box"></div>
</div>