ورود

View Full Version : تابع load و مقدار دهی کردن متغیر در آن



woods_f
یک شنبه 03 آبان 1394, 01:42 صبح
با سلام
بنده یک قطع کد دارم که این شکلی


http://jsfiddle.net/3ezmotft


var $child = {}
var $childCount = 0;


function addImage(){
$child[$childCount] = {width: 0, height: 0};
$('.parent').append('<div class="child" id="child-' + $childCount +'"></div>');
$('<img src="img/smiley.gif">').load(function(e) {
$('#child-' + $childCount).css({
width: this.width,
height: this.height
});
$child[$childCount].width = this.width;
$child[$childCount].height = this.height;
$childCount++;
}).appendTo('#child-' + $childCount);


$('#info').html(JSON.stringify($child));
}


addImage();
addImage();



وقتی کد $('#info').html(JSON.stringify($child)); اجرا می شه مقدار $child برابر 0و0 ولی وقتی کد $('#info').html(JSON.stringify($child)); داخل load باشه اندازه رو درست میده مثلا 32و 32

در واقع هنگام استفاده از توابع ajax هم همین مشکل پیش می آید مقداری رو که success: function(data) {} می ده نم شه جایی ذخیره کرد و مقدار default رو می ده.


var myData = '';


$.ajax({
type: 'POST',
async: false,
url: "some_file.php",
data: "",
success: function(data) {myData = true;}
});


//use myData var is here
$('#info').html(myData);



ممنون می شم کمک کنید.