 
			
				25.02.2013, 16:55
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.04.2010 
					
					
					
						Сообщений: 34
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Потестирую с разными картинками текущее решение, если даст где-то сбой, перепишу как ты сказал. Пока же - наконец-то работает! %) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.02.2013, 18:07
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.09.2010 
					
					
					
						Сообщений: 8,804
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Уже конечно намного лучше ) 
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		$(this).each
	 | 
 
	
 
 Добавь впереди ключевое слово return, чтобы вернуть объект для продолжениия цепочки. То есть чтобы могло работать так:
 
$('img').makeGray().css('border': '1px solid');
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		function() makeCopy(this);
	 | 
 
	
 
 Тут вы конечно втупили оба )) 
Можно просто  this.onload = makeCopy;
При событии load будет вызывана makeCopy, в которой this укажет на картинку. 
Однако что будет если картинка уже загрузилась? Я не уверен что обработчик сработает. Поэтому нужно проверять - загрузилась ли картинка (через img.complete кажется, может для ишака иначе). 
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		'ms-filter'
	 | 
 
	
 
 А это еще зачем? Нет такого свойство. Префиксные начинаются с дефиса. 
И еще раз спрашиваю - разве без этого всего в ишаке не работает? Ведь jQuery внутри уже сама использует нужные для ишака свойства при анимировании opacity...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.02.2013, 21:52
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.04.2010 
					
					
					
						Сообщений: 34
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	
		Уже конечно намного лучше ) 
Добавь впереди ключевое слово return, чтобы вернуть объект для продолжениия цепочки. То есть чтобы могло работать так: 
$('img').makeGray().css('border': '1px solid');
	 | 
 
	
 
 *апстену* 
Вернуть целую функцию?.. что за безумный язык! Нет, я понимаю, что ваши советы по существу... но, блин... мои олдскульные устои человека, учившегося кодить на Паскале - ломаются окончательно    
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	
		Можно просто this.onload = makeCopy; 
При событии load будет вызывана makeCopy, в которой this укажет на картинку.
	 | 
 
	
 
 Я правильно понимаю, что при подобной записи получается, что функция makeCopy вызывается как метод для this, т.е. в данном случае для объекта типа Image? Я это просто что б в голове уложить, откуда внутри появится this с указателем на объект...    
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		Однако что будет если картинка уже загрузилась? Я не уверен что обработчик сработает. Поэтому нужно проверять - загрузилась ли картинка (через img.complete кажется, может для ишака иначе).
	 | 
 
	
 
 Добавлю проверку на завершение загрузки, согласен, что очевидная проверка лучше, чем надежда что браузер сработает как надо. Для Ишака .complete прекрасно работает. По крайней мере 7-8. Шестой поставлю - проверю.
 
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		А это еще зачем? Нет такого свойство. Префиксные начинаются с дефиса.
	 | 
 
	
 
 Под рукой ссылки нет, завтра из офиса скину - я читал, что фильтры вызываются без дефиса для 6-7 ишака, и с дефисом для 8+. А значит нужно две записи.
 
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		И еще раз спрашиваю - разве без этого всего в ишаке не работает? Ведь jQuery внутри уже сама использует нужные для ишака свойства при анимировании opacity...
	 | 
 
	
 
 Анимирования не получается. Только резкий переход. Собственно из-за того, что найденные мною рецепты не делали анимирование в ишаках, я и затеял написать эту фигню сам...   
Ну либо я находил кривые решения, и сам не смог добиться иным путём. Тут я не могу ничего сказать - совершенно нуб   
P.S. Извиняюсь за, по сути, оффтоп, но, ребят, можете подсказать какую конкретно часть документации/учебника/справочника/самоучителя/пофиг_чего прочитать, что бы врубиться таки во все эти хитросплетения вызовов, колбэков и прочих тонкостей джаваскрипта? Ибо что и как в каких случаях следует вызывать - для меня просто... неочивидно. 
Например function some() {some code here} где-то вызывать как some, без () - для меня... непонятно - как так-то, вообще?!.. а хотелось бы ориентироваться, что я делаю...  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.02.2013, 22:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 master_alf, 
 Думаю нун не спеша для начала выспаться, Утро -вечера мудреннее! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.02.2013, 22:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.09.2010 
					
					
					
						Сообщений: 8,804
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		Вернуть целую функцию?
	 | 
 
	
 
 Всего лишь ссылку на текущую jQuery коллекцию (по сути - объект, похожий на массив). Язык тут не причем. Это такая плюшка jQuery - цепочки вызовов, chained calls вроде. На сайте jquery.com полюбому есть демонстрация цепочек.
 
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		в голове уложить, откуда внутри появится this с указателем на объект
	 | 
 
	
 
 Все просто. Почитай про this в javascript. Вобще - тут все очень просто - мы определили метод someimage.onload. В некоторый момент он будет вызван браузером. Мы можем даже сами вызвать его - someimage.onload() - при таком вызове this будет указывать на someimage, верно?
 
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		без дефиса для 6-7 ишака, и с дефисом для 8+
	 | 
 
	
 
 Не без дефиса, а без  префикса. Префикс - это  -ms-
Какие еще рецепты. Просто убери этот кусок кода, все должно работать без него. В крайнем случае запили тестовый пример прям тут - посмотрим. 
По части документации - для начала можешь покурить  Учебник 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.02.2013, 09:50
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.04.2010 
					
					
					
						Сообщений: 34
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		Всего лишь ссылку на текущую jQuery коллекцию (по сути - объект, похожий на массив). Язык тут не причем. Это такая плюшка jQuery - цепочки вызовов, chained calls вроде. На сайте jquery.com полюбому есть демонстрация цепочек.
	 | 
 
	
 
 Понято, почитаю. Спасибо.
 
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		Мы можем даже сами вызвать его - someimage.onload() - при таком вызове this будет указывать на someimage, верно?
	 | 
 
	
 
 Да. Пытался сформулировать в чем у меня был вопрос, но внятно описать не смог. Видимо просто надо перечитать про области видимости. Похожу я в этом где-то запутался.   
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		Не без дефиса, а без префикса. Префикс - это -ms-
	 | 
 
	
 
 Совершенно верно, глянул на ту ссылку - префикс это -ms- ... память подводит   . Если интересно, то ссылка  вот.
 
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		Какие еще рецепты. Просто убери этот кусок кода, все должно работать без него. В крайнем случае запили тестовый пример прям тут - посмотрим.
	 | 
 
	
 
 И снова я был не прав. Убрал функцию step в animate() - плавность всё равно осталась. Всё работает. Я же был уверен в том, что работать не будет т.к. изначально пробовал в animate() поместить 
 
newImg.style.filter ='progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
 
Т.е. просто плавный переход в серый цвет. И не работало именно такое решение, а не с применением прозрачности.
 
	
 
	
		
			Сообщение от danik.js
			 
		
	 | 
 
	| 
		По части документации - для начала можешь покурить Учебник
	 | 
 
	
 
 Начал еще вчера, но там мноооого всего. Думал нужные куски найти побыстрее, но да это уже совершенно другой вопрос.
 
P.S. на сайте/форуме нет раздела в духе "вот мой плагин, пользуйтесь на здоровье"? Вижу на форуме место для обсуждения плагинов, но это немного не то. И так оффтопиков развёл.   
P.P.S. прикручу реализацию кросдоменных картинок, и выложу окончательный вариант. Ну или раньше приду с вопросами    
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.02.2013, 10:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		P.S. на сайте/форуме нет раздела в духе "вот мой плагин, пользуйтесь на здоровье"?
	 | 
 
	
 
 http://javascript.ru/forum/project/ 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.02.2013, 10:51
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.04.2010 
					
					
					
						Сообщений: 34
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Deff
			 
		
	 | 
 
	
		Лучше имхо отдельным расширением, связанным плагином 
На хабре видал статейку, как реализуемо для свежих версий браузеров => http://habrahabr.ru/post/120917/
	 | 
 
	
 
 Deff, я посмотрел этот пост... скажу честно - очень многое осталось непонятым совершенно. Судя по всему, ты рекомендовал мне использовать CORS? Но это не будет работать в ишаках 7-, а так же требует настройки сервера, дабы он возвращал  
	
 
	| 
		 Код: 
	 | 
 
	Header set Access-Control-Allow-Origin "*"  | 
 
	
 
 
Это написано вот  здесь. 
Вопрос - я прав, и это действительно тот способ который ты посоветовал? Или я проглядел что-то более простое... Ибо если нужно перенастроить заголовки ответа сервера, с которого планируется получать свои картинки... То во многих случаях плагин работать не будет. Т.к. доступа к серверу нет, а вряд ли большинство хостеров/админов такие добрые, что станут настраивать такой заголовок "впрок, дабы людям было удобно".  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.02.2013, 11:20
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от master_alf
			
		
	 | 
 
	| 
		Deff, я посмотрел этот пост... скажу честно - очень многое осталось непонятым совершенно. Судя по всему, ты рекомендовал мне использовать CORS? Но это не будет работать в ишаках 7-, а так же требует настройки сервера, дабы он возвращал
	 | 
 
	
 
 Да - скорее Всего - тут я не прав. Нун искать статьи: загрузка в канвас картинки  с инодомена  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Deff, 26.02.2013 в 11:23.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.02.2013, 11:30
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.04.2010 
					
					
					
						Сообщений: 34
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Понято. Значит погуглю всевозможные варианты. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |