- 1
- 2
- 3
- 4
function repeattimer(functionname, looptime){
eval(functionname+"();");
setTimeout("repeattimer(\""+functionname+"\", "+looptime+");", looptime);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+162
function repeattimer(functionname, looptime){
eval(functionname+"();");
setTimeout("repeattimer(\""+functionname+"\", "+looptime+");", looptime);
}
Не знаю насчёт того, ГК это или нет, но я бы сделал совсем не таким способом.
+167
function createIMG(src,id,width,height,border)
{
var s='<IMG SRC=';
s+=addquo(src);
if(id!='')
s+=' ID='+id;
if(width&&height)
{
if(width>0)
s+=' WIDTH='+width;
if(height>0)
s+=' HEIGHT='+height;
}
s+=' BORDER='+border+'>';
return s;
}
Оно делает картинку
+170
star1.onmouseover = function () {
star1.className = 'selected';
}
star1.onmouseout = function () {
star1.className = 'not-selected';
}
star2.onmouseover = function () {
star1.className = 'selected';
star2.className = 'selected';
}
star2.onmouseout = function () {
star1.className = 'not-selected';
star2.className = 'not-selected';
}
star3.onmouseover = function () {
star1.className = 'selected';
star2.className = 'selected';
star3.className = 'selected';
}
star3.onmouseout = function () {
star1.className = 'not-selected';
star2.className = 'not-selected';
star3.className = 'not-selected';
}
star4.onmouseover = function () {
star1.className = 'selected';
star2.className = 'selected';
star3.className = 'selected';
star4.className = 'selected';
}
star4.onmouseout = function () {
star1.className = 'not-selected';
star2.className = 'not-selected';
star3.className = 'not-selected';
star4.className = 'not-selected';
}
star5.onmouseover = function () {
star1.className = 'selected';
star2.className = 'selected';
star3.className = 'selected';
star4.className = 'selected';
star5.className = 'selected';
}
star5.onmouseout = function () {
star1.className = 'not-selected';
star2.className = 'not-selected';
star3.className = 'not-selected';
star4.className = 'not-selected';
star5.className = 'not-selected';
}
Реализация звёздочек для рейтинга. При наведении мышкой на звёздочку все предшествующие ей звёздочки "загораются", при отведении — "потухают".
+165
// Color and text
// -- Безупречный
if (nScore >= 90)
{
var strText = "Отличный пароль! Главное не забыть его :) ";
var strColor = "#0ca908";
}
// -- Очень хороший
else if (nScore >= 80)
{
var strText = "Очень хороший";
vstrColor = "#7ff67c";
}
// -- Хороший
else if (nScore >= 70)
{
var strText = "Хороший";
var strColor = "#1740ef";
}
// -- Давольно нормальный
else if (nScore >= 60)
{
var strText = "Достаточно неплохо";
var strColor = "#5a74e3";
}
// -- Нормальный
else if (nScore >= 50)
{
var strText = "Нормально";
var strColor = "#e3cb00";
}
// -- Слабый
else if (nScore >= 25)
{
var strText = "Слабенько";
var strColor = "#e7d61a";
}
// -- Очень плохой
else
{
var strText = "Ужас. (qwerty и то лучше :) ) ";
var strColor = "#e71a1a";
}
else if (nScore >= 25)
{
var strText = "Слабенько";
var strColor = "#e7d61a"; // -- Слабенько?WTF???????
}
Взято с блога великого кодера darkoff.ru
+159
<script LANGUAGE="JavaScript">
<!--
function checkEmailAddress(email) {
var allowedChars = ".-_@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var numberAt = 0;
var indexAt = -1;
var thisChar = "";
if (email == "")
return 0;
for(j=0 ; j <= email.length ; j++) {
thisChar = email.substring(j,j+1);
if (allowedChars.indexOf(thisChar) == -1) {
return 0;
}
if (thisChar == "@") {
if (j == 0 || j >= email.length - 3 || numberAt > 0)
return;
numberAt++;
indexAt = j;
}
}
if (numberAt != 1)
{
return 0;
}
if (email.substring(indexAt+1).indexOf(".") <= 0)
return;
for (j=0; j < email.indexOf("@"); j++) {
if (allowedChars.indexOf(email.substring(j,j+1)) >= 4) // Email address is correct!!
return 1;
}
return;
}
В данный момент используется в зарубежном SaaS-решении
+172
function getCodeByCode(code)
хорошее название функции
+156
<script type="text/javascript">
function TrackTransaction(pageTracker)
{
}
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
var hndl = window.setTimeout("StartTracking()", 100);
function StartTracking()
{
if (typeof(_gat) == 'object')
{
window.clearTimeout(hndl);
var pageTracker =_gat._getTracker("UA-3200267-1");
pageTracker._initData();
pageTracker._trackPageview();
TrackTransaction(pageTracker);
}
else
{
hndl = window.setTimeout("StartTracking()", 1000);
}
}
</script>
laredoute . ru
TrackTransaction универсальная функция )
+172
<script type="text/javascript" src='/wps/CacheProxyServlet/colorPalette/default/browserVendor/Netscape/browserName/Navigator/browserVersion/unknown/locale/ru/forwardurl/wps/themes/html/pgu/./js.jsp'></script>
с сайта http://portal.rosreestr.ru
+174
function BIN(a) {
var x = false;
for (var i = 0; i < 50; i++) {
if (Math.pow(2, i) == a) {
x = true;
}
}
return x;
}
Проверка числа на степень двойки.
+152
Map = function() {
this._entries = new Array();
}
Map.prototype.containsKey = function(key) {
return this.getEntry(key)!=null;
}
Map.prototype.get = function(key) {
var entry = this.getEntry(key);
return entry!=null ? entry.value : null;
}
Map.prototype.put = function(key, value) {
var entry = this.getEntry(key);
if (entry!=null) {
entry.value = value;
} else {
entry = new Map.Entry(key, value);
this._entries[this._entries.length] = entry;
}
}
Map.prototype.size = function() {
return this._entries.length;
}
Map.prototype.getEntry = function(key) {
for (var i=0; i<this._entries.length; i++) {
if (this._entries[i].key==key)
return this._entries[i];
}
return null;
}
Map.prototype.entries = function() {
return this._entries;
}
Map.prototype.keys = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].key;
}
return result;
}
Map.prototype.values = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].value;
}
return result;
}
Map.prototype.addAll = function(map) {
if (map==null)
return;
var oe = map.entries();
for (var i=0; i<oe.length; i++) {
this.put(oe[i].key, oe[i].value);
}
}
Map.prototype.toString = function() {
return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
}
Map.Entry = function(key, value) {
if (arguments.length==0)
return;
this.key = key;
this.value = value;
}
Map.Entry.prototype.toString = function() {
return "[Entry{key:"+this.key+", value:"+this.value+"}]";
}
То что любой объект и так работает как Map автор видимо не знал.
Можно было бы предположить, что автор это знал, но написал этот Map для того чтобы использовать произвольные объекты как ключи, однако во всех обнаруженных использованиях этой Map ключами были строки.