2

我需要在“绑定鼠标滚轮”函数中传递一个变量,并在用户单击链接时触发该函数。

我只是不知道该怎么做,因为我无法在事件处理程序中添加绑定。它只是行不通。

这就是我尝试的方式:

$('.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);
        ...
   }
});

我可以想象这是完全错误的,但我只是想不出正确的方法来获得我需要的东西。

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

4

2 回答 2

3

您需要在外部将 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);
        ...
   }
});
于 2013-07-05T01:07:43.740 回答
1

如果我得到了你想要做的,scroll() 将完成这项工作

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

$("#overlay").scroll(function(){
    // scroll happened ! 
});
于 2013-07-05T00:48:51.420 回答