我需要在“绑定鼠标滚轮”功能中传递变量,并在用户点击链接时触发该功能。
我只是不知道如何做到这一点,因为我无法在事件处理程序中放置绑定。它只是不起作用。
这是我尝试的方式:
$('.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,但是在这里它应该根据某些事件或事件结果被触发。
答案 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)
如果我得到你想做的事,滚动()将完成工作
$("#overlay").scroll(function(){
// scroll happened !
});