2013-03-07 2 views
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> 

Это поместит текст «Google Voice загружается ...» рядом содержание флэш вместо за его. Он работает нормально, если я положил position:fixed или position:absolute, однако у меня есть этот html в TINYBox2 и, установив фиксированное положение, он смещает содержимое из окна TINY (выглядит неестественно). Есть ли способ разместить этот <span> в центре TINYBox2 и быть за флеш-контентом?

Примечание: я не имею никакого контроля над вспышкой (это предусмотрено Google Voice)


Вот что код TINYBox2 является:

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

Что это должно выглядеть это:

With text behind

С текстом за флеш-контентом, который будет отображаться только при загрузке.

+1

@popnoodles Я не согласен. Было бы иначе, если бы не javascript TINYBox2 или html текста, или вспышка флэш-контента ... – kentcdodds

+0

Ссылка на TINYBox2 находится в OP. Я буду публиковать то, что он делает для ясности. – kentcdodds

ответ

1

Поскольку вы используете TinyBox применить это к Тиннер класса

.tinner { 
    position:relative; 
} 

Теперь вы можете иметь свой срок с позиции абсолютного и дать топ/влево/вправо/нижние позиции по отношению к DIV его в (.tinner, предполагающем TinyBox). Не беспокойтесь о том, что z-index в качестве флеш-файла обязательно будет на нем.

+0

Работал отлично! Благодаря! – kentcdodds

1

Возможно, вы можете сделать обратное. Сначала загрузите Flash и поверх вспышки введите свой загружаемый текст в плавающий div. Для этого просто нужно немного поиграть с свойством css z-index. Затем, когда вспышка загружена, вы можете просто скрыть div изнутри вспышки, выполнив некоторую функцию javascript, которая делает скрытый трюк.

Для DIV на вершине, просто сделать DIV с текстом/HTML вы хотите, и с помощью CSS

<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. г

+0

У меня нет контроля над файлом flash.Он предоставляется мне Google Voice. – kentcdodds

+0

В этом случае я рекомендую изменить способ загрузки вашей вспышки с помощью swfobject. Это супер простой в использовании api, который позволяет загружать ваши фильмы и присоединять события после его загрузки. Проверьте этот пример здесь ... http://stackoverflow.com/questions/3939630/how-to-check-if-a-swf-is-loaded-using-javascript-with-swfobject – lemil77

+0

В вашем случае вы спрячете плавающий div из функции обратного вызова из swfobject. – lemil77