预加载youtube视频iframe以获得更流畅的jquery动画?

时间:2012-11-18 20:02:07

标签: jquery youtube slidedown

我有许多链接到youtube视频iframe,它们通过传递Youtube href使用jQuery slideDown出现在弹出窗口中,如下所示。工作正常,但效果很刺耳,因为Youtube img并不尊重' jQuery slideDown并顺利显示。例如

http://jchmusic.com/videos

...只需点击4个img链接即可。

有没有办法以某种方式预先加载' Youtube iFrame(或其他技术)的内容让slideDown错觉更好? (顺便说一下:我已经尝试过添加单独的节点而不是下面的所有一个大字符串,它没有效果。)

jQuery('ul.slideshow a').click(function(e) {
    e.preventDefault();          
    var pNum = jQuery(this).attr('href');
    jQuery('#modalpopup #inside').empty();          
    jQuery('#modalpopup #inside').append('<iframe width="420" height="315" src="http://www.youtube.com/embed/' + pNum + '" frameborder="0" allowfullscreen></iframe>');
    iH = jQuery(document).height();
jQuery('#overlay').height(iH - 112).fadeTo( 'slow', .2 );
    jQuery('#modalpopup').slideDown(1000);
});

TIA,

--- JC

1 个答案:

答案 0 :(得分:0)

setTimeout

怎么样?
jQuery('ul.slideshow a').click(function(e) {
    e.preventDefault();
    var pNum = jQuery(this).attr('href');
    jQuery('#modalpopup #inside').empty();
    jQuery('#modalpopup #inside').append('<iframe width="420" height="315" src="http://www.youtube.com/embed/' + pNum + '" frameborder="0" allowfullscreen></iframe>');
    setTimeout(function() {
        iH = jQuery(document).height();
        jQuery('#overlay').height(iH - 112).fadeTo('slow', .2);
        jQuery('#modalpopup').slideDown(1000);
    }, 1200);
});​