linechart example

Недавно закончил работу над библиотекой для построения графиков. Несмотря на то, что писалась она для собственных нужд, я решил поделиться ею со всеми желающими.

Демо | Github

Читать полностью …
Комментарии (0)
Дата публикации: 24 января 2013 г.

Сегодня решил размяться и написать функцию для объединения двух JSON объектов:


function json_merge_recursive(json1, json2){
	var out = {};
	for(var k1 in json1){
		if (json1.hasOwnProperty(k1)) out[k1] = json1[k1];
	}
	for(var k2 in json2){
		if (json2.hasOwnProperty(k2)) {
			if(!out.hasOwnProperty(k2)) out[k2] = json2[k2];
			else if(
				(typeof out[k2] === 'object') && (out[k2].constructor === Object) && 
				(typeof json2[k2] === 'object') && (json2[k2].constructor === Object)
			) out[k2] = json_merge_recursive(out[k2], json2[k2]);
		}
	}
	return out;
}
Читать полностью …
Комментарии (7)
Дата публикации: 20 ноября 2012 г.

Сегодня я хочу рассказать об одном необычном способе применения apply в javascript.

Предположим у нас есть некоторая функция:


function sum(){
	for (var i=0, s=0; i<arguments.length; s+=arguments[i++]);
	return s;
}

Эта функция принимает динамическое число параметров и возвращает их сумму.


	alert(sum(1,2,3,4,5,10));	//выведет 25

А теперь, представим ситуацию, когда список параметров, которые мы должны передать в функцию формируется в результате выполнения скрипта (например в виде массива), и также нет возможности изменить код функции (например мы пользуемся каким либо фрэймворком). Возникает вопрос. Как быть? Как передать массив параметров в нашу функцию?

Читать полностью …
Комментарии (0)
Дата публикации: 8 августа 2012 г.

Как известно, существует такая технология, как JSONP, с помощью которой можно выполнять кросс-доменные AJAX запросы. Так вот, совсем недавно я обнаружил, что при ее использовании jQuery совершенно не умеет обрабатывать ошибки. Приведу небольшой пример.


$.ajax({
	type: 'GET',
	url: 'http://yandex.ru/404',
	dataType: 'jsonp',
	success: function(json){
		alert('success')
	},
	error: function(){
		alert('error')
	}
});

Логично ожидать, что в результате выполнения приведенного скрипта, на экране монитора появится сообщение error, но увы этого не произойдет. Как же быть в этом случае? Мне известно два способа которыми возможно перехватить ошибку.

Читать полностью …
Комментарии (2)
Дата публикации: 16 июля 2012 г.

На основе одной замечательной статьи (http://habrahabr.ru/blogs/ui/30560/) сделал jQuery плагин для стилизации файл-инпутов. Он позволяет заменить стандартный файл-инпут

До

следующей вещью:

После

Читать полностью …
Комментарии (5)
Дата публикации: 5 апреля 2011 г.

Сегодня мне наконец-то удалось отыскать хороший jQuery плагин для скругления углов изображений, который корректно работает во всех основных браузерах, в том числе и в IE6. Плагин позволяет задавать радиус скругления для каждого из углов, а также, если необходимо, цвет и размер границы изображения. В общем это творение оставило у меня только положительные впечатления. Рекомендую всем.

Демонстрация работы плагина

Читать полностью …
Комментарии (4)
Дата публикации: 11 марта 2011 г.

Пусть у нас имеется следующий скрипт

$(document).ready(function(){
     for(i=1; i<101; i++){$.get('test.php?n='+i)};
});

и файл test.php

<?php sleep(10) ?>

Этот скрипт должен одновременно выполнить сто AJAX запросов. Посмотрим как на самом деле обстоит дело в браузере Firefox.

Читать полностью …
Комментарии (3)
Дата публикации: 7 марта 2011 г.

На просторах интернета натолкнулся на один очень полезный плагин jQuery, предназначенный для создания индикаторов загрузки. Посмотреть плагин в действии можно на демо страничке. Но есть одно маленькое но. Дело в том, что этот плагин не работает в браузерах IE c версиями jQuery начиная с 1.4.3. Там возникает ошибка, при проверке поддержки VML браузером. Я немного допилил плагин, чтобы исправить это. Ссылки для скачивания ниже.

Читать полностью …
Комментарии (6)
Дата публикации: 7 марта 2011 г.

Пусть у нас есть массив элементов, для каждого из которых нужно последовательно выполнить AJAX запрос (новый запрос должен отправляться, как только завершиться предыдущий). На самом деле в асинхронной модели программирования это задача не такая уж легкая, как может показаться на первый взгляд.

Читать полностью …
Комментарии (7)
Дата публикации: 4 марта 2011 г.

Как известно XHTML 1.0 Strict не позволяет использовать атрибут TARGET для ссылок. Это значит, что все ссылки, по умолчанию, открываются в том же окне. Лично я с этим не совсем согласен. По моему мнению, все ссылки внутри одного домена должны открываться в одном окне, а ссылки за пределами этого домена в новом окне.

Читать полностью …
Комментарии (2)
Дата публикации: 25 июня 2010 г.
На хостинг