考虑以下在所有现代浏览器中运行良好的代码。
CSS:
.container {
width: 400px;
height: 150px;
border: solid 1px #CCC;
position: relative;
margin: 20px auto;
overflow: hidden;
}
.toc {
position: absolute;
bottom: 1px;
}
.sections {
width: 800px;
}
.item {
float: left;
width: 400px;
height: 150px;
position: relative;
margin-left: 0px;
}
标记:
<div class="container">
<div class="toc">
<a data-rank="0" href="javascript:;">1</a><a data-rank="1" href="javascript:;">2</a>
</div>
<div class="sections">
<div class="item" data-rank="0">
<h1>1: Hello World</h1>
</div>
<div class="item" data-rank="1">
<h2>2: Hello World</h2>
</div>
</div>
</div>
JS:
$(document).ready(function() {
$('a').on("click",function(e) {
var $target = $(e.target);
var s = $target.attr('data-rank');
$('.sections').animate({ marginLeft : + -(s * 400) + "px"}, 1200);
});
});
问题:在 IE7 中,“toc-div”和“sections-div”一样是动画的。将其位置更改为相对位置而不是绝对位置,它将起作用,但是我无法将其放置在我想要的位置。
我非常感谢一个解决方案!