Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.05.2012, 12:10
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Понял, глобальные значения изменяются перед листенером..
Ответить с цитированием
  #12 (permalink)  
Старый 15.05.2012, 12:19
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Сообщение от JDev
евент срабатывает при первой же загрузке окна
К стати - да
Ext.onReady(function() {
			var win = new Ext.Window({
				width : 1465,
				height: 785,
				id : 'autoload-win',
				autoScroll : true,
				html: '<div id="generateImage"><img id="target" alt="generateImg" height="{height}" width="{width}" /></div>',
				listeners:{
					resize: function (panel, w,h){
						$("#target").one('load', loadCallback).attr('src', adresse).each(function () {
							if (this.complete) $(this).trigger('load');
						});
					}
				}
			});
				  
			win.show();
			
*!*
			$("#target").one('load', loadCallback).attr('src', adresse).each(function () {
				if (this.complete) $(this).trigger('load');
			});
*/!*

			$('#target').imgAreaSelect({
				handles: true,
				movable: false,
				resizable: false,
				autoHide: true,
				onSelectEnd: function (img, selection) {
					$("#target").one('load', loadCallback).attr("src", adresse + "&x1=" + selection.x1 + "&y1=" + selection.y1 + "&width=" + selection.width + "&height=" + selection.height).each(
						function () {
							if ($("#target").complete) 
								$("#target").trigger('load');
						});
				}
			});
		});

лишнее...
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
  #13 (permalink)  
Старый 15.05.2012, 13:05
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Ext.onReady(function() {
                   // создадим окно
			var win = new Ext.Window({
				width : 1465, // такое окно у многих в браузер не влезет !
				height: 785,
				id : 'autoload-win',
				autoScroll : true,
				html: '<div id="generateImage"><img id="target" alt="generateImg" height="{height}" width="{width}" /></div>',
				listeners:{
					resize: function (panel, w,h){                        

                       //каким образом формируется адрес ? пишу на обум
                       var adresse="getimg.php?width="+w+"&height="+h;

                      // изменим src, и подпишемся на событие (невижу необходимости в trigger)
                      $("#target").one('load',loadCallback).attr('src', adresse);              
                     }
                 }
            });
			// показываем окно	  
			win.show();		

           // создадим плагин ответственный за выбор фрагмента изображения
           $('#target').imgAreaSelect({......................

         
            /**
             * обработчик события загрузки
             */
            function loadCallback(...............................
                    				
});
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 15.05.2012 в 13:56.
Ответить с цитированием
  #14 (permalink)  
Старый 15.05.2012, 14:05
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Цитата:
DjDiablo
- красиво расписали.
Но функцию мне нужно пользовать вот такую,
$("#target").one('load', loadCallback).attr('src', adresse).each(function () {
				                if (this.complete) $(this).trigger('load');
				            });

потому, что только в этом случае я могу прочитать кукисы которые приходят с сервера.

Просто при изменении окошка мне нужно отсылать на сервер новые координаты и мне сервер должен прислать измененнную картинку.

Кажется я понял как решить свою задачу, надеюсь кусочком кода вы мне подскажете.
Я думаю лучшее решение, при изменении окна удалять все с него а потом заново грузить.
Вот проблема только я не знаю как мне удалить все..
Пробовал RemoveAll но там хочет как аругмент компоненту. А у меня по ходу только HTML.
попробовал

html:'';


но никаких изменений, контент не удаляется..
как мне удалить из окна ExtJs сохданный мною контент?

Спасибо!

Цитата:
// такое окно у многих в браузер не влезет !
- это просто для примера, позже оно будет задаваться системой.
Ответить с цитированием
  #15 (permalink)  
Старый 15.05.2012, 14:14
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

думаю достаточно удалить img
$("#generateImage").empty();
однако не доганяю чем это упростит жизнь.

и ктонибудь, обьясните мне балбесу, какая связь между trigger и куки.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 15.05.2012 в 14:16.
Ответить с цитированием
  #16 (permalink)  
Старый 15.05.2012, 14:19
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Кажется проблема решилась, и я получил то что хотел в конечном итоге...

Вот что искалось...
listeners:{
					resize: function (panel, w,h){
							Ext.get("target").dom.src="";
							$("#target").one('load', loadCallback).attr('src', adresse).each(function () {
				                if (this.complete) $(this).trigger('load');
				            });
					}
				}


Этот код с триггером я нарыл где-то. С помощью его я дожыдаюсь полного ответа с сервера.
Система такая, я отсылаю размеры изображения на сервер, сервер в ответ мне шлет другие кукисы, которые я должен применить перед установокой плагина imgAreaSelect(Сервер шлет ограничения на область выделения). Вот.. как-то так..
Ответить с цитированием
  #17 (permalink)  
Старый 15.05.2012, 15:08
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Сообщение от JDev Посмотреть сообщение
Я думаю лучшее решение, при изменении окна удалять все с него а потом заново грузить.
Сообщение от DjDiablo Посмотреть сообщение
думаю достаточно удалить img
$("#generateImage").empty();
Задлянафига? Чем же src у img неправославен?
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
  #18 (permalink)  
Старый 15.05.2012, 16:08
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Это пппц какой-то.
Может мне кто на пальцах объяснить что я этим делаю? Код нашел, допилял - заработало, а конекретно не понимаю что делает.

$("#target").one('load', loadCallback).attr('src', adresse).each(function ()
      if (this.complete) $(this).trigger('load');
});



Я только знаю что с помощью этого кода я полностью гружу изображение, а когда полностью придет ответ с сервера, читаю кукисы в функции loadCallback
Ответить с цитированием
  #19 (permalink)  
Старый 15.05.2012, 16:25
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

1. тынць
2. Вот зачем Вам этот винегрет?
Сообщение от JDev
картинка из сервера грузится в окно ExtJS
Лядно - пусть... Но
Сообщение от JDev
Потом с этой картинкой работает jQuery.
Вот и обеспечьте все в Ext'е, а уже потом отдайте эту картинку на растерзание jQuery
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
  #20 (permalink)  
Старый 15.05.2012, 17:00
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

1. Да конечно я почитал что делает каждая ф-ця, но от этого понимания не прибавилось..., не силен я в Js, а порой приходится типо что-то делать.. толком и учить некогда, и как приходится делать, то не понимаешь что да и как..
2.
Цитата:
2. Вот зачем Вам этот винегрет?
- дык вот, знать бы как это все переписать так как вы говорите..
Буду танцевать, - пасиб.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить 2 разных действия при одном запросе. Gesandte AJAX и COMET 12 18.12.2011 16:53
Как выполнить код javascript при инклюде странички на php wfire jQuery 7 27.05.2011 14:43
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18