- 1
var errorIsShown = false; // если уже показана ошибка, то зачем опять показывать сообщение об ошибке (ведь если чего то не так.. то логично, что ошибки ещё будут...)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+162
var errorIsShown = false; // если уже показана ошибка, то зачем опять показывать сообщение об ошибке (ведь если чего то не так.. то логично, что ошибки ещё будут...)
|Mesi
И еще больше замечательных комментариев: http://study.mesi.ru/_layouts/elrportal/assessment/JScript/Other.js
+154
(function () {
if (location.pathname === "/") {
document.body.id = 'front-page';
}
else {
var path = window.location.pathname.replace('/index.php/', ''),
splittedPath = path.split('/') || ['', ''],
category = splittedPath[0],
subcategory = '';
for (var i = 1; i < splittedPath.length; i++) {
subcategory += ('-' + splittedPath[i]);
}
if (category && (typeof category === 'string')) {
document.body.classList.add('page-' + category);
}
if (subcategory && (typeof subcategory === 'string')) {
document.body.classList.add('page-' + subcategory.replace(/^[-]/, ''));
}
}
})();
Сей замысловатый код призван добавить уникальный класс в body для каждой страницы прямо из урла. Предназначалось в качестве костыля для джумлы, так как через пых не работало, а разбираться никто не стал :)
+158
if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/3);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/3);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==1 && document.form.varianty_ustanovki_peremychek.value==3 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (3-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/3);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==1 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
Obrezki=Math.ceil(S*1.44*0.10/4);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4+Obrezki);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==1)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*1.01);
}
else if (document.form.Perimetr_Ud_ispolzuemyy_razmer.value==2 && document.form.varianty_ustanovki_peremychek.value==2 && document.form.shag_profilya.value==2)
{
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0.8);
}
else {
P=Math.ceil(((document.form.dlinna_komnaty.value*2)+(document.form.shirina_komnaty.value*2))*1.05);
document.form.Perimetr_Ud_naimenovanie.value='Профиль UD-27 (4-х метровый) ';
document.form.Perimetr_Ud_kolichestvo.value=Math.ceil(P/4);
document.form.varianty_ustanovki_peremychek_t.value='Соединитель одноуровневый (Краб)';
document.form.varianty_ustanovki_peremychek_p.value=Math.ceil(S*0);
};
Про переменные явно автор не слышал...
+160
var fixGetMoreOrders = function(data){
var i = 0;
$.each(data.resultObject, function(k,v){
i++;
});
if(i>=10){
$('.btnGetOrders').css('display', 'block');
}
if(i<10){
$('.btnGetOrders').css('display', 'none');
}
};
Предыдущему разработчику нужно было посчитать количество ордеров, при том, что поле data['count'] вертается с сервера =)
+156
if ($.browser.msie && $.browser.version < 8) {
$("div.banneritem:gt(0)").remove();
$("#viewnow").remove();
$("#morerealestates").css("margin-top", "-26px");
$("img[align=right]").css("float", "right");
}
else {
setTimeout(function(){
slider();
}, 0);
}
var got = $("div.banneritem:eq(0)").find("#preview").find("a").attr("href");;
var timer = 7500;
var anim = 750;
function slider()
{
setTimeout(function(){
do_slide(0);
setTimeout(function(){
do_slide(1);
setTimeout(function(){
do_slide(2);
setTimeout(function(){
do_slide(2, true);
setTimeout(function(){
do_slide(1, true);
setTimeout(function(){
do_slide(0, true);
slider();
}, timer);
}, timer);
}, timer);
}, timer);
}, timer);
}, timer);
}
function do_slide(v,rev)
{
x = "div.banneritem:eq(" + v + ")";
if(rev==null)
{
$(x).slideUp(anim);
foo = $("div.banneritem:eq(" + (v+1) + ")").find("#preview").find("a").attr("href");
}else
{
$(x).slideDown(anim);
foo = $("div.banneritem:eq(" + (v-1) + ")").find("#preview").find("a").attr("href");
}
if(foo!=null) got = foo;
}
$("#viewnow").click(function(){
window.location=got;
});
Классика, слайдер на 3 елемента, с возавтом ;)
+154
if($('.article-775-gallery')){
$('.article-775-gallery').each(function(){
get_images_by_building_gallery_id($(this).attr('id').replace(/gallery-/g,''));
});
}
/* ************************************************************************************************************** */
function get_building_details_by_property_id(id, size){
$.get(urlprefix + "/ajax/nanar/" + id, function(data){
var desc = jQuery.parseJSON(data);
console.log(desc);
if(desc.street && desc.zip && desc.town){
$('div[id="new-property-entry-id-' + id + '"] .house-item-head').html(desc.street + " <strong>" + desc.zip + " " + desc.town + " </strong>");
$('div[id="new-property-entry-id-' + id + '"] .house__item-descr').text(desc.description);
$('div[id="new-property-entry-id-' + id + '"] img').attr('src', desc.preview + size);
$('div[id="new-property-entry-id-' + id + '"] .verd').text(desc.verd);
$('div[id="new-property-entry-id-' + id + '"] .stard').text(desc.stard);
$('div[id="new-property-entry-id-' + id + '"] .tegund').text(desc.tegund);
$('div[id="new-property-entry-id-' + id + '"] .rooms').text(desc.rooms);
$('div[id="new-property-entry-id-' + id + '"]').slideDown();
}
});
}
if($('div[id^="new-property-entry-id-"]')){
setTimeout(function(){
$($('div[id^="new-property-entry-id-"]')).each(function(){
var size;
if($('div[id^="new-property-entry-id-"] div').hasClass('big-image')){
size = "180x140";
$('.new-property-entry-description').css('width','476px');
$('.time').css('display','block');
}else{size = "322x157";}
get_building_details_by_property_id($(this).attr('id').replace(/new-property-entry-id-/g,''), size);
});
},500);
}
код творит чудеса :), я его побоялся трогать.... знаю что функция на 9 строчке, это некое подобие шаблонизатора
+154
$('.order-form-popup form').on('submit', function (e) {
e.preventDefault();
var data = $(this).serializeArray(),
mainProfilesList = '',
fillingsList = '';
$('.field-name-field-eo-main-profiles .field-item').each(function () {
mainProfilesList += ('<li>' + ($(this).text()) + '</li>');
});
$('.field-name-field-eo-fillings .field-item').each(function () {
fillingsList += ('<li>' + ($(this).text()) + '</li>');
});
data.push({
name: 'profiles',
value: '<ul>' + mainProfilesList + '</ul>'
});
data.push({
name: 'fillings',
value: '<ul>' + fillingsList + '</ul>'
});
data.push({
name: 'number',
value: $('.field-name-field-eo-product-number .field-item').text()
});
data.push({
name: 'qty',
value: $('#qty-input').val()
});
data.push({
name: 'area',
value: $('.field-name-field-eo-area .field-item').text()
});
data.push({
name: 'price',
value: $('.field-name-field-eo-price-without-discount .field-item').text()
});
$.ajax({
url: location.protocol + '//' + location.hostname + '/send-message.php',
type: 'POST',
data: data,
success: function (data, textStatus) {
var msg = '<h3 id="order-form-popup-msg" style="text-align: center; margin-top: 50%;">Заявка успешно отправлена.<br /> Спасибо!</h3>'
$('.order-form-popup form, .order-form-popup-title').hide();
$('.order-form-popup').append(msg);
window.setTimeout(function () {
$('.order-form-popup, .order-form-overlay').fadeOut(500);
$('#order-form-popup-msg').remove();
$('.order-form-popup form, .order-form-popup-title').show();
}, 3500);
},
error: function (jqXHR, textStatus, errorThrown) {
//for debugging
}
});
});
Сериализация данных из полей, находящихся вне формы.
+154
Ext.define('Block', {
config: {
title: 'default',
desc: 'default'
},
constructor: function (config) {
this.initConfig(config);
},
tpl: new Ext.Template( '<div class="block">\
<div class="close">×</div>\
<div class="wrapper">\
<h3 class="title">{0}</h3>\
<p class="desc">{1}</p>\
</div>\
</div>'),
create: function(){
var div = new Ext.dom.Element(document.createElement('div')),
html = this.tpl.apply([
this.title,
this.desc
]);
div.setHTML(html);
return div.first();
}
});
var form = Ext.get('form'),
blocks = Ext.get('blocks');
form.addListener('submit', function(e, me){
e.preventDefault();
var title = me.elements.title.value,
desc = me.elements.desc.value,
blockInstance = Ext.create('Block');
blockInstance.setTitle(title);
blockInstance.setDesc(desc);
var blockElement = blockInstance.create();
blocks.appendChild(blockElement);
blockElement.select('.close').addListener('click', function(){
blockElement.remove();
});
me.reset();
});
Реализация минимального todo app на ExtJS. Переписывалась с чистого js ради эксперимента.
+156
if('false' == 'true') {
var anm= '';
anm = anm.split(",");
var rd = jQuery(this).jqGrid('getRowData', id);
if(rd) {
for(var i=0; i<anm.length; i++) {
if(rd[anm[i]]) {
data[anm[i]] = rd[anm[i]];
}
}
}
}
+160
if (deltaLeft == 1) {
left -= 16;
} else if (deltaLeft == 2) {
left -= 36;
} else if (deltaLeft == 3) {
left -= 52;
} else if (deltaLeft == 4) {
left -= 68;
} else if (deltaLeft == 5) {
left -= 84;
} else if (deltaLeft == -1) {
left += 16;
} else if (deltaLeft == -2) {
left += 36;
} else if (deltaLeft == -3) {
left += 52;
} else if (deltaLeft == -4) {
left += 68;
} else if (deltaLeft == -5) {
left += 84;
}
if (deltaTop == 1) {
top -= 30;
} else if (deltaTop == -1) {
top += 27;
} else if (deltaTop == -2) {
top += 50;
} else if (deltaTop == 2) {
top -= 55;
}
И снова привет передают магические числа.