アニメーションを左からではなく中央から開始したいと思っています。私が行ったコードを添付しています。上記純粋なjavascriptを使用したCSSの切り替え
function yScroll() {
var nav,yPos;
nav = document.getElementById('nav');
yPos = window.pageYOffset;
if(yPos>5) {
nav.style.width = '100%';
nav.style.margin = '0';
nav.style.position = 'fixed';
nav.style.top = '0';
}else {
nav.style.width = '4em';
nav.style.margin = "8em auto";
nav.style.position = 'static';
nav.style.top = 'auto';
}
}
window.addEventListener("scroll",yScroll);
* {
margin: 0em;
padding: 0em;
}
#nav {
margin: 8em auto;
width: 4em;
height: 4em;
background-color: grey;
transition: width 1s ease-in-out, margin 1s ease-in-out;
}
section.height {
height: 100em;
}
<!DOCTYPE html>
<html lang="eng">
<head>
<title>animate</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="animate.js"></script>
</head>
<body>
<div id="nav">
</div>
<section class="height"></section>
</body>
</html>
私は私が中心の方法を変更したことが
DBSはそう別の質問をしました。あなたがそれをチェックするのに十分親切であれば、私は非常に義務づけられます。 –