我正在使用Unit PNG Fix(http://labs.unitinteractive.com/unitpngfix.php)在IE中制作透明的png.它被用在我的徽标容器的背景图像上.
所以我有我的html,其中包含这些相关项目.在头部:
<!--[if lt IE 7]>
<script src="/assets/script_unitpngfix.js" type="text/javascript"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
然后在身体:
<a href="index.html" style="display:block;"><span id="Logo"></span></a>
Run Code Online (Sandbox Code Playgroud)
因为,在单元PNG修复工作之前,徽标加载了一个灰色框,我怎样才能隐藏整个范围,直到执行javascript后,用户永远不会看到灰框?
谢谢.
而不是你当前的跨度,这个:
<span id='Logo'
style="display:none"></span>
Run Code Online (Sandbox Code Playgroud)
然后将此函数附加到body onload event(<body onload = "showMySpan()">):
function showMySpan() {
var mySpan = document.getElementById('Logo');
mySpan.style.display = "";
}
Run Code Online (Sandbox Code Playgroud)
span默认保持隐藏:
<span id="Logo" style="display:none;"></span>
Run Code Online (Sandbox Code Playgroud)
然后添加一段 JavaScript 以便稍后显示:
document.getElementById('Logo').style.display = 'inline';
Run Code Online (Sandbox Code Playgroud)
确保(至少在 IE 中)这段代码在 PNG Fix 之后执行的最佳方法是将其放入单独的 JS 文件中,并将其作为延迟脚本加载到页面末尾:
<script type="text/javascript" src="show_span.js" defer="defer"></script>
Run Code Online (Sandbox Code Playgroud)
有关延迟脚本的更多详细信息:JavaScript:延迟执行