我正在尝试将来自JS的this代码片段移植到Coffee,但是在设置超时函数中遇到了忽略代码的问题,在超时时根本没有添加任何类:
$ ->
$('.click').click ->
$span = $(this).closest('span')
$this = $(this)
if $span.hasClass('fa-star')
$this.removeClass 'active'
setTimeout (->
$this.removeClass 'active-2'
), 30
$this.removeClass 'active-3'
setTimeout (->
$span.removeClass 'fa-star'
$span.addClass 'fa-star-o'
), 15
else
$this.addClass 'active'
$this.addClass 'active-2'
setTimeout (->
$span.addClass 'fa-star'
$span.removeClass 'fa-star-o'
), 150
setTimeout (->
$this.addClass 'active-3'
), 150
尝试提取功能,但也没有帮助。
答案 0 :(得分:1)
问题似乎与jQuery代码有关。
这对你的html来说是错误的。
$span = $(this).closest('span')
将其更改为
$span = $(this).children().first()