网址:http://www.hkpete.com/test.html
jQuery 1.42
jQuery Tools 1.2.3 overlay
IE7也有这个问题(在ietester上测试)
我无法找到问题所在。
非常感谢。
<div id="dialog-content">
<!--Login -->
<div id="login" class="panel" style="display:none">
Login..................
</div>
<!--Register -->
<div id="register" class="panel" style="display:none">
Register..................
</div>
</div>
<!--Links-->
<a href="javascript:;" onclick="showDialog('#login','member');">Login</a>
<a href="javascript:;" onclick="showDialog('#register','member');">Register</a>
<script type="text/javascript">
var ol;
var dialog=null;
function showDialog(panel,action){
var each=each ? each : 0;
function overlay(){
if(panel){
$("#dialog div.panel").hide();
//show panel login,register,lostpw
$(panel).show();
}
if(ol !== undefined && ol.isOpened()) {
$("#dialog").css("top", ( $(window).height() - $("#dialog").height() ) / 2+$(window).scrollTop() + "px");
$("#dialog").css("left", ( $(window).width() - $("#dialog").width() ) / 2+$(window).scrollLeft() + "px");
}
//Overlay load
ol=$("#dialog").overlay({top:'center', left:'center', closeOnClick:false, api:true }).load();
$("#dialog .close").click(function(){
ol.close();
});
}
overlay();
//cur action
dialog=action;
return false;
}
</script>
答案 0 :(得分:1)
我想我知道这个错误是什么:http://www.positioniseverything.net/explorer/ienondisappearcontentbugPIE/index.htm。
列出的变通办法是:
解决方法一个人可能'释放 拼写'有多种方式:
- 暂时将内容的显示属性切换为 '阻止'并回到'无'。
- 暂时切换内容的位置属性 '相对'到'绝对'和后退,或 反之亦然。
- 暂时将内容的可见性属性切换为 '隐藏'和回来。 (但这只是 如果内容是有效的 绝对定位!精彩 IE的世界......)
醇>
去看看那里了解更多信息。
答案 1 :(得分:0)
//fix the bug
if(panel){
$("#dialog .panel").css({"display":"none","visibility":"hidden"});
$(panel).css({"display":"block","visibility":"visible"});
}