<div class="video"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100%" height="100%" id="Untitled-1" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="video.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <param name="bgcolor" value="#2B0C08" /> <embed src="video.swf" quality="high" wmode="transparent" bgcolor="#2B0C08" width="100%" height="100%" name="mymovie" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> </div>我要实现的效果是:点击 flash ,播放flash动画,同时点击 video,在6秒之后移除这个 div(包括里面的flash)。flash动画已经做好,并且 stop()了,点击就能播放。js的代码如下:
$(".video").click(function(){setTimeout(function(){ $(".video").remove(); },6000) })因为,flash包含在里面,点击 flash等于点击了 video 这个div。但是,flash的确播放了,js 的 click 事件根本不执行。我将flash设置了透明:
<param name="wmode" value="transparent" /> wmode="transparent"就是加上上面这两句,发现,在火狐,可以了,点击 video 既可以播放flash,6秒后也会讲 div 移除。但是,谷歌和IE不行。网上查了资料,说是改成 mouseover,试了下,果然可以了,但是客户需要的是点击,于是,我改成 mousedown,发现谷歌和IE都可以了。js代码改进后如下:
$(".video,.video object,.video embed").mousedown(function(){ setTimeout(function(){ $(".video").remove(); },6000) })参考资料:
网页中插入flash的方法。