07 12 / 2011
Adventure of writing jQuery code with CoffeeScript
I wanted to give CoffeeScript a try and decided to give it a go on current jQuery project. Below is a sample of the code.
CoffeeScript Code
$ ->
###
--- Variables Init
###
menuStatus = false
newAlertsMenu = false
###
--- Show Main Menu
###
$("a.showMenu").live 'tap', ->
if !menuStatus then $(".ui-page-active").animate
marginLeft: "165px", 280, ->
menuStatus = true
return false
else
$(".ui-page-active").animate
marginLeft: "0px", 280, ->
mentuStatus = false
return false
return
###
--- Show New Alerts Panel
###
$("a.headerAlerts").live 'tap', ->
if !newAlertsMenu then $("body").addClass("activeMenu"); $("#newAlerts").css("display", "block"); $(".ui-page-active").animate
left: "-200px", 280, ->
newAlertsMenu = true
return false
else
$(".ui-page-active").animate
left: "0px", 280, ->
newAlertsMenu = false;
$("body").removeClass("activeMenu");
$("#newAlerts").css('display','none');
return false
return
Generated jQuery Code
$(function() {
/*
--- Variables Init
*/
var menuStatus, newAlertsMenu;
menuStatus = false;
newAlertsMenu = false;
/*
--- Show Main Menu
*/
$("a.showMenu").live('tap', function() {
if (!menuStatus) {
return $(".ui-page-active").animate({
marginLeft: "165px"
}, 280, function() {
menuStatus = true;
return false;
});
} else {
return $(".ui-page-active").animate({
marginLeft: "0px"
}, 280, function() {
var mentuStatus;
mentuStatus = false;
return false;
});
}
});
return;
/*
--- Show New Alerts Panel
*/
$("a.headerAlerts").live('tap', function() {
if (!newAlertsMenu) {
$("body").addClass("activeMenu");
$("#newAlerts").css("display", "block");
return $(".ui-page-active").animate({
left: "-200px"
}, 280, function() {
newAlertsMenu = true;
return false;
});
} else {
return $(".ui-page-active").animate({
left: "0px"
}, 280, function() {
newAlertsMenu = false;
$("body").removeClass("activeMenu");
$("#newAlerts").css('display', 'none');
return false;
});
}
});
});
Permalink 16 notes