- 1
this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}
Наткнулся в старом, но ещё работающем коде. Может быть, это даже я написал. Надеюсь, что нет.
…Нет, похоже, всё-таки не я. Я бы не назвал класс подсвеченного элемента hilited, даже десять лет назад. Похоже, это босс писал.
+143
_save = (data, callback) ->
tags = if data.tags then data.tags else []
removed_tag_ids = if data.removed_tag_ids then data.removed_tag_ids else []
post = if data.post then data.post else null
new_tags = _.filter tags, (tag) ->
not _.has(tag, "label")
old_tags = _.filter tags, (tag) ->
_.has(tag, "label")
$.when(_.each old_tags, (old_tag) =>
tag_post.save({tag: tag, post: post})
).done(=>
do callback
)
Обратились с вопросом "почему не работает".
PS метод save асинхронный
+142
if ((subchannel == undefined || "none") && (subsubchannel == undefined || "none")) {
subchannel = channel;
subsubchannel = subchannel;
} else if ((subchannel != undefined || "none") && (subsubchannel == undefined || "none")) {
subsubchannel = subchannel;
} else if ((subchannel == undefined || "none") && (subsubchannel != undefined || "none")) {
subchannel = channel;
} else {
subchannel = subchannel;
channel = channel;
}
Скопировал из похожего проекта не глядя, и потом удевляюсь что херня получается. А там ведь как-то работает, бля...
+142
function ValidateSignupData()
{
var username = $('#signup-name').val();
var password = $('#signup-password').val();
var password_confirm = $('#signup-password-confirmation').val();
var email = $('#signup-email').val();
var type_payment = $('#signup-payment').val();
var card_numb = $('#signup-numb').val();
if(username.length()>0) {
if(password.length()>0) {
if(password_confirm.length()>0) {
if (password == password_confirm) {
if(card_numb.length()>0 && card_numb.length()<14) {
}
else {
$('#message-signup').text('Поле "Номер карты" слишком короткое');
}
}
else {
$('#message-signup').text('Пароли не совпадают');
}
}
else
{
$('#message-signup').text('Поле "Подтверждение пароля" не заполнено');
}
}
else
{
$('#message-signup').text('Поле "Пароль" не заполнено');
}
}
else {
$('#message-signup').text('Поле "Имя" не заполнено');
}
}
Простейшая валидация формы.
+165
<% var telString = data.phone.toString(); %>
<p class="mb0">Phone: <a class="mb0" itemprop="telephone" rel="dofollow"><%= "("+telString[0]+telString[1]+telString[2]+") "+telString[3]+telString[4]+telString[5]+"-"+telString[6]+telString[7]+telString[8]+telString[9] %></a></p>
<% } %>
data.phone - телефон в виде "0951112222".
Нужно привести к виду (095)111-2222.
+147
$(function() {
// Калькулятор
function calculate(el,btn){
// Запоминаем данные
//-----------------------------------------------------------------------------------------------------------------
var priceAtribut = 'data-val'; // Атрибут с ценами у блоков
var cartTotal = $('.total_price p'); // Елемент
var elem = {
parentModule : $(el).parents('cart'), // Родительский блок корзины
btn : $(btn), // Текущая кнопка которая была нажата
inpt : $(el).find('.input-counts'), // Инпут с колличеством
priceBase : $(el).find('.string-elem-price-base'), // Базовая цена товара
priceTotal : $(el).find('.string-elem-price-total') // Общая сумма товара
};
//функция: проверка колличества товаров, если к-во = 0, прекращаем работу скрипта
//-----------------------------------------------------------------------------------------------------------------
(function checkCounts () {
var thisCounts = (elem.inpt.val() - 0) + (elem.btn.attr(priceAtribut) - 0);
if(thisCounts != 0) {goCheck(thisCounts)}
}());
//функция: Калькуляции и пересчета!
//-----------------------------------------------------------------------------------------------------------------
function goCheck (counts) {
// Запись колличества в инпут текущего товара
elem.inpt.val(counts);
// Запись общей суммы текущего товара, исходя из количества
elem.priceTotal.html( counts * (elem.priceBase.attr(priceAtribut) - 0) );
// Запись общей суммы текущего товара, исходя из количества в атрибут datavalue
elem.priceTotal.attr( priceAtribut, counts * (elem.priceBase.attr(priceAtribut) - 0) );
checkTotalSumm();
}
// Функция которая делает общий пересчет общей суммы каждого товара, и записывает результат.
//-----------------------------------------------------------------------------------------------------------------
function checkTotalSumm () {
var totalSumm = 0;
$('.'+elem.priceTotal.attr('class')).each(function(){
totalSumm += $(this).attr(priceAtribut) - 0;
});
cartTotal.html(totalSumm);
}
}
// Запуск функции калькулятора
$('.number button').click(function() {
calculate($(this).parents('.item'),this);
});
});
Я только начинаю углубляться в JS, хотелось бы узнать мнение профи, насколько это говнокод!
+173
//flag ? flag=false : flag=true;
//оптимизировал
flag = flag == false? true : false;
Тогл флага
+155
<button type="button" title="<?=GetMessage("Detail")?>" class="button btn-detail" onclick="setLocation('<?=$arElement["DETAIL_PAGE_URL"]?>')">
<span>
<span><?=GetMessage("Detail")?></span>
</span>
</button>
Битрикс. К вопросу о том, почему не стоит покупать готовые шаблоны.
+162
<div onclick="selectHoveer($('#type_tr2'));">
Учитесь щенки как передавать элементы в функцию
+161
// Блок "Наши партнеры"
if ($('#our_partners_links2').length) {
if ($('#our_partners_links2').html().match(/^\s*<\!\-\-[^<>]*\-\->\s*$/)) $('#our_partners_links1').hide();
};
Парсим собственный DOM регулярками. http://www.gay.ru/misc/js/gay/init_main.js