我正在寻找一种从<div id="myButton">Home</div>
滚动到另一个div点中心的方法。这样做的目的是因为我有4页,我希望它们水平相邻,并在页面后面有一个导航栏(完全保持在中心)。
为什么这不起作用?
这是JSfiddle
$('div#myButton').click(function () {
$.scrollTo($('div#myDiv'), 500);
});
我有:
<body>
<div id="myButton">yo</div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
.....
<p> </p>
<p> </p>
<div id="myDiv">hello</div>
<script>
$("div#myButton").click(function() {
$('html, body').animate({
scrollTop: $("div#myDiv").offset().top }, 2000);
});
</script>
</body>
但它仍无法正常工作?!!
答案 0 :(得分:2)
你可以没有插件。
计划只是一个小小的改变。
$("div#myButton").click(function() {
$('html, body').animate({
scrollTop: $("div#myDiv").offset().top }, 2000);
});
答案 1 :(得分:0)
您可以使用scrollTop
滚动。 otherDiv.offset().top
会将您置于div的顶部,添加otherDiv.height() / 2
会向下滚动到div的中心
$('div#myButton').click(function () {
var otherDiv = $('div#myDiv');
$("html, body").scrollTop(otherDiv.offset().top + otherDiv.height() / 2);
});
Example on jsFiddle,页面顶部将完全位于div的中心
答案 2 :(得分:0)
这是一个javascript函数,而不是jquery函数,与window.scroll相同。
window.scrollTo( x-coord, y-coord )
x-coord是您希望在左上角显示的文档水平轴上的像素。
y-coord是您希望在左上角显示的文档垂直轴上的像素。
来源:https://developer.mozilla.org/en-US/docs/Web/API/window.scrollTo
答案 3 :(得分:0)
以下是“外部资源”中插件的小提琴:http://jsfiddle.net/LKu6p/1/
您的代码是正确的,插件由于某种原因未加载。检查代码的<head>
区域以检查它是否存在,如果是,则检查文件的路径是否正确。
然而,我同意Royi - 如果你能在没有插件的情况下做到这一点,那就更好了。