Movatterモバイル変換


[0]ホーム

URL:


💡 kachibito.net

[PR]

スクロールに応じて任意のテキストにアニメーションしながらハイライト

Ads

Result

スクロールするとテキストにアニメーションしながらハイライトする、というもの。

通常のハイライトよりも目を惹く印象です。コードはVanillaとなっています。

Ads

JavaScript

(function (document) {  const markers = [...document.querySelectorAll('mark')];    const observer = new IntersectionObserver(entries => {    entries.forEach((entry) => {      if (entry.intersectionRatio > 0) {        entry.target.style.animationPlayState = 'running';        observer.unobserve(entry.target);      }    });  }, {    threshold: 0.8  });    markers.forEach(mark => {    observer.observe(mark);  });})(document);

Intersection Observer APIで要素に交差したらイベントが発火するようになってます。

css

mark {  --color1: springgreen;  --color2: springgreen;  --bg-height: 40%;  all: unset;  background-image: linear-gradient(var(--color1), var(--color2));  background-position: 0 100%;  background-repeat: no-repeat;  background-size: 0 var(--bg-height);          animation: highlight 800ms 1 ease-out;          animation-fill-mode: forwards;          animation-play-state: paused;}@-webkit-keyframes highlight {  to {    background-size: 100% var(--bg-height);  }}@keyframes highlight {  to {    background-size: 100% var(--bg-height);  }}

ハイライトのスタイリングです。

html

<p>経済面では、日本の株式上場企業の本社のほとんどが東京に集中し、(東京圏では)購買力平価(PPP)を基にしても東京都市圏のGDPは1兆5369億ドル(2014年)であり、<mark>世界的な経済都市であり、大消費地でもある。 </mark></p>

あとは任意のテキストを交差ポイントに指定すれば完成です。

via

Mark text effect on scroll w/ IO

recommend

Author


Kachibito.net is a website to writing tutorials and code snippets for Web Developers, the main subjects are WordPress, javascript, CSS, OSS, tools and resources.

Links

Resources & Tools

Resource全記事 →

OSS

OSS全記事 →

AI

AI全記事 →

CSS snippet

CSS全記事 →

JavaScript snippet

JavaScript全記事 →

WordPress Code

WordPress全記事 →

[8]ページ先頭

©2009-2025 Movatter.jp