У меня есть веб-страница с определенными вкладками и добавлением flash с помощью jquery
SWF отображается по умолчанию, и когда вы нажимаете вкладку 2, 3 или 4, содержимое этой страницы отображается поверх флэш-памяти. (имеется в виду, что вспышка продолжает работать)
Это то, что я пытался
<div id="game">
You must have flash installed to view this game
</div>
in javascript file:
swfobject.embedSWF("flash.swf", "game", 500, 500, "7");
$("#tab1").click(function(){
$("#content-2").hide();
$("#content-3").hide();
$("#content-4").hide();
$("#content-1").show();
});
$("#tab2").click(function(){
$("#content-1").hide();
$("#content-3").hide();
$("#content-4").hide();
$("#content-2").show();
});
Проблема с Hide заключается в том, что Flash SWF перезагружается. Мне нужно, чтобы он оставался таким, каким он был. Как бы я это сделал? Прекрасный пример того, что я хочу, это как вкладки в игре City of Wonders на фейсбуке.
РЕДАКТИРОВАТЬ:
Я пытался сделать swfobject.addParam ("wmode", "transparent"), но это, похоже, вызывает ошибку, говоря, что addParam не существует.
РЕШИТЬ:
Хорошо, я много играл и нашел проблему.
Я не должен скрывать div, содержащий swf, или устанавливать для него значение none, потому что это перезагрузит.
Ключ wmode = прозрачный. Теперь я не знаю, был ли addParam устаревшим или что, но это то, что сработало.
var flashvars = {};
var params = {};
params.wmode = "transparent";
var attributes = {};
swfobject.embedSWF("flash.swf", "game", 580, 680, "8","expressInstall.swf", flashvars, params, attributes);
после этого все, что я делаю, это скрывает все div (кроме того, в котором содержится swf), в зависимости от того, какой div я делаю. Показывается. Нет необходимости использовать z-index, потому что, если я сделаю .show для div, в котором находится swf (даже если он не скрыт), он поместит его поверх! отлично!