javascript - 如何覆盖我想要隐藏的 div 中 flash 插件的 "always show"属性?

标签 javascript jquery css flash visibility

我有一个 Flash 对象,我试图将其与隐藏的 div 的其余部分一起显示和隐藏。没有 flash 对象,隐藏的 div 效果很好。当页面加载时,此样式使 div 隐藏:

<style>
div {display:none;}
p {display:none;}
div p {display:none;}
</style>

但是当我添加 Flash 对象时,它总是出现。

<div id="hidden1">
  <p id="audioplayer_1">Alternative content</p>
  <script type="text/javascript">
    AudioPlayer.embed("audioplayer_1", {soundFile: "http://yoursite.com/path/to/mp3_file.mp3"});  
  </script>
</div>

Flash 对象是 Wordpress Audio Player它带有自己的 Javascript 文件,这似乎会导致播放器对象用 id 替换元素,例如“audioplayer_1”,如下面的安装示例所示(来自播放器的文档)。

除了样式之外,我是否需要一些有关文档加载的 JQuery 代码来尝试覆盖播放器对象的“始终显示”字符?如果是这样,我需要定位什么事件?

   1. <html>  
   2.     <head>  
   3.         <title>Your website</title>  
   4.   
   5.         ...  
   6.   
   7.         <script type="text/javascript" src="path/to/audio-player.js"></script>  
   8.         <script type="text/javascript">  
   9.             AudioPlayer.setup("http://yoursite.com/path/to/player.swf", {  
  10.                 width: 290  
  11.             });  
  12.         </script>  
  13.   
  14.     </head>  
  15.     <body>  
  16.   
  17.         <p id="audioplayer_1">Alternative content</p>  
  18.         <script type="text/javascript">  
  19.         AudioPlayer.embed("audioplayer_1", {soundFile: "http://yoursite.com/path/to/mp3_file.mp3"});  
  20.         </script>  
  21.   
  22.         <p id="audioplayer_2">Alternative content</p>  
  23.         <script type="text/javascript">  
  24.         AudioPlayer.embed("audioplayer_2", {soundFile: "http://yoursite.com/path/to/mp3_file_2.mp3"});  
  25.         </script>  
  26.   
  27.     </body>  
  28. </html>   

最佳答案

我已经使用 swfobject 解决了这样的问题。解决方案是在显示 div 之前不要调用 embed() 方法。因此,如果您使用 jQuery,您的 HTML 可能如下所示:

<a href="#audioplayer_1">Play 1</a>
<div id="hidden1">
  <p id="audioplayer_1">Alternative content</p>
</div>

对于 jQuery 来说会是这样的:

$('a').click(function(
    target = $(this).attr('href');
    $('p'+target).parent().show(); // show the div
    AudioPlayer.embed("audioplayer_1", {soundFile: "mp3_file.mp3"}); // load the audio player
));

关于javascript - 如何覆盖我想要隐藏的 div 中 flash 插件的 "always show"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150367/

相关文章:

JavaScript XMLHttpRequest 仅适用于检查器打开(Access-Control-Allow-Origin 错误)

javascript insideHTML 不工作

javascript - 使用 .data() 从附加到它的函数中引用元素?

css - 按选择器样式抓取查找

php - 突出显示下一个要填充的单选按钮组

javascript - Node.js:当我的所有工作线程都完成时如何执行某些操作?

jquery 自动完成与 ajax 完整指南

javascript - 捕获按钮上所有单击的跨浏览器方式是什么?

html - 将滚动条放在 div 标签的末尾

html - 旋转文本的宽度