以下脚本在大多数浏览器中都可以正常工作,除了ie9。
在ie9中显示两行div。但是,dom只显示一行。
ie9有什么特别的东西需要考虑吗?
感谢您的关注。
$(function() {
var $window = $(window);
var hasPrepended = false;
var portDivs = ['<div class="port1"></div>','<div class="port2"></div>','<div class="port3"></div>',
'<div class="port4"></div>','<div class="port5"></div>','<div class="port6"></div>'];
cfunction portraits() {
if (($window.width() >= 440) && ($window.width() <= 640)){//start if
if ( hasPrepended === true ) {
return;
}
hasPrepended = true;
var portrait_C = $('<div class="portrait-C"></div>');
$( ".page-id-28 .inhalt, .page-id-45 .inhalt" ).prepend(portrait_C).hide().fadeIn('slow');
for (var portIdx = 0; portIdx <= portDivs.length; portIdx++)// start for
{
var div = portDivs[portIdx];
$( ".portrait-C" ).append(div);
}//ende for
}//ende if
else{
hasPrepended = false;
$('.portrait-C').remove();
}
}//end function portraits
$window.load(function() { portraits(); });
$window.resize(function() { portraits(); });
});
答案 0 :(得分:0)
这是一个链接: http://jsfiddle.net/timholz/zhean8pv/18/
$(function() {
var $window = $(window);
var hasPrepended = false;
var portDivs = ['<div class="port1"></div>','<div class="port2"></div>','<div class="port3"></div>',
'<div class="port4"></div>','<div class="port5"></div>','<div class="port6"></div>'];
function portraits() {
if (($window.width() >= 440) && ($window.width() <= 640)){//start if
if ( hasPrepended === true ) {
return;
}
hasPrepended = true;
var portrait_C = $('<div class="portrait-C"></div>');
$( ".inhalt" ).prepend(portrait_C).hide().fadeIn('fast');//see original line below
for (var portIdx = 0; portIdx <= portDivs.length; portIdx++)// start for
{
var div = portDivs[portIdx];
$( ".portrait-C" ).append(div);
}//ende for
}//ende if
else{
hasPrepended = false;
$('.portrait-C').fadeOut('fast', function(){
$('.portrait-C').remove()});
}
}//end function portraits
$window.load(function() { portraits(); });
$window.resize(function() { portraits(); });
});
而不是图片我使用颜色 为简单起见我改变了原来的行
$( ".page-id-28 .inhalt, .page-id-45 .inhalt" ).prepend(portrait_C).hide().fadeIn('slow');//original line
水平调整结果窗口的大小 我希望这说明了这个问题。 谢谢
p.s。:同时我可以缩小问题范围。 用于前置的选择器是原因。 ie9显然遇到了$(&#39; .page-id-28 .inhalt,.page-id-45 .inhalt&#39;); 它正在做两次。 是否有一种特定的方法来为ie9写入选择器?