我有一个应用程序可以放大focus()
上的图像并缩小blur()
。我已经阅读了原始图像大小并添加了15px以便创建放大效果,这很好。问题在于缩小效果,我试图将我读过的原始图像大小传递给.blur()
,但没有运气。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
首先,您没有在$.data()
函数的orgW
和orgH
上调用.blur()
方法。另外,我已将您的.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);
});
});
答案 1 :(得分: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);
});
编辑:现在应该可以了。