JavaScript snippets

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Простая функция сериализации

[ред. | ред. код]
function serialize(v){
  if(typeof(v)=='object'){
    var i,s='',c=0;
    for(i in v){
    	if(typeof(v[i]) != 'function'){
	      ++c;
	      s+=serialize(i)+serialize(v[i]);
    	}
      }
    s="a:"+c+":{"+s+"}";
    return s;
    }
  else if(Number(v)==v){
    return 'i:'+v+';';
    }
  else if(typeof(v)=='string'){
    return 's:'+v.length+':"'+v+'";';
    }
}

JavaScript эквиваленты функций PHP

[ред. | ред. код]

http://kevin.vanzonneveld.net/techblog/category/php2js/
Готовую библиотеку можно скачать тут:
http://kevin.vanzonneveld.net/code/php_equivalents/php.min.js

Вирівнювання висоти різних блоків

[ред. | ред. код]

Використовується JQuery. Скрипт який вирівнює висоти блоків з класом "resizeableBlock". 1. Вирівнює у межах батьківського блоку. Тобто однакові висоти будуть у блоків з класом "resizeableBlock" у межах одного і того самого parent-блоку. Отже, в одному parent-блоці висоти внутрішніх "resizeableBlock" будуть однакові. У різних parent-блоків висоти внутрішніх "resizeableBlock" можуть відрізнятися.

var resizeableBlockMaxHeight = 0;
var oldPitem = null;
function sincronizeBlockHeight(){
	var items = $('.resizeableBlock');
	items.each(
		function(el){
			var item = $(this);
			var pitem = item.parent();
			if(!oldPitem || pitem.get(0) != oldPitem.get(0)){
				if(oldPitem){
					oldPitem.children('.resizeableBlock').height(resizeableBlockMaxHeight);
				}
				resizeableBlockMaxHeight = 0;
				oldPitem = pitem;
			}
			var itemHeight = item.height();
			if(itemHeight > resizeableBlockMaxHeight){
				resizeableBlockMaxHeight = itemHeight;
			}
		}
	);
	$('.resizeableBlock:last').parent().children('.resizeableBlock').height(resizeableBlockMaxHeight);
}

2. Вирівнює всі блоки на сторінці, які мають клас "resizeableBlock".

var resizeableBlockMaxHeight = 0;
function sincronizeBlockHeight(){
	var items = $('.resizeableBlock');
	items.each(
		function(el){
			var item = $(this);
			var itemHeight = item.height();
			if(itemHeight > resizeableBlockMaxHeight){
				resizeableBlockMaxHeight = itemHeight;
			}
		}
	);
	$('.resizeableBlock').height(resizeableBlockMaxHeight);
}

3. средствами css [[1]]