在悬停时移动图像10px并更改不透明度

时间:2011-08-11 19:30:11

标签: jquery

我的下面的代码运行良好,但我也希望将图像向下移动10px并再次移回鼠标输出,并将不透明度调回0.7。

$('#drinksList section a img').load(function() {
    $(this).data('height', this.height);
    }).bind('mouseenter mouseleave', function(e) {
        $(this).stop().animate({
            opacity: 1,
            height: $(this).data('height') * (e.type === 'mouseenter' ? 1.05 : 1)
        });
    });

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

你走了:

$('#drinksList section a img').load(function() {
    $(this).data('height', this.height);
}).bind('mouseenter mouseleave', function(e) {
    var enter = e.type === 'mouseenter',
        height = $(this).data('height');

    $(this).stop().animate({
        'margin-top': (enter ? 10 : 0),
        opacity: (enter ? 1 : 0.7),
        height: height * (enter ? 1.05 : 1)
    });
});

现场演示: http://jsfiddle.net/simevidas/YwU9u/

答案 1 :(得分:0)

试一试

$('.image').each(function() {

    var top    = parseInt($(this).css('top')); 
    var height = $(this).height(); 
    var width  = $(this).width();  

    $(this).hover(function() {

        $(this).stop().animate({
            opacity: 1.0,
            top: top + 10, 
            height: height + 10,
            width: width + 10 
        }, 100);
    }, function() {

        $(this).stop().animate({
            opacity: 0.7,
            top: top,
            height: height,
            width: width 
        }, 100);
    });
});

http://jsfiddle.net/qnGPV/9

答案 2 :(得分:0)

试试这个:

$('#drinksList section a img').hover(function() {
    $(this).stop().animate({
        opacity: 1.0,
        top: '+=10'   // move it down by 10px
    }, 1000);   // 1000 is the animation time in milliseconds
}, function() {
    $(this).stop().animate({
        opacity: 0.7,
        top: '-= 10'   // move it back up
    }, 1000);
});