Есть ли плагин javascript (jQuery), чтобы скрывать / показывать flash swf без швов? - PullRequest
2 голосов
/ 19 декабря 2010

Как мы знаем, мы не можем $.show / $.hide показать / скрыть флэш-компонент, что заставит флэш-плеер перерисовать его.

Есть ли гибкий компонент, который может скрывать /показывать флеш компоненты с перерисовкой их?

<div> ---flash 1 here </div>
<div> ---flash 2 here </div>
...
<div> ---flash N here </div>

Ответы [ 3 ]

2 голосов
/ 19 декабря 2010

Для скрытой вспышки вы можете использовать visibility css свойство.Но в этом случае скрытый элемент занимает место.Если вам нужен этот элемент не будет иметь место, вы можете просто изменить высоту и ширину родительского div на ноль.Этот трюк работает для меня.Ваш код должен выглядеть следующим образом:

var height;
var width;

function hideFlash(div)
{
   $(div).css("visibility", "hidden");
   //you need to store height and weight somewhere
   var height = $(div).height();
   var width = $(div).width();
   $(div).height(0);
   $(div).width(0);
}

function showFlash(div)
{
   $(div).css("visibility", "visisble");
   $(div).height(height);
   $(div).width(width);
}
1 голос
/ 19 декабря 2010

Взгляните на jQuery SWFObject Plugin .

Взято с их страницы примеров:

<div style="text-align: center;">
    <div id="celerant" style="padding: 10px;"></div>
    <input type="button" onClick="$('#celerant').flash({swf:'sine.swf',height:250,width:300});" value="Add Flash">
    <input type="button" onClick="$('#celerant').flash().remove();" value="Remove Flash">
</div>
0 голосов
/ 19 декабря 2010

Я не знаю о гибком компоненте. Но когда мне нужно отобразить ранее скрытый флэш-объект, я копирую его, используя. html() в новый контейнер. Например:

$('#so_object').hide();

$('#so_thumb').click(function(){
$(this).html($('#so_object').html());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...