jQuery绑定鼠标滚轮

时间:2013-07-05 00:39:36

标签: jquery data-binding click

我需要在“绑定鼠标滚轮”功能中传递变量,并在用户点击链接时触发该功能。

我只是不知道如何做到这一点,因为我无法在事件处理程序中放置绑定。它只是不起作用。

这是我尝试的方式:

$('.link').click(function(e)
{
   e.preventDefault();

   var nbr=$(this).data('article_nbr');

   $("#overlay").bind("mousewheel", function (event,delta,nbr) 
   {
        ...
        scrollTop = $("#article"+nbr).scrollTop();
        scrollTopNew = scrollTop - (delta * 30);
        ...
   }
});

我可以想象这是完全错误的,但我无法弄清楚得到我需要的正确方法。

到目前为止,我只能在文档准备就绪时使用bind,但是在这里它应该根据某些事件或事件结果被触发。

2 个答案:

答案 0 :(得分:2)

你需要将delta和nbr外部定义为全局变量,然后你可以在里面使用它。

var delta = 10;
var nbr = 'some_value';

$('.link').click(function(e)
{
   e.preventDefault();

   var nbr=$(this).data('article_nbr');

   $("#overlay").bind("mousewheel", function (event,delta,nbr) 
   {
        ...
        scrollTop = $("#article"+article_nbr).scrollTop();
        scrollTopNew = scrollTop - (delta * 30);
        ...
   }
});

答案 1 :(得分:1)

如果我得到你想做的事,滚动()将完成工作

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

$("#overlay").scroll(function(){
    // scroll happened ! 
});