0

我正在使用 jquery 处理选项卡机制......显示和隐藏内容的机制不是问题。但是 SWF 在选项卡中的行为方式……在 Firefox 中是这样的。在 Chrome 和 Safari 中它可以完美运行。如果您单击一个选项卡 - 您会看到 swf 出现,并且它从头开始播放。如果您单击另一个选项卡,然后返回上一个选项卡,则 Flash 内容将重新加载/重新启动。

但是我的问题是 Firefox,它的工作原理不一样...您单击一个选项卡-您会看到 swf 出现,但它已经开始了-大概是在加载页面时。如果您单击另一个选项卡,然后返回到上一个选项卡,则 Flash 内容已进行。

如何在单击选项卡时使任何选项卡中的 swf 内容开始/重新加载,并在单击其他选项卡时卸载。

我的代码是标准的 jquery 选项卡代码...

    <div id="tabs" class="flashes">
        <h3>Online Advertising</h3>
    <ul>
        <li><a href="#fragment-1"><img src="thumb1.jpg"/></a></li>
        <li><a href="#fragment-2"><img src="thumb2.jpg"/></a></li>
        <li><a href="#fragment-3"><img src="thumb3.jpg"/></a></li>
    </ul>
    <div id="fragment-1">
        <p>content in a tab</p>
    </div>
    <div id="fragment-2">
      <div class="mpu"> 
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="300" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,40,0"><param name="allowscriptaccess" value="always" />
<param name="src" value="300x250.swf" />
<param name="allowfullscreen" value="true" />
<embed type="application/x-shockwave-flash" width="300" height="250" 
src="300x250.swf" allowfullscreen="true" allowscriptaccess="always">
</embed>
</object>
    </div> </div>
    <div id="fragment-3">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
sed diam nonummy nibh   euismod tincidunt ut laoreet dolore 
magna aliquam erat volutpat.
        Lorem ipsum dolor sit amet, consectetuer 
    </div>
    </div>

我唯一的额外代码是在页面加载时不打开任何选项卡

 <script>
    $(document).ready(function(){
    $("#tabs").tabs({
        collapsible: true,
        selected: -1
    });

    }); 
    </script>

如果有人可以分享如何解决这个问题,那就太好了。

谢谢

4

1 回答 1

0

尝试这个

$(document).ready(function(){
    $("#tabs").tabs({
        collapsible: true,
        selected: -1,
        select: function(evt,ui){
           var flashObj = $(ui.panel).find("object");
           if(flashObj.length > 0) {
              $(ui.panel).find("object").remove();
              $(ui.panel).append(flashObj);
           }
        }
    });
}); 
于 2012-06-18T16:58:14.527 回答