这是一个运行良好的jsfiddle,但我实际上只想滚动一个div而不是整个身体。这是我尝试过的一个jsfiddle,但它给出了不希望的结果。将 offset() 更改为 position() 但结果相同。
HTML 代码:
<ul id="banner">
<li> <a href="#1">1</a>
</li>
<li> <a href="#2">2</a>
</li>
<li> <a href="#3">3</a>
</li>
<li> <a href="#4">4</a>
</li>
</ul>
<div id="wrapper">
<div id="container">
<div id="1" class="panel">1</div>
<div id="2" class="panel">2</div>
<div id="3" class="panel">3</div>
<div id="4" class="panel">4</div>
</div>
</div>
</body>
CSS 代码:
body {
margin: 0 0 0 0;
}
.panel {
width: 25%;
height:100%;
float:left;
margin-top: 45px;
}
ul#banner {
position: fixed;
line-height: 45px;
margin: 0 30px;
padding: 0;
z-index: 9;
}
ul#banner li {
display: inline;
z-index: 10;
}
#container {
width: 400%;
}
#wrapper { width: 100%; overflow-x:hidden; }
jQuery代码:
$(document).ready(function () {
$("#banner a").bind("click", function (event) {
event.preventDefault();
var target = $(this).attr("href");
$(" #wrapper").stop().animate({
scrollLeft: $(target).offset().left,
scrollTop: $(target).offset().top
}, 1000);
});
});
提前致谢。:)