2011-10-16 40 views
0

我正在使用CSS创建一个弹出窗口,当用户将鼠标悬停在缩略图列表上时。这将显示发布的每个缩略图的不同YouTube视频,我已经使其工作。问题是,当我将鼠标移动到其他地方,以便它可以隐藏弹出窗口时,视频仍然在后台播放。另一个问题是,当我访问所有带有缩略图的帖子的页面时,它似乎在后台加载了所有的YouTube视频,导致它减慢了我的页面。我只想当它悬停在缩略图上时加载并卸载,这样一旦我将鼠标悬停在弹出窗口外,视频就会停止播放。我对jQuery不太了解,但我试过这段代码,我猜这是这样的需要...使用jquery加载和卸载div元素

<script type="text/javascript"> 
/* The first line waits until the page has finished to load and is ready to manipulate */ 
$(document).ready(function(){ 

    if ($('#vidthumbnail').is(':visible')) { 
     $('#vidthumbnail').show(); 
    } 


    if ($('#vidthumbnail').empty(':visible')) { 
     $('#vidthumbnail').hide(); 
    } 

}); 
</script> 

这是什么弹出

 <a id="vidthumbnail" href="#thumb"><img src="thumb.gif"/> 
     <span> 
      <div id="vidthumbnail"> 
      **the youtube embedded code goes here, every post with unique id** 
      </div> 
     </span> 
    </a> 

回答

1

内可以使用$('div').html('some html')一些HTML设置为div和$('div').html('')将其清除。

$(document).ready(function(){ 

    if ($('#vidthumbnail').is(':visible')) { 
     $('#vidthumbnail').html('format youtube code here') 
          .show(); 
    } 


    if ($('#vidthumbnail').empty(':visible')) { 
     $('#vidthumbnail').hide().html(''); // remove anything 
    } 

}); 

或者,如果您的div元素含量应该被加载的地方使用$('div').load(url_goes_here)