0

我有一个放大图像focus()和缩小图像的应用程序blur()。我已经阅读了原始图像尺寸并添加了 15px 以创建放大效果,效果很好。问题在于缩小效果,我试图将我读过的原始图像大小传递给.blur()但没有运气。谁能帮我解决这个问题?

4

2 回答 2

1

这是以下代码的工作演示

首先,您没有在函数中调用该$.data()方法。此外,我已经更改了您的函数,使其具有与您的函数类似的实现,以使缩小工作:orgWorgH.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);
    });

});
于 2011-01-25T10:38:33.987 回答
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);
});

演示

编辑:现在它应该可以工作了。

于 2011-01-25T10:43:12.670 回答