ページがスクロールされた距離と比較して、ページ上の要素 (「myElement」) の位置をテストするには、Javascript を使用する必要があります。ページが要素を超えてスクロールされている場合は、要素の css を変更してページの上部にスナップします。注: モバイル ブラウザは「position: fixed;」を好みません。スタイル プロパティ。
要素に「myElement」の ID を与え、これをタグに挿入します。
<script type="text/javascript">
var yPosition; // save original y position of element here
window.onload = function(){ // once entire page is loaded this function is fired
// save original y position of element before it is scrolled
yPosition = document.getElementById("myElement").offsetTop;
}
window.onscroll = function(){ // scrolling fires this function
var myElement = document.getElementById("myElement"); // for cleaner code
// compare original y position of element to y position of page
if( yPosition <= window.pageYOffset ){
// snap element to the top by changing css values of element
myElement.style.position = "fixed";
myElement.style.top = "0px";
}else{
// re-position to original flow of content
myElement.style.position = "relative";
myElement.style.top = ""; // set to default
}
}
</script>
うまくいけば、これが役に立ちます!