2011-01-25 73 views
0

我有一個應用程序,它可以放大圖像focus()並縮小在blur()。我已經讀了原始圖像的大小,並添加了15px爲了創建放大效果,這很好。問題是縮小效果,我試圖將我讀取的原始圖像尺寸傳遞給.blur(),但沒有運氣。任何人都可以幫我解決這個問題嗎?問題.blur函數使用jquery

+1

轉到您的演示,並粘貼您的CSS,HTML和jQuery代碼在由jsFidle給出的適當的編輯器。 – Vivek 2011-01-25 08:41:41

回答

1

Here is a working demo以下代碼。

首先,你不是叫你.blur()功能上orgWorgH$.data()方法。另外,我改變了你的.blur()功能有類似的實現你的.focus()功能,以獲得變焦出門上班:

$('button:has(img)').blur(function() { 

    if (timer !== null) clearTimeout(timer); 

    var $image = $(this).find('img'); 

    $image.each(function() { 
     $(this).animate({ 
      'width': $.data(this, 'orgW') + 'px', 
      'height': $.data(this, 'orgH') + 'px', 
     }, 500); 
    }); 

}); 
+0

嘿謝謝很多:)你的代碼幫了我很多 – rashmi 2011-01-25 11:20:28

1

您還可以在動畫功能使用'+=15''-=15'。無需存儲寬度和高度。

$('button:has(img)').focus(function() { 
    $(this).find('img').animate({ 
     width: '+=15', 
     height: '+=15' 
    }, 500); 
}); 

$('button:has(img)').blur(function() { 
    $(this).find('img').animate({ 
     'width': '-=15', 
     'height': '-=15' 
    }, 0); 
}); 

Demo

編輯:現在它應該工作。

+1

你的演示會減少每個blur()的寬度,但我不知道爲什麼。在Chrome 9中測試過。 – mVChr 2011-01-25 10:55:45