Форум → Сообщество → Профессиональная деятельность → Ищу работу → Продается жабаскриптер, недорого.
Продается жабаскриптер, недорого.
Страницы: ← Следующая страница →
-
20 января 2010 г. 6:39, спустя 10 минут 1 секунду
а куски кода и прочие прелести укротителя жаб привести не хочется?Сапожник без сапог -
20 января 2010 г. 6:59, спустя 19 минут 42 секунды
Для глубокого всестороннего обсирательного публичного анализа? Не вижу смысла, Вы же всё равно заказывать ничего не собираетесь. Тем более, что продается недорого) -
20 января 2010 г. 7:53, спустя 54 минуты 8 секунд
почему не собираюсь? может закажу если качество устроит
Для глубокого всестороннего обсирательного публичного анализа? Не вижу смысла, Вы же всё равно заказывать ничего не собираетесь. Тем более, что продается недорого)Сапожник без сапог -
20 января 2010 г. 10:12, спустя 2 часа 19 минут 5 секунд
Ну, для примера вот такая невинная детская шалость.
<html>
<head>
<style>
.letter {
text-align: center;
vertical-align: center;
position: fixed;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
font-size: 700px;
}
</style>
</head>
<body style="margin: 0px; background-color: #000; color: #ffffff">
<script src="game.js"></script>
</body>
</html>
game.js
(function () {
var r = function (shift) {
return parseInt(Math.random() * 200 + 55) << shift;
}
var out = (function () {
var f = function () {
var a = arguments;
setTimeout(function () {
g.apply(window, a);
}, 50);
};
var g = function (letter, opacity, fontsize, cont) {
letter.style.opacity = opacity;
letter.style.fontSize = fontsize;
(parseInt(opacity * 100) > 1 && (f(letter, opacity - 0.07, fontsize * 0.85, cont), true)) || (cont && cont(letter));
};
return g;
})();
var letter = function (html, color) {
var l = document.createElement("div");
l.className = "letter";
l.innerHTML = html;
l.style.color = color;
return document.getElementsByTagName("body")[0].appendChild(l);
};
document.documentElement.addEventListener("keypress", function (event) {
out(letter(String.fromCharCode(event.charCode).toUpperCase(),
"#" + (r(16) + r(8) + r(0)).toString(16)),
1, 700, function (l) { l.parentNode.removeChild(l); });
}, false);
})(); -
-
-
20 января 2010 г. 12:07, спустя 5 минут 45 секунд
скоро будем писать
ЗлобныйТролль, и IE 8 не работаетв ие8 не работает ие8
..Сапожник без сапог -
20 января 2010 г. 12:17, спустя 9 минут 30 секунд
ЗлобныйТролль, и IE 8 не работает
и не должно, писалось для 2-летнего ребенка, чтобы буковки летали - под рукой был FF, а другого и не надо ;-) -
20 января 2010 г. 12:23, спустя 5 минут 31 секунду
ЗлобныйТролль, ты крутhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
20 января 2010 г. 13:16, спустя 53 минуты 21 секунду
я не обещал не доёбываться и чтото заказывать поэтому прокомментируюparseInt(Math.random() * 200 + 55)
убрал все яркие (насыщеные) цвета в том числе и белый, зачем? и раз уж ты не брезгуешь битовыми операциями то вот так~~(Math.random() * 255)
всю ересь которую ты написал в out можно заоптимайзить без использования лишних функций
кстати грязные хаки типа замены if-else на &&|| мне нравються тока не злоупотребляй а то потом не разгребешь
функциюfunction (l) { l.parentNode.removeChild(l); }
тоже не надо таскать от вызова к вызову
не говоря уже о том что вместо класса letter можно было css свойства назначить сразу div'у
результат такой(function () {
var a, r = function (shift) {
return ~~(Math.random() * 255) << shift;
},
out = function (letter, opacity, fontsize) {
letter.style.opacity = opacity;
letter.style.fontSize = fontsize;
~~(opacity * 100) > 1 &&
(a = arguments) &&
setTimeout(function () { a.callee(letter, opacity - 0.07, fontsize * 0.85); }, 50) ||
cont(letter);
},
cont = function (l) {
l.parentNode.removeChild(l);
},
letter = function (html, color) {
l.className = "letter";
l.innerHTML = html;
l.style.color = color;
return document.getElementsByTagName("body")[0].appendChild(l);
};
document.documentElement.addEventListener("keypress", function (event) {
out(letter(String.fromCharCode(event.charCode).toUpperCase(),
"#" + (r(16) + r(8) + r(0)).toString(16)),
1, 700);
}, false);
})();
Спустя 99 сек.писалось для 2-летнего ребенка
нет уж нет уже не надо, либо для ребенка либо нам на заценкуСпустя 53 сек.в ие8 не работает ие8
отличная шутка -
20 января 2010 г. 13:14, спустя 23 часа 57 минут 43 секунды
отличная шутка
скоро правдой чую станет))Сапожник без сапог -
20 января 2010 г. 14:23, спустя 1 час 9 минут 22 секунды
parseInt(Math.random() * 200 + 55)
убрал все яркие (насыщеные) цвета в том числе и белый, зачем? и раз уж ты не брезгуешь битовыми операциями то вот так~~(Math.random() * 255)
Вообще-то белый никуда не делся ;-) а минимальный порог в 55 единиц сделан для того, чтобы не было слишком темных букв типа rgb(0, 23, 15) – глаза поломаешь.
Далее, ~~ aka not-not медленне, нежели parseInt(). И смысл операции становится менее неочевидным, имхо.
всю ересь которую ты написал в out можно заоптимайзить без использования лишних функций
…
функциюfunction (l) { l.parentNode.removeChild(l); }
тоже не надо таскать от вызова к вызову
Можно, но разделения на функции в разделении ответственности:
- f() отвечает за функцию времени (которая могла бы быть нелинейной),
- g() - за функцию рендеринга,
- cont - это функция завершения рендеринга анимации.
А arguments.callee - это хак грязнее некуда. В кошерных языках у Вас не будет такой.. гм.. "возможности". -
20 января 2010 г. 14:26, спустя 2 минуты 48 секунд
красавцы в бой!
// пошел за попкорном, битва будет жаркойСапожник без сапог -
20 января 2010 г. 15:01, спустя 35 минут 8 секунд
Да было бы из-за чего бои устраивать. Вот лучше другой концептуальный примерчик покритикуйте :)var Stack = [];
var Word = function (pop, push, f) {
this.pop = pop;
this.push = push;
this.f = f;
};
Word.prototype.run = function () {
var args = [], i = 0;
while(i++ < this.pop) {
args.unshift(Stack.pop());
}
var result = this.f.apply(window, args);
if(this.push == 1) {
Stack.push(result);
}
if(this.push > 1) {
i = 0;
while(i++ < this.push) {
Stack.push(result.shift());
}
}
};
var handleToken = function (token) {
var code = {};
code[true] = function () {
Stack.push(token);
}
code[token instanceof Word] = function () { token.run(); };
code[token instanceof Array] = function () {
for(var i = 0, l = token.length; i < l; i++) {
handleToken(token);
}
}
code[true]();
};
var F = function () {
for(var i = 0, l = arguments.length; i < l; i++) {
handleToken(arguments);
}
};
var print = new Word(1, 0, alert),
mul = new Word(2, 1, function (x, y) { return x*y; }),
div = new Word(2, 1, function (x, y) { return x/y; }),
dup = new Word(1, 2, function (foo) { return [foo, foo]; }),
swap = new Word(2, 2, function (x, y) { return [y, x]; }),
rot = new Word(3, 3, function (a, b, c) { return [c, a, b]}),
drop = new Word(1, 0, function () {}),
$ = new Word(1, 1, function (tagname) { return document.createElement(tagname); }),
append = new Word(2, 1, function (root, child) { return (root.appendChild(child), root); }),
$body = new Word(0, 1, function () { return document.getElementsByTagName("body")[0]; }),
setStyle = new Word(3, 1, function (element, prop, value) { return (element.style[prop] = value, element); }),
setProperty = new Word(3, 1, function (element, prop, value) { return (element[prop] = value, element); }),
bgColor = [ "backgroundColor", swap, setStyle ],
align = [ "textAlign", swap, setStyle ],
image = [ "img", $, "width", "150px", setStyle, swap, "src", swap, setProperty ],
border = [ "div", $, "border", "3px solid #c0c0c0", setStyle, "padding", "10px", setStyle, "#f0f0f0", bgColor, "center", align ],
makeImage = [ image, border, swap, append ]
;
F(
"Hello, World!", "Пиу-пиу!", print, print,
2, 3, 4, 5, mul, mul, mul, dup, print, 3, div, print,
$body, "http://www.google.com/intl/en_ALL/images/logo.gif", makeImage, append
);
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!