我在div中有一个flash文件。此div设置为可见(display:block;
)。 div有两个姐妹div。所有三个div都由自定义构建的jQuery选项卡控制,因此当单击另一个选项卡时,当前可见的div将变为display:none;
。当重新选中选项卡以将闪烁div设置为display:block
时,闪存文件将丢失其存储的所有值(例如,在文本区域中,所有文本都将重置,以及元素存储图像的路径) ,这会重置)。
我尝试了其他类似width:0; height:0;
的方法,但是由于flash文件比其他两个div大,所以它仍然可以在下方看到。所以我尝试overflow:hidden;
,但同样的问题仍然如上所述(丢失值)。
visibility:hidden
不适用,因为Flash文件应该有一个很大的空白区域。
position:absolute; top:-800px; left:-600px;
丢失变量。
border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
也会失去变数。
我还能使用其他方法吗?我还有wmode=transparent
。
以下是我的flash嵌入代码:
<object wmode="transparent" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="690" height="2047" id="gdh_v3_1" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="gdh_v4.swf?rnd=6389" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="wmode" value="transparent">
<param name="FlashVars" value="forcecrop=False&submitted=False&headerfile=&footerfile=&xmlfile=<?php echo $_GET['adfolder'];?>.xml&adfolder=<?php echo $_GET['adfolder'];?>&pics=gld101cc%2Ejpg%2C" />
<embed wmode="transparent" src="gdh_v4.swf?rnd=6389" FlashVars=forcecrop=False&submitted=False&headerfile=&footerfile=&xmlfile=<?php echo $_GET['adfolder'];?>.xml&adfolder=<?php echo $_GET['adfolder'];?>&pics=gld101cc%2Ejpg%2C" quality="high" bgcolor="#ffffff" width="690" height="2047" name="gdh_v4" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
答案 0 :(得分:2)
以下是示例代码
假设 oldTab 一个默认设置为1的全局变量, newT 由点击事件设置。
if(newT != oldTab){
if($.browser.msie){
window.document.getElementById("t"+ oldTab).style.display = "none";
window.document.getElementById("t"+ newT).style.display = "block";
}
else{
window.document.getElementById("t"+ oldTab).style.height = "0px";
window.document.getElementById("t"+ oldTab).style.visibility = "hidden";
window.document.getElementById("t"+ newT).style.height = "auto";
window.document.getElementById("t"+ newT).style.visibility = "visible";
}
oldTab = newT;
}
答案 1 :(得分:1)
您是使用SharedObjects(AS3)的选项吗?可以将变量存储在那里。
var sh:SharedObject = SharedObject.getLocal("something");
// set values
sh.data.someVar = "Some value";
这里唯一的问题是,如果他们在将来的任何时间查看您的网站,这些价值将会保留(在您的情况下这可能不是一件好事,那么这可能是一个非常棒的事情)。