在div上使用鼠标滚动来触发动画?

时间:2012-02-04 23:12:51

标签: javascript jquery animation scroll mouseevent

<div class="page">
      div content
</div>

<script>

if( scroll mouse up while hovering #page )
$('.page').animate({'left':'+40px'});

if( scroll mouse down while hovering #page )
$('.page').animate({'left':'-40px'});

</script>

我想做类似上面的例子。有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用this mousewheel plugin然后:

$('.page').mousewheel(function(event, delta) {
    event.preventDefault(); // if you want to prevent the window from scrolling

    $(this).animate({left: (delta>0 ? '+' : '-')+'40px'});
});

答案 1 :(得分:0)

您可以使用本机scroll() jQuery函数检测上下滚动,如下所示:

var tempScrollTop, currentScrollTop = 0;

$('#div').scroll(function () {
    currentScrollTop = $('#div').scrollTop();
    if (tempScrollTop < currentScrollTop) {
        // UP
    } else if (tempScrollTop > currentScrollTop) {
        // DOWN
    }
    tempScrollTop = currentScrollTop;                   
}

取自http://api.jquery.com/scroll/

中的评论