我试图淡出Flash嵌入对象并淡入常规Html.
由于某种原因,淡出方法的回调在淡出完成之前被多次触发.结果是Html在回调函数中被多次附加,并且它会闪烁一个额外的时间.
当我尝试淡化常规Html时,这不会发生.
fadeout功能不适用于flash吗?
HTML:
<a id="HideFlash" href="#">Hide Flash</a>
<div id="FlashContainer" >
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
width="100" height="50" id="TEST" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="demo_banner.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="wmode" value="transparent">
<embed src="demo_banner.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="100" height="50" name="TEST"
align="middle" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div>
<div id="RegularContent" >
<h1>Before Fade</h1>
</div>
Run Code Online (Sandbox Code Playgroud)
JQuery的:
$('#HideFlash').click(function() {
$('#FlashContainer *').fadeOut('slow', function() {
$('#FlashContainer').append("<p style='display: none;'>This is in the flash container</p>");
$('#FlashContainer p').fadeIn('slow');
});
$('#RegularContent *').fadeOut('slow', function() {
$('#RegularContent').append("<p style='display: none;'>This is in the regular content after fade</p>");
$('#RegularContent p').fadeIn('slow');
});
});
Run Code Online (Sandbox Code Playgroud)
我认为这是因为jQuery无法操纵第三方多媒体对象的不透明度,即使它嵌入到标准HTML标记中.
你最好的选择可能就是在它上面放置一个尺寸相同的隐形DIV然后只是淡入/淡出(但这只是纯粹的推测).
| 归档时间: |
|
| 查看次数: |
6302 次 |
| 最近记录: |