- 1
- 2
var x = '$$>1 ? eval(x.replace(/\\$\\$/g, $$-1)) + eval(x.replace(/\\$\\$/g, $$-2)) : 1';
eval(x.replace(/\$\$/g, 5))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
var x = '$$>1 ? eval(x.replace(/\\$\\$/g, $$-1)) + eval(x.replace(/\\$\\$/g, $$-2)) : 1';
eval(x.replace(/\$\$/g, 5))
Yo dawg, I heard you like evaluation. So I put evaluation in your evaluation so you could evaluate while you evaluate
Фибоначчи, по мотивам http://govnokod.ru/20105#comment330201 хуйни
−1
$(document).ready(function() {
$('.tab').click(function(){
var tabs = $(this).closest('.tabs');
// Удаляем классы active
$(this).siblings().removeClass('active');
tabs.children('.tabs-content').children('.tabs-content-item').removeClass('active');
// Добавляем классы active
$(this).addClass('active');
tabs.children('.tabs-content').children('.tabs-content-item').eq($(this).index()).addClass('active');
})
});
Вот пример:
https://codepen.io/ShvedOFF/pen/weBgrQ
Как более грамотно оформить данный код?
Все отлично работает, но выглядит коряво.
+2
/**
* Установка условий проверки корректности дат на начальную дату
* */
setConditionOne(date1, date2) {
if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] < date2[0]) )
return false;
else if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] >= date2[0]) )
return true;
else if ( (date1[2] == date2[2]) && (date1[1] > date2[1]) && (date1[0] == date2[0]) )
return true;
else if ( (date1[2] > date2[2]) && (date1[1] > date2[1]) )
return true;
else if (date1[2] > date2[2] && (date1[1] > date2[1]) && (date1[0] > date2[0]) )
return true;
else if ( (date1[2] < date2[2] ) && (date1[1] > date2[1]) && (date1[0] < date2[0]))
return false;
else if ( (date1[2] <= date2[2] ) && ( date1[1] > date2[1]) && (date1[0] <= date2[0]) )
return true;
else if ( (date1[2] > date2[2] ) && ( date1[1] >= date2[1]) && (date1[0] < date2[0]) )
return false;
else if ( (date1[0] > date2[0]) )
return true;
else if ( (date1[2] == date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
return true;
else if ( (date1[2] > date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
return true;
else if ( (date1[2] > date2[2] ) && ( date1[1] == date2[1]) && (date1[0] == date2[0]) )
return true;
else
return false;
}
/**
* Установка условий проверки корректности дат на конечную дату
* */
setConditionTwo(date1, date2) {
if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] < date2[0]) )
return false;
else if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] >= date2[0]) )
return true;
else if ( (date1[2] == date2[2]) && (date1[1] > date2[1]) && (date1[0] >= date2[0]) )
return true;
else if ( (date1[2] > date2[2]) && (date1[1] > date2[1]) )
return true;
else if ( date1[2] > date2[2] && (date1[1] > date2[1]) && (date1[0] > date2[0]) )
return true;
else if ( (date1[2] < date2[2] ) && (date1[1] > date2[1]) && (date1[0] < date2[0]) )
return false;
else if ( (date1[2] > date2[2] ) && ( date1[1] >= date2[1]) && (date1[0] < date2[0]) )
return false;
else if ( (date1[2] <= date2[2] ) && ( date1[1] > date2[1]) && (date1[0] <= date2[0]) )
return true;
else if ( (date1[0] > date2[0]) )
return true;
else if ( (date1[2] > date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
return true;
else
return false;
}
Сравнение двух дат.
−1
if (typeof $el.html() !== "undefined") {
//...
}
Проверка на существование элемента...
+3
// eval both the numbers to remove quotes
// otherwise 4 + 5 will be "4" + "5" which in JS will equal 45
evalDisplay = eval(displayNum),
evalStored = eval(storedNum);
Гениальный способ получить число из строки (вместо evalDisplay = +evalDisplay)
0
// oldman and pilul
$( "#draggable" ).draggable();
$( "#draggable1" ).draggable();
$( "#droppable" ).droppable({
drop: function() {
$("#droppable").attr("src","img/happy1.png");
$("#droppable1").attr("src","img/happy1.png");
$('#draggable').hide();
$('#draggable1').hide();
}
});
//buttons
$('#weekbtn').click(function(){
if ( $('#weekbtn').attr("src")== "img/week-pushed-button.png" ) {
$("#weekbtn").attr("src","img/week-button.png");
$("#weekbtn1").attr("src","img/week-button.png");
} else {
$("#weekbtn").attr("src","img/week-pushed-button.png");
$("#weekbtn1").attr("src","img/week-pushed-button.png");
}
});
$('#daybtn').click(function(){
if ( $('#daybtn').attr("src")== "img/day-pushed-button.png" ) {
$("#daybtn").attr("src","img/day-button.png");
$("#daybtn1").attr("src","img/day-button.png");
} else {
$("#daybtn").attr("src","img/day-pushed-button.png");
$("#daybtn1").attr("src","img/day-pushed-button.png");
}
});
$('#mounthbtn').click(function(){
if ( $('#mounthbtn').attr("src")== "img/mounth-pushed-button.png" ) {
$("#mounthbtn").attr("src","img/mounth-button.png");
$("#mounthbtn1").attr("src","img/mounth-button.png");
} else {
$("#mounthbtn").attr("src","img/mounth-pushed-button.png");
$("#mounthbtn1").attr("src","img/mounth-pushed-button.png");
}
});
//roller
function move(){
var rng = document.getElementById('scrol-line'),
rng1 = document.getElementById('scrol-line1'),
roll = document.getElementById('bgc'),
roll1 = document.getElementById('bgc1');
roll.value = rng.value;
rng1.value = rng.value;
roll1.value = rng1.value;
}
//slider
var slideIndex = 1;
showSlides(slideIndex);
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("sliders");
if (n > slides.length) {
slideIndex = 1
}
if (n < 1) {
slideIndex = slides.length
}
for (i=0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[slideIndex-1].style.display = "block";
}
+2
$(document).ready(function(){
$('.field').click(function(){
$('.selected').removeClass('selected');
$(this).addClass('selected');
$(this).click(function(){
$('#move').attr('disabled', true);
$('.selected, .field').removeClass('visible');
$('.field').text('');
$('.selected').html('<span id="user"><img src="user.gif"></span>');
$('.selected').next().addClass('visible');
$('.selected').next().next().next().next().next().next().addClass('visible');
$('.selected').next().next().next().next().next().next().next().addClass('visible');
$('.selected').next().next().next().next().next().next().next().next().addClass('visible');
//$('.selected').addClass('visible');
$('.selected').prev().addClass('visible');
$('.selected').prev().prev().prev().prev().prev().prev().addClass('visible');
$('.selected').prev().prev().prev().prev().prev().prev().prev().addClass('visible');
$('.selected').prev().prev().prev().prev().prev().prev().prev().prev().addClass('visible');
});
...
Поле перемещения, написано около года назад :D не знал как можно по-другому
+1
sort((a, b) => 0 - (a.Bias > b.Bias ? 1 : -1))
+967
if (!ch.election) {
exec('date -R', function(error, stdout, stderr) {
if (stdout.search('Wed') > -1) {
ch.startElection();
}
});
} else {
exec('date -R', function(error, stdout, stderr) {
if (stdout.search('Wed') < 0) {
ch.stopElection();
}
});
}
В ноде видимо нет функций для работы с календарём...
https://github.com/birdlab/trigger/blob/master/src/node/trigger/channel.js#L783
+2004
// ==UserScript==
// @name GK refine
// @version 0.1
// @description opens comments on govnokod.ru... etc
// @match http://govnokod.ru/*
// @match http://www.govnokod.ru/*
// @grant none
// ==/UserScript==
// Показывает в стоке "new" около нового комментария
// и пишет, сколько времени назад его оставили
(function(){
if(location.pathname != '/comments') return;
var key = 'fcd0d66f-9ff0-4827-82f1-e183dc1ab98c-last-time';
var lastTime = localStorage[key] ? +localStorage[key] : 0;
var now = new Date();
$('abbr.published').each(function(){
var d = + new Date($(this).attr('title'));
$(this).text(((now-d) / 1000 / 60).toFixed(2) + 'm');
if(d > lastTime) $(this).after('<span style="color: red">NEW </span>');
});
localStorage[key] = +now;
})();
// Открывает скрытые комменты
$("div.entry-comment-hidden").removeClass('entry-comment-hidden');
Смотрю, а багры в стоке комментарий подменяют, чтобы пользователи не видели, где новый багор, а где старый.
Я только сейчас это понял потому, что у меня около непросмотренного в стоке пишется "NEW" уже несколько месяцев.
Запилил потому, что даже без багров не помнил, что открыл, а что нет. А тут в тему будет для тех, у кого платного аккаунта нет.