您好我正在使用jquery来显示弹出窗口,它适用于除IE 6之外的所有浏览器。无法弄清楚是什么原因。这是我的代码,请帮助.............
function showCalendar(){
$('body').prepend('<div id="overlay"></div>');
if($.browser.msie && $.browser.version=="6.0"){
$('#overlay').append('<iframe></iframe>');
}
$('#overlay').height($(document).height());
$('body').append('<div id="popupwrapper"><div id="calendar"></div></div>');
if (calculated.calendar) {
$('#calendar').emeCalendar(calculated.calendar);
}
$('#calendar div.header div.clearboth').before('<span class="close">Close</span>');
$('#calendar div.header span.close').click(function(){
$('#overlay').remove();
$('#popupwrapper').remove();
});
}
更新
这是我的css
#overlay {
position : absolute;
z-index : 5000;
left : 0px;
top : 0px;
width : 100%;
background-color : #000;
opacity : 0.5;
}
#popupwrapper {
position : fixed;
z-index : 6000;
left : 50%;
width : 800px;
margin-left : -400px;
top : 20%;
background-color : #f2efe6;
border : 3px solid #FFF;
}
#popupwrapper span.close{
float : right;
cursor : pointer;
}
#calendar {
width : 100%;
}
#calendar table {
width : 100%;
border-spacing : 10px;
font-size : 10px;
}
#calendar table td {
background-color : #fff;
padding : 3px 3px 10px 3px;
}
#calendar table td.empty {
background-color : transparent;
}
#calendar div.date {
background-color : #5a4530;
color : #FFF;
text-align : right;
font-weight : bold;
padding : 2px;
}
#calendar div.offer {
color : #5b4530;
border-bottom : 1px solid #5b4530;
padding-top : 8px;
}
#calendar div.room {
clear : left;
float : left;
padding-top : 2px;
}
#calendar div.cost {
clear : right;
float : right;
padding-top : 2px;
}
#calendar div span {
padding : 2px;
}
答案 0 :(得分:0)
尝试切换附加到appendTo并添加到prependTo - 当然,dom引用的顺序(this).append(other)vs(other).appendTo(this)
IE在DOM操作方面有一些时髦的行为 - jQuery已经解决了大部分问题,但仍有一些问题依然存在。我在另一个项目中遇到了这个问题,这个想法对我有用。