私は少し異なる設定をしました:
http://jsfiddle.net/Sjnv8/38/
#parent {
width: 100%;
background-color: gray;
height: 100%;
position: relative;
overflow: hidden;
padding: 0;
margin: 0;
}
#panel1 {
background-color: yellow;
width: 100%;
padding: 0;
margin: 0;
position:absolute;
z-index:1;
}
#panel2 {
background-color: orange;
position:absolute;
z-index:2;
width: 100%;
left: 33.34%;
padding: 0;
margin: 0;
}
#panel3 {
background-color: green;
width: 100%;
left: 66.66%;
padding: 0;
margin: 0;
z-index:3;
}
#panel3img {
/*border-left: 1px solid #333333;
width: auto;
position: relative;
left: -35%;*/
}
.hov {
/****keeps wide divs from flowing down to next line****/
position: absolute;
/****hides overflowing content****/
overflow: hidden;
}
/*.abs {
position: relative;
top: 0;
}*/
すべての要素の幅は width:100% に設定され、position:absolute があり、幅をアニメーション化する代わりに、位置だけがアニメーション化されます。何らかの理由で -> SVG 画像を使用した幅のアニメーションが IE で問題でした。誰かが説明してくれることを願っています、私も興味があります。:)
jquery:
var remaining_height = parseInt($(window).height());
$('.main').height(remaining_height);
$('#panel1').hover(function() {
$('#panel2').stop(true, false, false).animate({ left: "66.66%"}, 350),
$('#panel3').stop(true, false, false).animate({ left: "83.33%"}, 350);
// $(this).stop(true, false, false).animate({width:'66.66%'}, 350)
}, function() {
// $(this).stop(true, false, false).animate({width:'33.33%'}, 350),
$('#panel2').stop(true, false, false).animate({ left: "33.33%"}, 350),
$('#panel3').stop(true, false, false).animate({ left: "66.66%"}, 350);
});
$('#panel2').hover(function() {
// $('#panel1').stop(true, false, false).animate({width:'16.666%'}, 350),
$('#panel3').stop(true, false, false).animate({ left: "83.33%"}, 350),
$(this).stop(true, false, false).animate({left: "16.666%"}, 350);
}, function() {
$(this).stop(true, false, false).animate({left: "33.33%"}, 350),
// $('#panel1').stop(true, false, false).animate({width:'33.33%'}, 350),
$('#panel3').stop(true, false, false).animate({left: "66.66%"}, 350);
});
$('#panel3').hover(function() {
// $('#panel1').stop(true, false, false).animate({width:'16.666%'}, 350),
$('#panel2').stop(true, false, false).animate({ left: "16.666%"}, 350),
$(this).stop(true, false, false).animate({left: "33.33%"}, 350);
}, function() {
$(this).stop(true, false, false).animate({left: "66.66%"}, 350),
// $('#panel1').stop(true, false, false).animate({width:'33.33%'}, 350),
$('#panel2').stop(true, false, false).animate({left: "33.33%"}, 350);
});