Сообщение от danik.js
			 
		
	 | 
	| 
		1) body в селекторе ни к селу ни к городу. Бывают картинки вне body чтоли?
	 | 
	
Согласен, fail.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		2) Раз jQuery, то и оформи как плагин к jQuery. Чтобы вызов был через $('div img').makeGray()
	 | 
	
Погляжу как такое делается.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Срём в глобал? Не канает для публичного плагина. Срочно обернуть в анонимную функцию.
	 | 
	
Как только прочту, что такое анонимная функция - поправлю как рекомендвано. с JS сталкиваюсь постольку-поскольку... 
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	
		А что если у юзера был вызван jQuery.noConflict() ? 
Передать в анонимную функцию - обертку ссылку на jQuery, а внутри уже использовать знак доллара. Смотри как это сделано в других плагинах. Вообще, раз ты делаешь плагин, хоть бы не поленился и изучил как их делают другие.
	 | 
	
Как сказал выше - в JS слаб, jQuery умею использовать, но не писать под него плагины... погляжу ну другие обязательно.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Это самый последний вариант решения, когда подругому - ну никак. В данном же случае можно просто навесить обработчик onload на картинки и ждать их загрузки.
	 | 
	
Согласен, такой вариант в голову не приходил. Перепишу.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Как будто два разных человека писали код. addClass предпочтительней.
	 | 
	
За исключением пересчета цвета для канваса - всё писал я. А разные методы т.к. по-разному думал в эти моменты. Что вспомнил, то и использовал... 
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Где используется функция createCanvas ?
	 | 
	
Fail 

 осталась не вычещенной с момента сборки всего воедино.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Зачем это? jQuery сама фиксит opacity в старых ишаках.
	 | 
	
Это не фикс прозрачности, а её динамическое изменение. Этим и достигатся плавность перехода в IE.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		Перед .animate() нужно делать .stop() чтоб не образовывалось очереди.
	 | 
	
Забыл 

 добавлю.
	
	
		
			Сообщение от Deff
			 
		
	 | 
	
		 На большинстве халявных сайтах и форумов, нет загрузки изо на текущий домен 
Пример Укоз, mybb.ru
	 | 
	
Не подумал - добавлю.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		В WebKit и вроде 10м ишаке (не уверен) есть поддержка css mask, нужно проверять поддержку и по возможности использовать.
	 | 
	
Почитаю что такое css mask. Пока я не понял о чем ты сказал.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	
		
$(newImg).attr('class', 'gray')
 
Слишком общий css-класс. Он может быть определен у юзера. Вообще, зачем тут css-классы назначать?
	 | 
	
С названием класса согласен. Хотел изменить на уникальные... но, опять же, забыл. А классы назначал как признак того, что данное изображение - серое. Что бы с него не делать копий. Т.к. при моем способе вызова функции grayScale() - были возможны дубликаты и уже серых картинок. Но с img.onload - проблема уйдет.