- 1
var days_in_april = 32 - new Date(2013, 3, 32).getDate();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+162
var days_in_april = 32 - new Date(2013, 3, 32).getDate();
Получаем число дней в месяце.
А что, менее черезжопинским вариантом этого сделать никак?
+144
genchatmessage: function(text, avatar1, avatar2, time, rtl) {
if (typeof rtl == "undefined") var rtl = false;
if (typeof avatar == "undefined") var avatar = "images/user_male.png";
if (typeof time == "undefined") var time = this.gettime();
var tr = document.createElement("tr");
var td = [document.createElement("td"), document.createElement("td"), document.createElement("td")];
var div = document.createElement("div");
var span = document.createElement("span");
var pre = document.createElement("pre");
span.innerHTML = time;
pre.innerHTML = interface.innerText(String(text));
if (rtl) {
div.className = "chat-message-rtl";
} else div.className = "chat-message";
if (typeof avatar1 == "string") {
var img1 = document.createElement("img");
img1.src = avatar1;
td[0].appendChild(img1);
}
if (typeof avatar2 == "string") {
var img2 = document.createElement("img");
img2.src = avatar2;
td[2].appendChild(img2);
}
+160
function calculateRow(element) {
var qty = element.val();
var price = element.parent().next().next().children().text();
var total = (qty * price).toFixed(2);
$(element).parent().next().next().next().children().first().text(total);
}
+151
var form = jQuery('#' + formId);
jQuery(form).attr('action', s.url);
jQuery(form).attr('method', 'POST');
jQuery(form).attr('target', frameId);
if(form.encoding)
{
jQuery(form).attr('encoding', 'multipart/form-data');
}
else
{
jQuery(form).attr('enctype', 'multipart/form-data');
}
jQuery(form).submit();
Без комментариев.)
+143
$('table.list th').each(function () {
$(this).attr('class', $('> div', this).remove().text()); // хе-хе
});
берем див на первом уровне, удаляем его, читаем с него текст (работает, не ругайтесь) и подставляем его в класс текущему элементу
+163
var z=fggh.getElementsByTagName("*");
for(iii=0; iii<z.length; z++)
if(z[iii].parentNode==fggh){
//z[iii] - непосредственный потомок fggh, и мы с ним что-то делаем!
…
}
Раз народ решил, что я незаслуженно обижаю юниора, то вот вам ещё более шокирующий пример подобного кода от программиста, с которым мы вместе работали несколько лет назад в одной московской фирме. Тут, к сожалению, воспроизвожу по памяти, но очень близко к оригиналу.
+156
if (e.button in [-1, -1, -1]) { // попробуйте теперь сообразите, почему true
e.preventDefault();
var rel = this.rel.split(';'),
fn;
switch (e.button) {
case 0:
fn = 'attr';
break;
case 1:
case 2:
fn = 'removeAttr';
break;
default:
return false;
}
$('td.mod[rel="' + rel[0] + '"] input[rel="' + rel[1] + '"]').each(function () {
if (fn === 'removeAttr' && $(this).attr('rel') === 'view') { // Я маразматик
var parts = /(chk\[\d+\]\[\d+\])\[view\]/.exec(this.id),
p = ['add', 'edit', 'del'],
i;
for (i in p) {
$('#' + parts[1].replace(/[[\]]/g, "\\$&") + '\\[' + p[i] + '\\]')[fn]('checked');
}
}
$(this)[fn]('checked', 'checked');
});
return false;
}
ГК, не?
первая строка вот... текущий проект, сижу с ним на данный момент. Почему захотелось так сделать, объяснить не могу. Но работает, ведь
+145
var detailsTable = document.getElementById("detailsTable").tBodies[0];
var childs = [], j=0;
for (var i = 0; i < detailsTable.childNodes.length; i++)
if (detailsTable.childNodes[i].nodeType == 1){
childs[j++] = detailsTable.childNodes[i];
}
childs[0].childNodes[1].innerHTML = ''
Наткнулся в нашем проекте. Так юниор получал доступ к ячейкам таблицы. Видно, он не знал про коллекции rows и cells.
+152
function TimeViewport(rootElement, container, canvas, minZoom, maxZoom)
{
this.container = container;
this.rootElement = rootElement;
this.lowPassAlpha = 0.38;
this.canvas = canvas;
this.minZoom = minZoom;
this.maxZoom = maxZoom;
this.zoom = minZoom;
this.size = Math.min(1.0, 1.0 / Math.pow(2, this.zoom));
this.left = 0.5 - this.size / 2.0;
this.right = 0.5 + this.size / 2.0;
this.mouse = {
isDown : false,
panning : false,
velocityMode : false,
downPos : {x : 0, y : 0},
movePos : {x : 0, y : 0},
lastMovePos : {x : 0, y : 0}
};
var self = this;
this.filtered = {
"left" : 0.5 - self.size / 4.0,
"right" : 0.5 + self.size / 4.0
};
this.lastRedrawTime = (new Date()).getTime();
this.maxRedrawInterval = 500;
setInterval(function () { if (self.doLowPass != null) self.doLowPass(); }, 17);
this.canvas.onmousedown = function(event) { self.mouseDown(event) };
this.canvas.onmousewheel = function(event) { self.onMouseWheel(event); };
var oldMouseMoveHandler = this.rootElement.onmousemove;
this.rootElement.onmousemove = function (event) {
if (self.mouseMove) self.mouseMove(event);
if (oldMouseMoveHandler != null) oldMouseMoveHandler(event);
};
var oldMouseUpHandler = this.rootElement.onmouseup;
this.rootElement.onmouseup = function (event) {
if (self.mouseUp) self.mouseUp(event);
if (oldMouseUpHandler != null) oldMouseUpHandler(event);
};
var oldMouseLeaveHandler = this.rootElement.onmouseleave;
this.rootElement.onmouseleave = function (event) {
if (self.mouseLeave) self.mouseLeave(event);
if (oldMouseLeaveHandler != null) oldMouseLeaveHandler(event);
};
};
Очередной велосипедик.
+151
if (Scene.generatedFast || (typeof generatedFast != "undefined" && generatedFast) )