Computer >> Máy Tính >  >> Lập trình >> CSS

Phát hiện khi một phần tử được cố định ở vị trí CSS:cố định bằng cách sử dụng Intersection Observer

Bằng cách áp dụng các kiểu CSS khác nhau cho phần tử có vị trí cố định, chúng tôi có thể dễ dàng phát hiện ra nó.

Ví dụ sau đây cho thấy thuộc tính này.

Ví dụ

<!DOCTYPE html>
<html>
<head>
<style>
#first {
   background-color: lightgrey;
   height: 10px;
}
#navbar-top {
   background-color: lightgrey;
   height: 2px;
}
#container {
   position: sticky;
   top: 0;
   box-shadow: inset 0 0 25px navy;
   height: 55px;
   text-align: center;
   font-size: 24x;
   line-height: 55px;
   font-weight: bold;
   transition: font-size 0.4s ease-in;
}
.sticky-navbar {
   box-shadow: inset 0 0 15px orange!important;
   font-size: 20px !important;
}
#parent-container {
   background-color: aliceblue;
   height: 3300px;
}
</style>
</head>
<body>
<div id="first"></div>
<div id="navbar-top"></div>
<div id="container">Watch Me!</div>
<div id="parent-container"></div>
<script>
let newObserver = new IntersectionObserver(function(entries) {
   if(entries[0].intersectionRatio === 0)
      document.querySelector("#container").classList.add("sticky-navbar");
   else if(entries[0].intersectionRatio === 1)
      document.querySelector("#container").classList.remove("sticky-navbar");
}, { threshold: [0,1] });
newObserver.observe(document.querySelector("#navbar-top"));
</script>
</body>
</html>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Phát hiện khi một phần tử được cố định ở vị trí CSS:cố định bằng cách sử dụng Intersection Observer

Phát hiện khi một phần tử được cố định ở vị trí CSS:cố định bằng cách sử dụng Intersection Observer