我是一个coffeescript newbee想要在一个客户端视图上使用多个jquery滑块。我想将幻灯片事件用于多个功能。滑块显示,该值显示在开始时,滑块可用,但不使用该事件。
class Slider
constructor: (@min, @max, @value, @id) ->
d3.select(@id).attr("style", "width: 500px; margin: 15px;")
@myslider = $(@id).slider
min: @min
max: @max
value: @value
$(@id).bind
slide: @slideme
slideme: (event, ui) =>
$(@id +"_data").val(@value)
$(document).ready ->
slider1 = new Slider(0,800,100,'#testslider')
$("#testslider_data").val($("#testslider").slider("value"))
使用滑块时,我需要做什么才能获得html中显示的幻灯片的值?
答案 0 :(得分:0)
你的缩进是关闭的。这样:
$(@id).bind
slide: @slideme
应该是这样的:
$(@id).bind
slide: @slideme
或:
$(@id).bind slide: @slideme
或我个人最喜欢的:
$(@id).bind(slide: @slideme)
CoffeeScript对空白和格式非常敏感,您的格式定义了代码的大部分结构,因此必须要小心和一致;你正在为缩进混合一个和两个空格,这只会造成麻烦。
您的原始代码:
constructor: (@min, @max, @value, @id) ->
#...
$(@id).bind
slide: @slideme
将会是这样的:
constructor: (@min, @max, @value, @id) ->
#...
$(@id).bind
slide: @slideme
因此,用于slide: @slideme
的{{1}}参数看起来像是该类的另一个属性,它将最终作为此JavaScript:
bind
将代码粘贴到coffeescript.org的 TRY COFFEESCRIPT 面板中,您将看到它对您的CoffeeScript意味着什么。