JavaScript 函数中的 JQuery 函数 :: 处理.js.
JQuery function inside JavaScript function :: Processing.js
在以下函数中,当用户在聊天中输入输入时,将触发音频。(它正在工作)
function play_song() {
var id = Song.prototype.lyricsIntersect(input);
var aud = document.getElementById(id);
console.log(id);
aud.play();
//(cont)
(网页)
<form>
<textarea onfocus="clearContents(this);" id="chat" cols="50" rows="5"></textarea>
<button type="button" onclick="play_song();">talk</button>
</form>
<audio id="songName" src="audio/songName.wav" preload="auto"></audio>
在同一个函数中,我有这个JQuery块,用于触发同一首歌曲的相应动画(以编程方式创建处理草图)。
//(cont)
$('#chat').on("onclick", function(event){
console.log(event);
var $canvas = $("<canvas>")
.attr("data-processing-sources", "aud")
.appendTo("body");
});
};
(网页)
<canvas data-processing-sources="sketches/songName.pde"></canvas>
我认为处理草图是attributes
,但我不确定。
问题:
如何将var
aud
传递给JQuery
函数?
对音频和动画使用一个函数是实现目标的最有效方法吗?
这似乎是影响 JavaScript 处理草图的一种非常迂回的方式。你可以只编写直接调用你的处理代码的JavaScript。
处理.js 参考有一个示例,该示例正是这样做的:
从处理代码到 JavaScript 比 反其道而行之,因为 JavaScript 是由 Processing创建的.js 解析器不直接在全局对象上公开。相反,你会得到 使用 Processing.instances 属性进行访问。
处理构造函数跟踪它创建的实例,并且 使它们使用 getInstanceById() 方法可用。默认情况下, 当 具有数据处理源属性时,其 ID 为 用作处理实例的唯一标识符。如果没有 ID 属性,您可以使用 Processing.instances[0]。
在具有对相应处理实例的引用后,您可以 可以像这样调用它:
<!DOCTYPE html> <html> <head> <title>Hello Web - Controlling Processing from JavaScript</title> <script src="processing-1.3.6.min.js"></script> </head> <body> <canvas id="sketch" data-processing-sources="controlling.pde"></canvas> <button onclick="startSketch();"> Start</button> <button onclick="stopSketch();"> Stop</button> <script type="application/javascript"> var processingInstance; function startSketch() { switchSketchState(true); } function stopSketch() { switchSketchState(false); } function switchSketchState(on) { if (!processingInstance) { processingInstance = Processing.getInstanceById('sketch'); } if (on) { processingInstance.loop(); // call Processing loop() nction } else { processingInstance.noLoop(); // stop animation, call noLoop() } } </script> </body> </html>
这里 DOM 中的两个按钮用于允许用户启动或 停止正在运行的处理草图。它们控制处理实例 (您可能在一个页面中有多个,或隐藏在div 中)直接从 JavaScript,调用处理函数:loop() 和 noLoop()。这 处理函数在其他地方有很好的记录。
相关文章:
- 如何让 AJAX 函数处理提交表单
- Jquery onmouseover()函数处理动态html图像和span
- 如何在ajax调用完成之前停止函数处理
- 如何跨多个函数处理Promise
- JavaScript 函数中的 JQuery 函数 :: 处理.js.
- 覆盖 jquery .load() 函数 - 处理回调
- 调用 Javascript 函数处理表单后,HTML 表单未打印到浏览器
- 如果选中单选按钮,则调用函数处理程序
- 我们如何在错误的资源请求的情况下使用 XMLHttpRequest 函数处理程序
- Javascript 对象或函数处理程序的新函数
- 函数处理 mootools.floor 不工作
- 如何将函数处理程序从控制器传递到 AngularJs 中的指令隔离范围
- Javascript闭包和前后函数处理程序
- position()被当作函数处理
- 存储/导入变量&函数处理(JS)
- 如何使用Out回调函数处理JQueryAjax结果
- 在事件上填充数组,并在事件函数处理程序外部访问它
- 如何在JavaScript中从嵌套函数处理程序返回
- 用一个函数处理多个事件
- 通过单个javascript函数处理两个表单