操作指南 - 滾動繪製
瞭解如何使用 JavaScript 和 SVG 在滾動時進行繪製。
滾動繪製
使用 SVG 和 JavaScript 在滾動時繪製一個三角形 - 注意它必須是一個 <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>
自己動手試一試 »
提示: 在我們的 SVG 教程中瞭解更多關於 SVG 的資訊。