[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: jq ajax
Guest
				function getOriginalSize() {
var host = $("#host").val();
query ='url='+getData('image').source;
$.ajax({
url: host +'ajax/imageSize.php',
type: "GET",
data: query,
success: function(response){
response = JSON.parse(response)
}
}
);
}

помогите пожалуйста сделать так, чтобы функция getOriginalSize() возвращала response
эта переменная не доступна в самой функции, она доступна только внутри
$.ajax({
Michael
Цитата
помогите пожалуйста сделать так, чтобы функция getOriginalSize() возвращала response

не выйдет.

_____________
There never was a struggle in the soul of a good man that was not hard
Guest
Michael
а как тогда быть?
Guest
мне вообще по идее надо узнать размер картинки по ее URL, я попробовал это сделать по этому примеру из инета, но я получил 0
function imgfun(imgUrl)
{
var imag = new Image();
imag.src = imgUrl;
var imgWidth = imag.width;
var imgHeight = imag.height;
var txt = document.getElementById('comm');
txt.value = "Размер картинки по адресу " + imgUrl + " составляет:\n" + "ширина "+imgWidth + "px.\n" + "высота " + imgHeight + "px.";
}
Michael
ну этот то код рабочий.

Покажи свой переделанный.

_____________
There never was a struggle in the soul of a good man that was not hard
Guest
				function getOriginalSize() {

var imag = new Image();
imag.src = 'http://yandex.st/www/1.587/v12/skins/desktop/ipv6/ipv6-logo-ru.png';
var imgWidth = imag.width;
var imgHeight = imag.height;
return imgWidth; //0
}
Guest
Michael
в каком месте ты его рабочим нашел я хз, я в точности функцию в консоль хрома вбил, подставил url и получил :
Цитата
Размер картинки по адресу http://yandex.st/www/1.587/v12/skins/deskt...pv6-logo-ru.png составляет:
ширина 0px.
высота 0px.

вот что я вставил в консоль, может интересно
function imgfun(imgUrl)
{
var imag = new Image();
imag.src = imgUrl;
var imgWidth = imag.width;
var imgHeight = imag.height;
var txt = document.getElementById('comm');
console.log("Размер картинки по адресу " + imgUrl + " составляет:\n" + "ширина "+imgWidth + "px.\n" + "высота " + imgHeight + "px.");
}
imgfun('http://yandex.st/www/1.587/v12/skins/desktop/ipv6/ipv6-logo-ru.png')

а ну еще изменил чтобы там в консоль выводило результат, а не непонятно куда
Michael
Картинки в буфере нет, так что да, так не будет показывать.
Запусти свой код 2-ой раз, увидишь что покажет.
Надо на onload ориентироваться.
Тут как раз с примером

_____________
There never was a struggle in the soul of a good man that was not hard
Guest
function getWidthAndHeight() {
var originalSize = [];
originalSize['width'] = this.width;
originalSize['height'] = this.height;
return originalSize;
}
var myImage = new Image();
myImage.onload = getWidthAndHeight;
myImage.src = getData('image').source;

ну вот так работает, только пока не придумал как достать из функции данные в таком случае
Guest
console.log(myImage.width);

вот так я опять получаю 0
Michael
Учись программировать событийно. Это тебе не php.
Т.е. вывод инфы о картинке надо в onload организовать.

_____________
There never was a struggle in the soul of a good man that was not hard
Guest
Michael
не понял, можно чуть конкретней?
Guest
Michael
мне просто не совсем ясна структура этой функции и как это вообще работает
Michael
function getImgSize(url, id) {
var imag = new Image();
imag.onload = function (){
var txt = document.getElementById(id);
if (txt) txt.value = this.width + '\n' + this.height;
}
imag.src = url;
}
getImgSize('http://yiiframework.ru/forum/styles/prosilver/imageset/yii_logo.png', 'pozt2525602');


_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.