更多例子
将<div>元素的内容滚动到水平50像素和垂直10像素:
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft = 50;
elmnt.scrollTop = 10;
尝试一下
滚动<div>元素的内容BY 50个水平像素和10个垂直像素:
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft += 50;
elmnt.scrollTop += 10;
尝试一下
滚动<div>元素的内容BY 50个水平像素和10个垂直像素:
var body = document.body; // Safari
var html = document.documentElement; // chrome、firefox、ie和opera将溢出放在<html>级别,除非另有规定。因此,我们对这些浏览器使用documentElement属性
body.scrollLeft += 30;
body.scrollLeft += 10;
html.scrollTop += 30;
html.scrollTop += 10;
尝试一下
在不同滚动位置上的类名之间切换 - 当用户从页面顶部向下滚动50个像素时,类名“test”将被添加到元素中(并在再次向上滚动时删除)。
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
document.getElementById("myP").className = "test";
} else {
document.getElementById("myP").className = "";
}
}
尝试一下
当用户从页面顶部向下滚动350像素时滑入元素(添加slideUp类):
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
document.getElementById("myImg").className = "slideUp";
}
}
尝试一下
在滚动上绘制一个三角形:
<!-- 使用SVG绘制三角形(必须是<path>) -->
<svg id="mySVG">
<path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z">
</svg>
<script>
// 获取<path>元素的id和<path>的长度
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();
// 图纸的起始位置
triangle.style.strokeDasharray = length;
// 通过偏移破折号隐藏三角形。 删除此行以在滚动绘制之前显示三角形
triangle.style.strokeDashoffset = length;
// 在滚动上查找滚动百分比(使用跨浏览器属性),并在滚动百分比时找到相同数量的偏移量
window.addEventListener("scroll", myFunction);
function myFunction() {
var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
var draw = length * scrollpercent;
// 反转图形(向上滚动时)
triangle.style.strokeDashoffset = length - draw;
}
</script>
尝试一下