0

フラッシュがありますが、ロードに時間がかかる場合があります。ロード中であることをユーザーに通知したいので、待つ必要があります。私が考えているのは、フラッシュコンテンツの下にテキストを配置するだけで、フラッシュコンテンツが読み込まれると、テキストはコンテンツによって非表示になるということです。これが私がこれまでに持っているものです:

<object id="call-widget" type="application/x-shockwave-flash" data="https://clients4.google.com/voice/embed/webCallButton" width="230" height="85">
  <param name="movie" value="https://clients4.google.com/voice/embed/webCallButton" />
  <param name="wmode" value="transparent" />
  <param name="FlashVars"  value="id=a8dd9c58da5043dca0e879988f5cadc447e74f7a&style=0" />
</object>
<span style="z-index:-1;">Google Voice is loading...</span>

これにより、「GoogleVoiceが読み込まれています...」というテキストがフラッシュコンテンツの後ろではなくに配置されます。このhtmlをTINYBox2に入れても問題なく動作し、位置を固定に設定すると、コンテンツがTINYボックスからオフセットされます(不自然に見えます)。それをTINYBox2の中央に置き、フラッシュコンテンツの後ろに置く方法はありますか?position:fixedposition:absolute<span>

注:フラッシュを制御することはできません(Google Voiceによって提供されます)


TINYBox2コードは次のとおりです。

TINY.box.show({html: theHtmlYouSeeAbove});

それがどのように見えるべきかは次のとおりです。

後ろにテキストがあります

フラッシュコンテンツの背後にあるテキストは、読み込み時にのみ表示されます。

4

2 に答える 2

1

逆のことができるかもしれません。最初にフラッシュをロードし、フラッシュの上にロードテキストをフローティングdivに配置します。これを行うには、cssz-indexプロパティを少し操作する必要があります。次に、フラッシュがロードされたら、非表示のトリックを実行するjavascript関数を実行することにより、フラッシュ内からdivを非表示にすることができます。

一番上のdivについては、必要なtext/htmlとcssを使用してdivを実行するだけです。

<div id="splash" style="position:absolute;z-index:1000;top:10px;width:100px;height:200px;" >the flash is loading...</div>

フラッシュファイル内から、ロード後(たとえば、最初のフレームに)、次のようなコードを配置します...

getURL("javascript:myfunction();");

そして、このjsをHTMLに配置します...

<script language="javascript">
function myfunction() {
   $('splash').hide();
}
</script>

ありがとう!、

@leo。r

于 2013-03-07T00:46:25.553 に答える
1

TinyBoxを使用しているので、これをtinnerクラスに適用します

.tinner {
  position:relative;
}

これで、スパンを絶対位置にして、divを基準にした上/左/右/下の位置を指定できます(.tinnerはTinyBoxを想定しています)。フラッシュファイルが確実にその上にあるので、z-indexについて心配する必要はありません。

于 2013-03-07T01:07:20.873 に答える