2012-03-05 50 views
1

基本上,我需要重新創建頁面:http://www.facebook.com/me/friends朋友與大小的圖片

不過:因爲不是所有的圖片是真實的廣場,我需要得到他們的尺寸,以便使用CSS和隱藏的溢出(就像Facebook的裁剪他們基本上)。我知道有一種方法來檢索方形圖像,但它們的大小是50x50像素(我想要大一些)。

我想FQL能做到這一點,也許會開始是這樣的:從JavaScript

fql?q=SELECT name, pic_big FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

回答

1

你可以得到圖像尺寸,然後強制在一個固定的高度/寬度DIV他們定位爲背景圖像。圖像加載後,您可以通過javascript獲取寬度的高度。

IMG onload事件看:http://www.w3schools.com/jsref/event_img_onload.asp

這裏就是你要做的

<img onload="redoImage(this)" src="<%=user["pic_big"]%>" id="pic1">

或通過JS

var img=new Image(); 
img.onload = redoImage(); 
img.src="<%=user["pic_big"]%>"; 

那麼這纔是真正的地方,圖片顯示了和你」用適當的偏移量設置它的背景圖像以使圖像正確顯示。花點時間計算出如何獲得偏移x或偏移y。

<div id="pic1-holder" style="width:120px; height:120px;">&nbsp;</div>

function redoImage(this) { 
    var xOffset = computeXoffset(this.width, 120); 
    var yOffset = computeYoffset(this.height, 120); 
    // now set the background image of the div 
    // and the offset of that background image 
}; 

我的生產代碼,奇妙做到這一點。快樂的編碼。

+1

非常棒!謝謝! – MonsieurNinja 2012-03-07 09:56:01