15.05.2012, 12:10
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Понял, глобальные значения изменяются перед листенером..
|
|
15.05.2012, 12:19
|
|
Профессор
|
|
Регистрация: 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
|
|
15.05.2012, 13:05
|
Профессор
|
|
Регистрация: 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.
|
|
15.05.2012, 14:05
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
- красиво расписали.
Но функцию мне нужно пользовать вот такую,
$("#target").one('load', loadCallback).attr('src', adresse).each(function () {
if (this.complete) $(this).trigger('load');
});
потому, что только в этом случае я могу прочитать кукисы которые приходят с сервера.
Просто при изменении окошка мне нужно отсылать на сервер новые координаты и мне сервер должен прислать измененнную картинку.
Кажется я понял как решить свою задачу, надеюсь кусочком кода вы мне подскажете.
Я думаю лучшее решение, при изменении окна удалять все с него а потом заново грузить.
Вот проблема только я не знаю как мне удалить все..
Пробовал RemoveAll но там хочет как аругмент компоненту. А у меня по ходу только HTML.
попробовал
html:'';
но никаких изменений, контент не удаляется..
как мне удалить из окна ExtJs сохданный мною контент?
Спасибо!
Цитата:
|
// такое окно у многих в браузер не влезет !
|
- это просто для примера, позже оно будет задаваться системой.
|
|
15.05.2012, 14:14
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
думаю достаточно удалить img
$("#generateImage").empty();
однако не доганяю чем это упростит жизнь.
и ктонибудь, обьясните мне балбесу, какая связь между trigger и куки.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 15.05.2012 в 14:16.
|
|
15.05.2012, 14:19
|
Аспирант
|
|
Регистрация: 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(Сервер шлет ограничения на область выделения). Вот.. как-то так..
|
|
15.05.2012, 15:08
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
Сообщение от JDev
|
Я думаю лучшее решение, при изменении окна удалять все с него а потом заново грузить.
|
Сообщение от DjDiablo
|
думаю достаточно удалить img
$("#generateImage").empty();
|
Задлянафига? Чем же src у img неправославен?
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
15.05.2012, 16:08
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
Это пппц какой-то.
Может мне кто на пальцах объяснить что я этим делаю? Код нашел, допилял - заработало, а конекретно не понимаю что делает.
$("#target").one('load', loadCallback).attr('src', adresse).each(function ()
if (this.complete) $(this).trigger('load');
});
Я только знаю что с помощью этого кода я полностью гружу изображение, а когда полностью придет ответ с сервера, читаю кукисы в функции loadCallback
|
|
15.05.2012, 16:25
|
|
Профессор
|
|
Регистрация: 19.12.2009
Сообщений: 164
|
|
1. тынць
2. Вот зачем Вам этот винегрет?
Сообщение от JDev
|
картинка из сервера грузится в окно ExtJS
|
Лядно - пусть... Но
Сообщение от JDev
|
Потом с этой картинкой работает jQuery.
|
Вот и обеспечьте все в Ext'е, а уже потом отдайте эту картинку на растерзание jQuery
__________________
"Helo, word!" - 17 errors 56 warnings
|
|
15.05.2012, 17:00
|
Аспирант
|
|
Регистрация: 19.11.2011
Сообщений: 77
|
|
1. Да конечно я почитал что делает каждая ф-ця, но от этого понимания не прибавилось..., не силен я в Js, а порой приходится типо что-то делать.. толком и учить некогда, и как приходится делать, то не понимаешь что да и как..
2.
Цитата:
|
2. Вот зачем Вам этот винегрет?
|
- дык вот, знать бы как это все переписать так как вы говорите..
Буду танцевать, - пасиб.
|
|
|
|