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);
ممنون می شم کمک کنید.
بنده یک قطع کد دارم که این شکلی
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);
ممنون می شم کمک کنید.