嘿,夥計們。 所以這更多的是關於我不知道JS而不是一個真正的難題。在jQuery中使用JavaScript返回值
我想在JS中編寫一個小函數,我可以從jQuery調用來調整圖像大小。事情是我不知道如何在JS函數運行後將值返回給jQuery。這是我到目前爲止:
$('a').click(function() {
var slideshowHeight = $(this).closest('.stage').css('height')
var slideshowWidth = $(this).closest('.stage').css('width')
var newImageHeight = $(this).attr('data-height')
var newImageWidth = $(this).attr('data-width')
fit_within_box(slideshowWidth, slideshowHeight, newImageWidth, newImageHeight);
$(this).children('img').css('width',new_width);
$(this).children('img').css('width',new_height);
}
function fit_within_box(box_width, box_height, width, height)
{
var new_width = width
var new_height = height
var aspect_ratio = parseInt(width)/parseInt(height)
if (new_width > box_width)
{
new_width = box_width
new_height = int(new_width/aspect_ratio)
}
if (new_height > box_height)
{
new_height = box_height
new_width = int(new_height * aspect_ratio)
}
return (new_width, new_height)
}
正如你所看到的,我試圖提供一些值,並取回new_width和new_height。
感謝您的幫助!
是啊,這是一個好主意。我將如何訪問jQuery中的?我想是這樣的: 調整大小= fit_within_box(A,B,X,Y) resize.width resize.height 是否正確? – 2011-01-27 00:23:52
`fit_within_box`函數的值也需要在某處捕獲。關於OP代碼中的語法錯誤,'return(1,2,...,n)`只返回`n`,所以OP只會從寫入的函數返回`new_height`。 – jball 2011-01-27 00:24:53