Что я хочу попробовать, так это заставить div #box
перемещаться/прокручиваться вверх и вниз внутри его родительского элемента #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>