协助翻译JS到CLJS
Assistance translating JS to CLJS
我在JS中开发了一个简单的节拍器,作为JS练习,也是出于需要。它可以在这里找到:https://github.com/Greduan/js-metronome/blob/master/js/main.js
我在一定程度上把它翻译成了CLJS:
(ns mies-2.core
(:use 'createjs.Sound))
(def assetsPath "assets/")
(def manifest [{:src "Click1.ogg|Click1.mp3" :id 1} {:src "Click2.ogg|Click2.mp3" :id 2}])
(.registerManifest createjs/Sound [manifest assetsPath])
(defn stop []
((js/clearInterva(intervalID))
(.stop createjs/Sound [])
(.log js/console "Stopped sound(s).")))
(defn playSound [target]
; v FIX
((def instance (.play createjs/Sound [target.id (.INTERRUPT_NONE createjs/Sound []) 0 0 false 1]))
; v FIX
(or (== instance nil) (== instance.playState (.PLAY_FAILED createjs/Sound)) nil)
(.log js/console ["Played sound ID:" target.id])))
(defn soundLoop [soundID]
; v FIX
((def bpmInput (.querySelector js/document ["[name='"bpm'"]"] .value))
(def bpm (/ 60000 bpmInput))
(.log js/console ["Input:" bpmInput "Delay:" bpm])
(def intervalID (js/setInterval [fn [] (playSound [soundID]) bpm]))))
我在评论中指出了我需要帮助的地方,比如FIX
.:)
基本上是thing.function.value
或类似的系统,特别是将document.querySelector('[name="bpm"]').value
翻译成CLJS。
变量,有一个variable.value
系统,我如何用CLJS实现这一点?
给我指一个正确的方向就足够了,我非常感激
我已经将您的js应用程序转换为cljs并创建了一个存储库:https://github.com/edbond/cljs-metronome如果它对你不起作用,请告诉我。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- 协助翻译JS到CLJS