2011-06-02 57 views
1

即时通讯使用显示/隐藏加载一个'加载'的Flash文件,同时加载一个窗体。jQuery/Safari显示/隐藏问题与闪存

股利我尝试以显示包含SWF文件

这工作正常,在所有浏览器,除了Safari浏览器,这并不在点击提交按钮

Ive得到了一个测试设置在这里显示的swf文件使用... https://www.paydaygap.co.uk/test.php

林...

$('#form').show(); 
$('#loading').hide(); 

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

    $('#form').hide(); 
    $('#loading').show(); 

}); 

和隐藏的div应翔w,基于点击.sendform是...

<div id="loading" style="padding:50px; text-align:center;"> 
<h1>This thing is loading</h1> 
<p> 
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="300" height="300" > 
    <param name="movie" value="lightboxform/loading.swf" /> 
    <param name="quality" value="high" /> 
    <param name="wmode" value="transparent" /> 
    <embed src="lightboxform/loading.swf" width="300" height="300" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="transparent"></embed> 
    </object> 
</p> 

任何援助不胜感激

回答

0

我认为其他浏览器都无法做出闪光灯当容器被隐藏。试试这个:

首先,反而不显示加载的div,设置它的位置,绝对的,并将其移动到页面:

#loading { display:block;position:absolute;left:-9999px;} 

那就试试这个:

$('.sendform').click(function(){ 
    $('#form').hide(); 
    $('#loading').css({ 
     'position' : 'relative', 
     'left'  : '0px' 
    }); 
}); 
0

在乍一看,我想知道为什么你使用嵌入闪光灯的旧skool而不是用javascript插入它?

尝试插入使用具有swfobject的或flashembed(http://flowplayer.org/tools/toolbox/flashembed.html)闪光灯:

flashembed(this, "lightboxform/loading.swf");