我想顯示一個儘可能大的圖像。當用戶在節目快照中點擊它時,它會通過ajax加載,並且應該調整大小。再次,調整大小是沒有問題的,如果我使用它通過一個點擊事件,它完美的作品,但它沒有正確觸發,如果我有這樣的:jQuery:調整大小加載後的圖像 - 調整大小已經起作用,但不會觸發
$('.thumbnail').click(function() {
id = $(this).attr('id');
$('#picbox').fadeIn(fadeSpeed);
$('#picture').load("/propfe/ajax/picture/" + id);
$('#picture').fadeIn(fadeSpeed);
$('#bigpic').ready(function() {
var browserHeight = $(window).height() - 200;
var browserWidth = $(window).width() - 200;
var height = $('#bigpic').height();
var width = $('#bigpic').width();
var picRatio = width/height;
var windowRatio = browserWidth/browserHeight;
if(picRatio < windowRatio) {
$('#bigpic').css({ "height": browserHeight + "px" });
}
if(picRatio > windowRatio) {
$('#bigpic').css({ "width": browserWidth + "px" });
}
});
$('.pic_loader').fadeOut(fadeSpeed, function() {
$('.pic_loaded').fadeIn(fadeSpeed);
});
});
到目前爲止,我我想我會盡快解釋它,也許你不需要閱讀這一段:代碼是通過點擊縮略圖來觸發的。首先,它獲取圖片的id,應該加載並淡入div,所有內容都將加載並加載gif。之後,ajax-request將被髮送,結果會淡入,準備就緒時,圖像(id = bigpic)應該調整大小。最後一行不是很有趣,它們只是淡出加載gif並在其餘所有內容中消失,代碼正在生成。
當我試圖給出一些變量時,會在任何內容消失之前給出警報,並且圖片的寬度和高度爲空,所以我認爲代碼在圖片加載之前觸發。
那麼它是如何可能的,它只是執行,如果圖像完全加載?
我不知道,但你可以嘗試把代碼「圖像準備好,獲得高度和寬度o f準備好的圖像「在jQuery的'.load()'函數的回調中。 參考http://api.jquery.com/load回調'.load()' – 2012-03-21 11:17:28
不幸的是它也無法正常工作... – StoryTeller 2012-03-21 14:28:33
嘗試更改'$('#picture')。load(「/ propfe/ajax/picture /「+ id)'到'$('#bigpic')。load(」/ propfe/ajax/picture /「+ id)' 或者顯示一些你用過的html。 – 2012-03-21 14:31:37