我想知道是否可以创建一个书签来点击,当前网页滚动到底部!
javascript:function%20scrollme(){dh=document.body.scrollHeight;ch=document.body.clientHeight;if(dh>ch){moveme=dh-ch;window.scrollTo(0,moveme);}}
如果我创建一个新书签并将其粘贴为地址没有任何反应。我实际上不知道如何在书签中运行javascript,但是我只是为css-tricks添加了书签Printliminator
也许你可以提供帮助,我很想拥有这样的书签!
答案 0 :(得分:2)
首先,您的JavaScript只定义了一个函数而不执行任何其他操作。
其次,您需要使用document.documentElement
(代表<html>
元素)而不是document.body
:
javascript:dh=document.documentElement.scrollHeight;ch=document.documentElement.clientHeight;if(dh>ch){moveme=dh-ch;window.scrollTo(0,moveme);}
或简单地
javascript:window.scrollTo(0,document.documentElement.scrollHeight)
(显然,如果window.scrollTo
的y-coord
大于最大排名,则无关紧要。
更新:如果你必须在怪癖模式下处理IE,根元素确实是document.body
。其他浏览器让document.documentElement.clientHeight
表示文档的高度(请参阅Finding the size of the browser window,它处理窗口的高度,但包含一个很好的表)。无论如何,您想要将滚动条的位置设置为三者中最大的位置:
javascript:window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight))
答案 1 :(得分:1)
这是一个平滑向下滚动到页面底部的函数:
function scroll(scroll_to) {
if (scroll.timer) clearTimeout(scroll.timer);
var scroll_current = document.body.scrollTop,
distance = Math.abs(scroll_current - scroll_to);
if (scroll_current == scroll_to) return;
if (scroll_current > scroll_to) {
if (distance < 5) {
scroll_current -= distance;
} else {
scroll_current -= Math.ceil(distance / 10);
}
}
if (scroll_current < scroll_to) {
if (distance < 5) {
scroll_current += distance;
} else {
scroll_current += Math.ceil(distance / 10);
}
}
document.body.scrollTop = scroll_current;
scroll.timer = setTimeout(function() {
scroll(scroll_to)
}, 10);
}
如果你打电话:
scroll(document.body.scrollHeight - innerHeight);
它将滚动到页面底部。 您也可以使用它滚动到页面顶部,如下所示:
scroll(0);
只需将其附加到按钮或链接的onclick
事件。
答案 2 :(得分:-1)
您只需使用具有此语法的锚
即可<a name="label">Any content</a>
and
<a href="#label">Any content</a>