1

当我在 Chrome(Windows 8)中的“.tile”类的 div 上执行第一次悬停时,背景位置虽然指定为只有负移位,但会向相反方向撤退。对于每个这样的 div,第一次悬停时都会重复此行为;但是,它似乎不会在随后的悬停中重复出现,平滑地滑动而没有卡顿。

我尝试按照一些较旧的 jQuery 动画口吃常见问题解答中的建议删除填充,但无济于事(尽管我认为它们不再适用于 jQ 1.3+?)。我是 jQuery 新手,需要一些帮助,谢谢。:)

$(function() {
    $('.tile').hover(function () {
        console.log('in');
        $(this).animate({
            'background-position-y': -($(this).children('figcaption').height())
        }, 'fast', 'linear');
        $(this).children('figcaption').slideToggle('fast');
    },
    function () {
        console.log('out');
        $(this).animate({
            'background-position-y': 0
        }, 'fast', 'linear');
        $(this).children('figcaption').slideToggle('fast');
    });
});
4

1 回答 1

0

我意识到,由于我不知道背景图像的高度,由于 css 背景位置规则,不可能指定从中心的偏移量。

我继续使用图像大小调整脚本 ( SLIR ) 将其裁剪成形状。知道结果图像的尺寸后,我可以根据需要使用绝对值来定位我的背景。

参考:

于 2013-12-19T18:18:21.627 回答