- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
switch (achievements.length) {
case 0: return 0;
case 1: return 30;
case 2: return 60;
case 3: return 75;
case 4: return 90;
case 5: return 100;
default: return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+160
switch (achievements.length) {
case 0: return 0;
case 1: return 30;
case 2: return 60;
case 3: return 75;
case 4: return 90;
case 5: return 100;
default: return 0;
}
зато не if'ы
+167
var pic_jpg = /(\.jpg)$/ig;
var pic_jpeg = /(\.jpeg)$/ig;
var pic_png = /(\.png)$/ig;
var pic_bmp = /(\.bmp)$/ig;
var a = $("a");
$.each(a, function (i, val) {
var src = $(val).attr("href");
if (src !== undefined) {
if (src.match(pic_jpg)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_jpeg)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_png)) {
AppendImage(i, src, 'a');
}
if (src.match(pic_bmp)) {
AppendImage(i, src, 'a');
}
}
});
+158
<span class="header-search-icon" onclick="document.forms['search-form'].submit();"></span>
Выдержка из стандартного шаблона компонента 1С-Битрикс.
и что помешало поставить <button type=submit>?
+155
function createLinks(abys_id)
{
//get current year
var cur_year = parseInt($("#abys_id"+abys_id).children("span").text());
/*
* create links hrefs
*/
var ml_block = $("#ab_month_grid > .abmg_line");
ml_block.each(function(num,elem)
{
var month;
var anchors = elem.getElementsByTagName("a");
for(var n=0;n<anchors.length;n++)
{
month = (n==0)?12:(n==1)?3:(n==2)?6:9;
(num == 1)
?
(month == 12)
?
month = 1
:
month++
:
(num == 2)
?
(month == 12)
?
month = 2
:
month+=2
:
"--empty--"
;
anchors[n].href = "http://some_site/archive/news/all/"+cur_year+"/"+month+"/";
}
});
}
Вот люблю я инлайновые условия и все тут=)
Это callback для заполнения href у ссылок календаря архива новостей.
+148
ISQ.Translation.Infra.extractJobIdFromText=function(k){
var d;
var g=k.toLowerCase();
var j=g.indexOf("<"+ISQ.Translation.Infra.jobIdMarkerTag);
if(j===-1){
j=g.indexOf("< "+ISQ.Translation.Infra.jobIdMarkerTag)
}
if(j===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: Couldnt parse jobIdMarker from text! "+k,ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
var b=k.indexOf(">",j);
if(b===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
b+=1;
var h=g.substring(j,b);
var e=h.indexOf(ISQ.Translation.Infra.jobIdMarkerTag);
if(e===-1){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add("ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid!",ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
e+=ISQ.Translation.Infra.jobIdMarkerTag.length;
var f="";
var a;
do
{
if(e>h.length){
break
}
a=h.charAt(e++);
if(a.charCodeAt(0)<48||a.charCodeAt(0)>57){
break
}
f+=a
}
while(true);
d=parseInt(f);
if(isNaN(d)){
if(ISQ.Widget&&ISQ.Widget.Log){
ISQ.Widget.Log.add(
"ISQ.Translation.Infra.extractJobIdFromText: jobIdMarker tag is invalid: could not parse id#",
ISQ.Widget.Log.statusEnum.RED)
}
return{id:-1,text:k}
}
var i;
if(j===0){
i=k.substring(b)
}
else
{
i=k.substring(0,j);
if(b<k.length){
i+=k.substring(b)
}
}
return{id:d,text:i}
};
Закомммммммммммментировал!
+151
ISQ.Widget.ContactForm.clickEventHandler=function(a){
switch(a.result){
case ISQ.Forms.clickEventEnum.SUBMIT:
ISQ.Widget.Log.add("contactForm submit");
ISQ.Widget.ContactForm.send(a.formElements);
ISQ.Widget.ContactForm.close(true);
break;
case ISQ.Forms.clickEventEnum.CANCEL:
if(ISQ.Cnf.limited){
break
}
ISQ.Widget.Log.add("contactForm cancel");
if(a.query!==""){
ISQ.Widget.HTML.queryField.value=a.query
}
ISQ.Widget.ContactForm.canceled=true;
ISQ.Widget.ContactForm.close();
break;
case ISQ.Forms.clickEventEnum.ERROR:
ISQ.Widget.Log.add("contactForm input error");
break
}
};
Если честно, то тут автор даже удивил. Как-то раньше ни разу не пришлось два брейка в одном кейсе делать, все как-то одним обходился.
+152
ISQ.Widget.Query.keyUpHandler=function(c){
var b=c||window.event;
if(!ISQ.Widget.userActive){
return
}
if(typeof(b.keyCode)!="unknown"&&ISQ.Widget.Query.ignoreKeyCodes[b.keyCode]){
return false
}
if(ISQ.Cnf.limited&&ISQ.Widget.state!==ISQ.Widget.enumState.contactForm){
return false
}
if(ISQ.Widget.state===ISQ.Widget.enumState.customLink){
ISQ.Widget.state=ISQ.Widget.enumState.questions
}
ISQ.Widget.Query.clearQuestionTrail();
var a=_query(false);
if(ISQ.Widget.Query.lastQueryWritten!=a){
ISQ.Widget.Query.analyzeQuery(a)
}
return false
};
По поводу уверенных программистов (явно задел на будущее, а вдруг добаят).
+155
ISQ.Data.checkString=function(e,f){
var d=true;
switch(f){
case"email":
var a=/^[\w-_\&.]+\@([\w-_]+\.[\w-_]+){1,3}$/;
var g=new RegExp("[~!#$%^&*()=''\"\\/><?[]{}|]","g");
return(e.search(g)===-1)&&(e.match(a))&&(e!=="");
break;
case"number":
var b=/^[-]?[0-9]+\.?[0-9]?$/;
return b.test(e);
break;
case"username":
var c=new RegExp(".+@.+");
return(c.test(e));
break;
case"url":
var c=new RegExp("^https?://([a-zA-Z0-9]+.){1,}[a-zA-Z0-9]+");
return(c.test(e));
break
}
return d
}
// Функция универсальной валидации.
// (Но незадолго до того было еще и)
ISQ.Data.getEmailAddress=function(e){
var a=/[\w-_\&.]+\@[\w-_]+\.+[\w-_.]+/g;
var d=e.match(a);
if(d===null||d.length===0){
return null
}
var f=new RegExp();
f.compile("[~!#$%^&*()=`'\"\\/><?[]{}|]","g");
var b=new Array();
for(var c=0;c<d.length;++c){
if(d[c].search(f)===-1){
b.push(d[c])
}
}
return b
}
Еще одна творческая работа.
+158
ISQ.Http.detectBroswer=function(){
var b=navigator.appVersion;
var f=navigator.userAgent;
var a=0;
ISQ.Http.browser={};
if(navigator.appVersion.indexOf("Android")!==-1){
ISQ.Http.browser.app="android";
var c=navigator.appVersion.indexOf("Version/")+8;
var g=navigator.appVersion.substring(c,navigator.appVersion.indexOf(" ",c));
ISQ.Http.browser.version=parseInt(g);
ISQ.Http.browser.isMobile=true;
ISQ.Http.browser.usesViewport=true;
ISQ.Http.browser.isAndroid=true
}
else
{
if(navigator.appVersion.indexOf("iPhone")!==-1){
var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
ISQ.Http.browser.app="safari";
ISQ.Http.browser.version="iphone "+parseInt(g);
ISQ.Http.browser.isMobile=true;
ISQ.Http.browser.usesViewport=true;
ISQ.Http.browser.isIPhone=true
}
else
{
if(navigator.appVersion.indexOf("iPad")!==-1){
var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
/* identical to iPhone */
}
else
{
if((a=b.indexOf("MSIE "))!==-1){
ISQ.Http.browser.app="ie";
a+=5;
/* version check skipped */
}
else
{
if(b.indexOf("Chrome")!==-1){
ISQ.Http.browser.app="chrome";
ISQ.Http.browser.version="0"
}
else
{
if((a=b.indexOf("Safari"))!==-1){
/* version check skipped */
}
else
{
if((a=f.indexOf("Firefox/"))!==-1){
ISQ.Http.browser.app="ff";
/* version check skipped */
}
else
{
if(f.indexOf("Opera/")!==-1){
ISQ.Http.browser.app="opera";
var c=f.indexOf("Version/");
if(c===-1){
var d=f.indexOf(" ",6);
ISQ.Http.browser.version=f.substring(6,d)
}
else
{
/* version check skipped */
}
ISQ.Http.browser.isOpera=true
}
else
{
if(f.contains("Symbian")){
ISQ.Http.browser.app="symbian";
ISQ.Http.browser.version=1;
ISQ.Http.browser.full=ISQ.Http.browser.app+
ISQ.Http.browser.version
}
else
{
ISQ.Http.browser.app="ie";
ISQ.Http.browser.version="7.0;";
ISQ.Http.browser.isIE7=true
}
}
}
}
}
}
}
}
}
ISQ.Http.browser.full=ISQ.Http.browser.app+ISQ.Http.browser.version;
f=null;
b=null
}
Неизвестный автор ISQ фреймворка определяет браузер.
Яваскрипт, Визуал Студио; Частное собрание сочинений.
+163
ISQ.Html.scrollBarWidth=function(){
return 17
};
С одной стороны, конечно, проблематично посчитать, но возможно же...