我正在学习Coffeescript并尝试将以下JavaScript代码转换为Coffescript(我认为)我几乎就在那里。主要是,我遇到了将timer
和popover_parent
变量设为全局的问题:
$('.some_element').popover(
{
delay: { show: 350, hide: 100 }
}
);
var timer,
popover_parent;
function hidePopover(elem) {
$(elem).popover('hide');
}
$('.some_element').hover(
function() {
var self = this;
clearTimeout(timer);
$('.popover').hide(); //Hide any open popovers on other elements.
popover_parent = self
$(self).popover('show');
},
function() {
var self = this;
timer = setTimeout(function(){hidePopover(self)},300);
});
$('.popover').on({
mouseover: function() {
clearTimeout(timer);
},
mouseleave: function() {
var self = this;
timer = setTimeout(function(){hidePopover(popover_parent)},300);
}
});
这是我到目前为止所做的:
$ ->
$('.some_element')
.popover ->
delay: {show:350, hide: 100}
$ ->
hidePopover = (elem) ->
$(elem).popover('hide')
$('.some_element').hover(
->
self = $(this)
clearTimeout(timer)
$('.popover').hide()
popover_parent = self
$(self).popover('show')
->
self = $(this)
timer = setTimeout(
->
hidePopover(self) 300
)
)
$ ->
$(document).on({
mouseover: ->
clearTimeout(timer)
mouseleave: ->
timer = setTimeout(
->
hidePopover(popover_parent) 300
)
})
任何建议都将不胜感激。
谢谢!
答案 0 :(得分:2)
我不确定您是否知道http://js2coffee.org,但如果它与您的代码一起使用,那么学习如何将Javascript转换为Coffeescript是一种非常快捷的方法。开始喝咖啡时,我经常使用它。
当然,它也会将咖啡汇编成js。