【问题标题】:Hide div after specific time and after buffer the flash video在特定时间后和缓冲 Flash 视频后隐藏 div
【发布时间】:2010-05-01 12:56:35
【问题描述】:

嗨,我在我的 html 页面中嵌入了一个视频,我想在完成视频后隐藏 div。和一个特定的时间。我的视频时间是 12 秒。 我正在使用这个功能

$('#fvideo').fadeOut(12000);

和html代码。

    <div id="fvideo" class="video"> 
flash video
    </div>

更新

其实我想要的是那个

  • flash 视频淡出时间应在完全缓冲后开始。

  • 在缓冲和运行(一次)成功后,有什么方法可以淡出该 div(包含 Flash 视频)。

【问题讨论】:

    标签: javascript jquery html flash


    【解决方案1】:

    要在 Flash 视频完成后隐藏 div,您需要定义一个 flash var 来发送一个值,以便 js 可以拾取它。

    我不建议您为此使用 12 秒的 settimeout,因为您永远不知道人们的浏览器会发生什么。他们可能有低速连接并面临额外的加载视频的时间。然后它会在他们看完之前隐藏起来。

    如果你更像一个 js 人而不是动作脚本,你可能想要考虑使用像 soundmanager 2 这样的插件,它们有 flash 网关 api,允许你打开从 jquery 调用的 flash 视频...

    那些 api 已经为您完成了这项工作。所以他们会有回调函数来加载视频......类似 onFinishPaying : function() {... bla}

    你可以找到它here

    这是基本视频setup sample code

    【讨论】:

    • 是的,当我在服务器上使用它时,你是对的,而不是在渲染视频之前它消失了。
    • 使用 soundmanager mate。它简单而坚实。并为您提供大量选项来仅从 javascript 操作音频和视频事件周围的 dom
    • 我更新了我的问题,请看n给我完美的解决方案。谢谢你
    • 我为你找到了另一个不错的视频选项,你可以使用 jquery flowplayer.org/documentation/api/index.html 阅读该链接,你想要的就像例如:flowplayer().setVolume(50) .seek(40).onFinish(function(){$(this).fadeOut();});
    • 相信我的建议是最简单的。考虑从动作脚本中捕获完成缓冲时间的事件并将其传递给 javascript 会浪费你一整天的时间。甚至可能不会发生在您的播放器上。
    【解决方案2】:

    使用 settimeout 功能。

    setTimeout( "document.getElementById('fvideo').style.display:none", 1200 );
    

    查看Here

    【讨论】:

    • 我更新了我的问题,请看n给我完美的解决方案。谢谢你
    • -1。 #1 永远不要使用字符串作为 setTimeout 或 setInterval 的第一个参数。评估是邪恶的。克罗克福德是我们的上帝。 javascript.crockford.com/code.html#bonus #2 为什么不用jQuery?
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多