Deerua about Coding

Блог о кодинге, автор Deerua

coding, javascript, css, html, php, jquery, mysql, deerua

Deerua about Coding

 Избранное

 Самые комментируемые за всю историю

 175 заметок ненаглядно

 Архив за 2010, 2009, 2008  год


Март 2010
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

 9 марта 2010, 18:07       3 дня назад

Конвертируем в ASCII неведомые символы для cp1251 и копируем в буфер

Для того что бы конвертить неведомые символы, мы должны их отCharCodить, но функция конвертит всё подряд, поэтому мы предварительно составляем массив наших символов, и если не наши, мы их через ASCII-код выдаём :)

cp1251 = [33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,
	55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,
	76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,97,
	98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,
	114,115,116,117,118,119,120,121,122,123,125,126,1025,1028,1030,
	1031,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,
	1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,
	1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,
	1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,
	1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,
	1108,1110,1111,8470];
function in_array(myValue,myArray){
	function equals(a,b){return (a === b);}
	for (var i in myArray) if (equals(myArray[i],myValue)) return true;
	return false;
}
function fetchAscii(){
	var obj = document.getElementById("converter").value,
  convertedObj = '', converted = document.getElementById("converted");
  var _length = obj.length;
  
  for(i = 0; i < _length; i++)
    convertedObj += (in_array(obj.charCodeAt(i),cp1251) ? '&#' : '&amp;#') 
    	+ obj.charCodeAt(i) + ';';
  converted.innerHTML = convertedObj;
  return false;
}  


зы: прикрутил сразу туда же ZeroClipboard :)
var clip = new ZeroClipboard.Client();
clip.setHandCursor( true );
clip.addEventListener('mouseOver', 
	function(clip){
		clip.setText(
			document.getElementById("converted")
			.innerHTML
			.split("&amp;")
			.join("&"))
	}
);
clip.glue("copy");
Особенность в том, что текст, который копируется, постоянно изменяется, то есть динамический %)

 1 комментарий

 Теги: javascript

 24 февраля 2010, 21:30       16 дней назад

Apache: Premature end of script headers

Нужно на хомяк сайта права поставть 755 ;) ага, ок!

 Комментировать…

 Теги: apache

 24 февраля 2010, 10:25       16 дней назад

php: первый и последний в массиве %)

// значения
$first = reset($array);
$last = end($array);
// ключи
$first = reset(array_keys($array));
$last = end(array_keys($array));

 Комментировать…

 Теги: php

 22 февраля 2010, 12:29       18 дней назад

Javascript: конвертация типов переменных

var myVar   = "3.14159",  
    str     = ""+ myVar,//  в стринг     (string)
    int     = ~~myVar,  //  в интеджер   (integer)
    float   = 1*myVar,  //  во флоат     (float)
    bool    = !!myVar,  //  в булен - все непустые строки и числа кроме 0 будут true
    array   = [myVar];  //  в массив


 Комментировать…

 Теги: javascript

 17 февраля 2010, 09:34       23 дня назад

Javascript: Строку в массив (string to array)

var nums = '1,2,3,4,5,6,7,8,9,10'.split(','); 

 1 комментарий

 Теги: javascript

 10 февраля 2010, 18:33       30 дней назад

JavaScript викторина от perfectionkills.com

С утра твитор порадовал интересной викториной.

Немного подумав над ней, оказалось что решил я её без ошибок \m/, в отличии от многих других ;) (если бы на время, то наверное бы слил)…

По просьбам трудящихся, небольшие объяснения (в комментариях к викторине их можно частями найти)
  1. (function(){
      return typeof arguments;
    })();
    Вернёт object, потому что arguments всегда задана, и выводит все переменные которые приходят в функцию
  2. var f = function g(){ return 23; };
    typeof g();
    Получим ошибку, фугкция g() не объявлена. Если запустить f() получим «number»
  3. (function(x){
    delete x;
    return x;
    })(1);
    Небольшой подвох ;) Delete внутри функций не работает ;) Ответ 1
  4. var y = 1, x = y = typeof x;
    x;
    Объявление в «колоне» идёт слева на право, получаем в итоге строку «undefined»
  5. (function f(f){ 
    return typeof f(); 
    })(function(){ return 1; });
    функция выполняется вконце, возвращает 1, она же идёт в начало аргументом функции f(), и тип 1 — «number»
  6. var foo = { 
    bar: function() { return this.baz; }, 
    baz: 1
    };
    (function(){ 
    return typeof arguments[0]();
    })(foo.bar);
    Есть объект foo с методом bar, и функция которой в качестве аргумента передаём наш метод. Почему в итоге не «function»? this в обжекте ;) Лол! ок!
  7. var foo = {
    bar: function(){ return this.baz; },
    baz: 1
    }
    typeof (f = foo.bar)();
    А ну как конструкция, гибкость? :) смотрим выше
  8. var f = (function f(){ return "1"; }, function g(){ return 2; })();
    typeof f;
    исполняется последняя в списке функция g() — потому «number»
  9. var x = 1;
    if (function f(){}) {
    x += typeof f;
    }
    x;
    Опять функция в условии (смотри 2), в итоге получаем «1undefined»
  10. var x = [typeof x, typeof y][1];
    typeof typeof x;
    типоф от типоф всегда стринг ;)))
  11. (function(foo){
    return typeof foo.bar;
    })({ foo: { bar: 1 } });
    у нас просто получилось foo.foo.bar = 1, обжект в обжекте — масло масляное, потому «undefined»
  12. (function f(){
    function f(){ return 1; }
    return f();
    function f(){ return 2; }
    })();
    Последняя объявленная нижняя, потому получаем 2 %)
  13. function f(){ return f; }
    new f() instanceof f;
    инстансоф буллевый оператор, и итог функции f() не может быть в «движении» функции f.
  14. with (function(x, undefined){}) length;
    оператор with поиска находит оба аргумента, получаем 2 %)


 2 комментария

 Теги: javascript

 10 февраля 2010, 11:27       30 дней назад

Javascript, round 2 decimal?

Math.round(num* 100,2)/100

 Комментировать…

 Теги: javascript

 9 февраля 2010, 11:34       более месяца назад

jQuery resourses

После 1.4 сразу выходит 1.4.1 и скоро будет 1.4.2 :)
Такая активность подтолкнула много других людишек, и было создано много полезных ресурсов и обновлено старых:
  • jQuery souse viewer — каждую функцию теперь быстро и удобно можно найти
  •  
  • jQuery API — теперь в удобном формате
  • jQuery UI — скоро 1.8 и новые плюшки
  •  
  • jQuery Documentation — теперь с человеческим лицом
  • jQuery Meetups Ukraine — милости просим, вопросы, предложения. Когда будет много людишек, можно будет организовать конференцию


ps: больше инфы о новом Jq тут

 2 комментария

 Теги: javascript   framework   jquery

 27 января 2010, 17:46       более месяца назад

Утилиток нужных пост: CSS и JS уменьшаторы (minifier)

Последнее время часто пользуюсь, и так же часто не могу найти рабочие сайты. То домен пропал, то домен украли, то тупо сайт лежит. По этому сделал два зеркала для себя (если кому-то ещё пригодится, я не против ;) + любимый сайт для сжатия скриптов.



 2 комментария

 Теги: css, javascript, УПП   tools

 26 января 2010, 18:56       более месяца назад

CSS: СЕО-колонка :)

SEO-колонка спросите вы? Ничего тут страшного нет. Это просто колонка которая идёт за контентом. По сути контент поисковик видит сразу, и сайт более СЕО-дружен ;)

<html>
	<head>
		<title>Column page</title>
	</head>
	<body>
		<div class="wrapper">
			<div class="content">
				<span>text</span>
			</div>
			<div class="sidebar">
				<span>text</span>
			</div>
		</div>
	</body>
</html>

Как же сделать колонку?
  • указываем длину текстового блока (для чтения рекомендовано не больше 600px на 14й фонт)
  • указываем блоку маржин с нужной стороны в длину колонки
  • оба летают слева, а у колонки левый маржин 100%
В цсс всё выглядит вот так
.wrapper {
	width: 960px­;
	margin: 0 auto­;
	clear: both­;
	position: relative­;
	zoom: 1­;
}
.wrapper span{
	display: block­;
	margin: 30px­;
}
	.content{
		float: left­;
		margin-left: 230px­;
		width: 730px­;
		position: relative­;
	}
	
	.sidebar{
		margin-left: -100%­;
		width: 230px­;
		float: left­;
		}

Работает даже в ИЕ, проблем нет (нужно только добавить доктайп), а для правой колонки:
  • колонка: маржин справа -длина колонки
  • контент: маржин справа длина колонки
.rightcolumn 
	.content{
		margin-left: 0­;
		margin-right: 230px­;
	}
.rightcolumn 
	.sidebar{
		margin-left: -230px­;
	}



ps: всё просто и не сложно ;) Релейтивы и зум 1 — кажись не надо ;) но пускай полежат.

 3 комментария

 Теги: css

Ctrl
Нужно создать сайт на 1С-Битрикс(Bitrix)?
Работает на движке e2 Selecta * All sources code was highlighted with w3club Highlighter.
deer.org.ua © 2008—2010 Vitaliy Bogdanets Deerua