PDA

View Full Version : سوال: چجوری یه تابع رو بعد از load کامل عناصر ajax اجرا کنم



se8820726
جمعه 08 دی 1391, 18:45 عصر
سلام دوستان
آقا من یه جایی میخوام که با ajax یا load یه سری element و تصویر به صفحه اضافه میکنم و میخوام که بعد از load کامل تصاویر یه دستور رو اجرا کنم.
خوب از روش زیر استفاده میکنم:

$('#content').load('url', function(res,status,xhr){
if (status=='success') {
alert($('#pic').width());
}
});

میخوام که بعد از load کامل، width تصویرمون با ای دی pic رو با alert نمایش بدم
منتهی function بعد ajax موفقیت آمیز load و قبل از load کامل تصویر تو صفحه اجرا میشه و مقدار width تصویر رو 0 میده

میشه دوستان راهنمایی کنند که چطوری بایذ این مشکلو حل کرد؟

hakan648
شنبه 09 دی 1391, 19:47 عصر
سلام
فکر نمی کنم طریقه ی بارگذاری داینامیک تصویر به این شکل صحیح باشه ، متدهای load و ajax برای دریافت محتوای متنی ( و با فرمت های مختلف ) به کار میره.

برای بارگذاری داینامیک تصویر میتونید از کدی مشابه زیر استفاده کنید و رویدادهای مرتبط رو مدیریت کنید:

var imageLoaded = function () {
alert("image loaded.");
},
imageLoadError = function () {
alert("image error.");
};

var img = new Image();
img.src = "/images/imageLoadError.png";
img.onload = imageLoaded;
img.onerror = imageLoadError;
img.onabort = imageLoadError;

اضافه کردن element هم که نکته ی خاصی نداره ، فکر کنم مشکلتون با توضیحات بالا برطرف بشه.

توجه کنید که هر زمانی که مقدار src تصویر مشخص بشه ، مرورگر سعی به دریافت تصویر میکنه.

بیشتر : HTML DOM Image Object (http://www.w3schools.com/jsref/dom_obj_image.asp)