![](/img/trans.png)
[英]Javascript button onclick event to call function inside function in module
[英]Call function inside module on javascript?
我正在启动一个使用 three.js 库的项目,我还将使用一个视差库。 3D 效果只是装饰性的,但视差会触发它。
我修改了这个例子并且对我来说很好用:演示: https://threejs.org/examples/#webgl_geometry_text_shapes代码: https://github.com/mrdoob/three.js/blob/master/examples/webgl_geometry_text_shapes.html
...但我需要将每个部分的标题(当用户通过向下滚动输入时)发送到 3D 脚本代码,并且它在模块内关闭。
……怎么办? 我是 three.js 和模块的新手,并希望保持原样的视差(模块外,因为它是一个众所周知的库和开发项目的一部分)
也许正确的方法是转换示例代码,没有模块......但我迷失了......例如,模块中JS的起始部分是:
import * as THREE from 'three';
import { OrbitControls } from './jsm/controls/OrbitControls.js';
import { SVGLoader } from './jsm/loaders/SVGLoader.js';
import { FontLoader } from './jsm/loaders/FontLoader.js';
...没有模块/导入怎么办?
提前致谢
==================================
我添加了一个关于我需要(但不起作用)的示例(最大简化):
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js webgl - simple text from json</title>
</head>
<body>
<script type="module">
init();
function init() {
function hi( text) {
alert(text);
}
} // end init
</script>
<script>
init().hi("hi world");
</script>
</body>
</html>
我解决了将代码转换为常规 JS,而不是模块 JS 的问题。
在库 three.js 中,每个控件都有一个模块版本(进入 /jsm 文件夹)和普通 JS 版本(/js 文件夹)。
还将主文件 three.module.js 更改为 three.js 文件。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.