0

这里 jsfiddle 链接到我的问题http://jsfiddle.net/XnnvD/35/(不太工作)

我将尝试解释问题所在,我在 jQuery 中有 3 组动画

1- 图像在一些 TimePeriod 后反弹并消失,如下所示:

$('#homePageImage').animate(
                    { top: '50px' },
                    { queue: false, duration: 1000, easing: 'easeOutBounce' });
$('#homePageImage').delay(3000).effect('drop', { direction: "right" });

2-.fadeIn()随机图片集如下:

randNumArray = shuffle(randNumArray);
for (var i = 0; i < 9; i++)
{ $('#fs' + randNumArray[i]).delay(j += 200).fadeIn(j); }

3-将鼠标悬停在这些图像上,将它们放大如下:

$(function () {
            $("ul.thumb li").hover(function () {
                $(this).css({ 'z-index': '10' });
                $(this).find('img').addClass("hover").stop().animate({
                    marginTop: '-110px',
                    marginLeft: '-110px',
                    top: '50%',
                    left: '50%',
                    width: '174px',
                    height: '174px',
                    padding: '20px'
                }, 500);

            }, function () {
                $(this).css({ 'z-index': '0' });
                $(this).find('img').removeClass("hover").stop().animate({
                    marginTop: '0',
                    marginLeft: '0',
                    top: '0',
                    left: '0',
                    width: '100px',
                    height: '100px',
                    padding: '5px'
                }, 500);
            });
        });

问题: 如果用户在第一组动画完成之前悬停,图像不.fadeIn()完整,因此部分/不可见

我想要什么: 我希望第三组(悬停放大)在我的第一组和第二组动画完成之前保持不活动状态,我该怎么做?

谢谢

4

3 回答 3

0

您能否尝试在第二个动画的背面调用悬停函数作为回调函数。基本而言:

$("#homePageImage").fadeIn("slow", function() {

// enable hover function

});
于 2011-05-16T20:47:11.240 回答
0

您是否只想使用回调:

$('image').fadeIn('fast', function() {
  $('image').hover(function() {do stuff...});
});
于 2011-05-16T20:50:38.060 回答
0

将您的 Hover 函数放在这样的 SetTimeOut 函数中

setTimeout((function () {
            $("ul.thumb li").hover(function () {
                $(this).css({ 'z-index': '10' });
                $(this).find('img').addClass("hover").stop().animate({
                    marginTop: '-110px',
                    marginLeft: '-110px',
                    top: '50%',
                    left: '50%',
                    width: '174px',
                    height: '174px',
                    padding: '20px'
                }, 500);

            }, function () {
                $(this).css({ 'z-index': '0' });
                $(this).find('img').removeClass("hover").stop().animate({
                    marginTop: '0',
                    marginLeft: '0',
                    top: '0',
                    left: '0',
                    width: '100px',
                    height: '100px',
                    padding: '5px'
                }, 500);
            });
        }), *Put time in miliseconds*);

所以这将确保在指定的时间段之前不会发生悬停!

于 2011-05-16T21:29:01.977 回答