滚动条滚动加一个进度条

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<style>

body {

height: 3000px;

}

.progress {

position: fixed;

left: 0;

top: 0;

100%;

height: 2px;

}

.con {

position: absolute;

left: 0;

top: 0;

0;

height: 2px;

}

</style>

</head>

<body id='body'>

<div class="progress">

<div class="con" id="con"></div>

</div>

<script type="text/javascript">

let conWidth = document.getElementById("con");

var clientHeight = getClientHeight();

window.onscroll = function() {

//获取当前滚动条的位置

var top = document.documentElement.scrollTop;

let scrHeight = document.documentElement.scrollHeight;

 let wheight = scrHeight- clientHeight;

let width = Math.round(top*100 / wheight);

conWidth.style.width = width + '%'

}

console.log(clientHeight,"kkkkkk")

function getClientHeight() {

var clientHeight = 0;

if (document.body.clientHeight && document.documentElement.clientHeight) {

var clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body

.clientHeight : document.documentElement.clientHeight;

} else {

var clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body

.clientHeight : document.documentElement.clientHeight;

}

return clientHeight;

}

</script>

</body>

</html>

原文地址:https://www.cnblogs.com/mawz/p/14583818.html