在页面滚动时使用滚动值更新对象?

时间:2014-04-15 10:47:04

标签: javascript jquery html5 canvas

所以我认为这很容易但是考虑一下,我无法找到将更改滚动值传递给对象的方法吗?

以下是我尝试实现https://www.fbf8.com/注意事项的示例,当您滚动多边形对象时,会根据滚动值对其进行操作。是的我假设他们正在使用three.js或者我正在使用的插件FSS.js(可能是自定义的)我稍后会检查源代码,但那不相关它只是一个例子。

就像我说我使用的是FSS.js,这里是FSS.plane

的一个实例
var geometry = new FSS.Plane(1600, 835, 6, 15);

我试图找到一种方法来向构造函数传递一个更改值(scrollPos)。

所以我希望我现在有意义,这是一个无用的例子,但应该激发我的角度。

var pos = 0;
$(document).scroll(function() {
    pos = $(document).scrollTop();
});

var geometry = new FSS.Plane(1600, 835, pos, 15);

2 个答案:

答案 0 :(得分:0)

尝试将启动功能放在滚动功能

$(document).scroll(function() { var pos = $(document).scrollTop(); var geometry = new FSS.Plane(1600, 835, pos, 15); });

答案 1 :(得分:0)

我认为迈克尔生成的代码是正确的。唯一需要做的是在滚动时更新geometry(而不是像Ronnel所说的那样重新创建对象)。

查看您的FSS.Plane对象并搜索updatePosition方法并在pos = $(document).scrollTop();之后调用

如果这不起作用,那么scrollTop方法可能总是返回相同的东西。取决于您使用document

指出的内容