【问题标题】:jQuery .show() and .hide() problems with IE9 and FF15+IE9 和 FF15+ 的 jQuery .show() 和 .hide() 问题
【发布时间】:2012-11-13 00:59:52
【问题描述】:

我在一页上有几个隐藏的 DIV,每个 DIV 都包含一个外部 Flash 播放器。为了隐藏/显示 DIV,我使用了这个 JS:

$('.showSingle').click(function(){

    $(".targetDiv").css("visibility","hidden");
    $(".targetDiv").hide("fast");

    $("#div"+$(this).attr('target')).css("visibility","visible");
    $('#div'+$(this).attr('target')).show('fast');

});

HTML 是:

<div id="div'.$x.'" class="targetDiv" style="visibility: hidden">';

//Player code

</div>

Chrome、Opera、IE7 - 都很好。 Flash 播放器是隐藏的,设置为可见时播放,隐藏后停止播放。

IE9(仅在设置 EmulateIE7 时有效)- Flash 播放器被隐藏,设置为可见时播放,但再次设置为隐藏时不会停止播放。

火狐。在 FF12 中一切正常,虽然在 FF15+ 中 DIV 是隐藏的,但所有 Flash 播放器在页面加载后开始播放,无论是隐藏还是可见。

有修复 FF 和 IE9 的解决方案吗?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    如果它们是 Flash 文件并且有 ActionScript 方法来暂停它们,最好的方法是通过 javascript 暂停它们。

    您也可以尝试在 embed 命令中设置 autoplay= false。

    但是通过 javascript 进行控制应该很容易。

    这里是 example 如何通过 javascript 访问 Flash

    【讨论】:

    • 我可能应该提到这一点,我确实有 autoplay = true 并且我确实需要保持这种状态。有的页面有多达100个flash播放器,点击一个按钮显示+播放+暂停+显示第二个,点击列表相当长。使用 autoplay = true,您只需单击显示(自动播放),单击显示第二个(第一个关闭,自动暂停,自动播放新的)。除了大小、自动播放和颜色之外,我对 Flash 播放没有任何进一步的控制。
    猜你喜欢
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2013-02-25
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多