Pengguna:Kurniasan/effects.js
Catatan: Selepas menyiarkan perubahan, anda mungkin perlu memintas cache pelayar untuk melihatnya.
- Firefox / Safari: Tahan Shift sambil mengklik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
- Internet Explorer / Edge: Tahan Ctrl sambil mengklik Refresh, atau tekan Ctrl-F5
- Opera: Tekan Ctrl-F5.
//Based on http://stackoverflow.com/questions/610406/javascript-equivalent-to-printf-string-format
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match;
});
};
if ($(".hasEffect").length > 0) {
for (i=0; i<$(".hasEffect").length; i++) {
var obj = $(".hasEffect")[i];
var delay;
var classList = obj.classList;
var effect = "$(\".hasEffect.";
for (x=0; x<classList.length; x++)
effect += "." + classList[x];
effect += "\")";
for (j=1; j<classList.length; j++) {
if (parseInt(classList[j]))
continue;
if (parseInt(classList[j+1])) {
delay = parseInt(classList[j+1]);
} else if (classList[j+1] == 'slow' || classList[j+1] == 'fast') {
delay = "'{0}'".format(classList[j+1]);
} else {
delay = "'slow'";
}
effect += ".{0}({1})".format(classList[j], delay);
}
try {
//TODO: Enable effects to be continuous
eval(effect);
} catch (exp) {
//TODO: Handle exceptions
}
}
}