2012-05-06 77 views
0

这可能是因为我还没有得到足够的睡眠,但我只是不明白这一点。我试图让您拥有多个视频页面,然后有上突然出现和消失的视频加载,这一切onClick之上的股利。我今天早些时候有过,但现在不起作用了。该功能的一部分是最简单的方式淡出

$('#hh').animate({ 
     opacity: 1 
    }, 0, function() { 
      myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
    $('#hh').fadeOut(400);               
    }); 

那么,为什么这不工作?

回答

2
$('#hh').show(); 
myVideo.src = videos[numb]; 
myVideo.load(); 
myVideo.play(); 
$('#hh').fadeOut(400);              
1

.fadeOut是一个很简单的方法来把事情淡出。

​​

.fadeOut()方法动画化匹配元素的不透明度。一旦透明度达到0,显示样式属性设置为无,所以该元素不再影响页面的布局。

延时时间是以毫秒为单位的较高的值表示较慢的动画,而不是较快的动画。可以提供字符串'fast'和'slow'来分别指示200和600毫秒的持续时间。如果提供了任何其他字符串,或者省略了duration参数,则使用400毫秒的默认持续时间。

1
$('TARGET').fadeOut(300); // TARGET is any valid selector 

fadeOut()

$('#hh').show('fast', function() { 
     myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
     $(this).fadeOut(400);               
    }); 

也可以使用

$('#hh').fadeIn('fast', function() { 
     myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
     $(this).fadeOut(400);               
    }); 

fadeIn()

+0

一个0毫秒'显示()'渲染没有动画,因此不需要回调。这对于OP来说是令人困惑和多余的。 – AlienWebguy

+0

@AlienWebguy嗯。谢谢 – thecodeparadox

+0

对不起,但是'show('fast',..'与'fadeIn()'不一样,你会发现它随着这种技术的消失而增长 – AlienWebguy

0

您可以替换与您的代码,

$('#hh').fadeIn('slow', function() { 

        // Call Back Function 

        myVideo.src = videos[numb]; 
        myVideo.load(); 
        myVideo.play(); 
        $('#hh').fadeOut('slow');        
     }        
    }); 

但有,我还没有明白一件事,就是为什么要在其后设置不透明度0 myVideo.play();

+0

他正在显示一个div,可能会说“加载视频”,而视频加载,并且在视频开始播放。 – davidaam

+0

@davidaam这基本上消失 –

0

你可以使用淡入,在回调改变你的视频src,加载和播放,最后fadeOut。它应该工作

$('#hh').fadeIn(400, function() { 
    myVideo.src = videos[numb]; 
    myVideo.load(); 
    myVideo.play(); 
    $(this).fadeOut(400);  
});