如何实现回调函数或处理程序选项

时间:2013-07-18 22:04:10

标签: javascript

当用户处于parralax页面的不同级别时,我使用航点(http://imakewebthings.com/jquery-waypoints/#shortcuts-examples)和绿色摇滚(http://www.greensock.com/)来触发某些元素的移动。

function mover(speed, targetx, targety) {
    TweenMax.to($(".four"), speed, {x:targetx, y:targety});
    console.log("waypoint reached");
    alert("Down")
}

被称为:

$(".three").waypoint(mover($(".four"), 1, 32, 32));

然而,javascript控制台不断给我这个消息(尽管一切都在视觉上完美运行)

Uncaught Error: jQuery Waypoints needs a callback function or handler option.   jquery.js:4
x.extend.error jquery.js:4
$.fn.(anonymous function) waypoints.js:360
(anonymous function) scroll.js:15
c jquery.js:4
p.fireWith jquery.js:4
x.extend.ready jquery.js:4
q

我尝试过返回“true”,但错误并没有消失。如何将回调函数或处理程序选项集成到我的函数中?

2 个答案:

答案 0 :(得分:0)

如果你invoke it without a callback or parameter,Waypoints会抛出错误。生活中的一个目的是当你向上或向下滚动到元素时做某事。

如果您的代码正在执行您需要它执行的操作,那么您可能根本不需要路标。

你可以发布竞争代码,或者至少是一个完整的例子来调用航点吗?

答案 1 :(得分:0)

正如most_perl_guy所说,你需要在调用waypoint()时定义一个回调函数:

http://jsfiddle.net/FPzUy/1/

$(function() {

            // this works
    $('#w').waypoint(function() {
        console.log('hello');
    });

            // this fails
    $('#w2').waypoint();

});