いずれもMITライセンスで公開されていますので、個人・商用問わず利用可能です。 Slick.js Slickスリック.jsは簡潔なコードで実装できるのが特徴のモバイルフレンドリーなカルーセルライブラリです。機能は少なめですが、ナビゲーションや表示するスライド数を変更するといった基本的な機能は備わっています。jQueryプラグインのため実装にはjQueryを読み込む必要があります。タッチ・スワイプ操作にも対応しています。ReactやVue向けのモジュール、TypeScriptのサポートは公式で提供されていませんがOSSで存在します。 このJSライブラリの基本的な実装と、アニメーションをフェードに変えた作例を用意しました。 基本の作例 サンプルを別ウインドウで開く コードを確認する <div class="slick carousel"> <div>1</div> <div>2</div> <
スクロールに連動するアニメーションはIntersection Observerを使用すると、簡単に実装できます。カードUIがスクロールしてビューポートに表示されると、カード内の要素がアニメーションするUIを実装する方法を紹介します。 ライブラリなどは必要なく、数行のJavaScriptで簡単に実装できます。 Animate on scroll using Intersection Observer by Keerthi 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに Step 1: カードUIをHTMLとCSSで実装する Step 2: CSSに基本的なアニメーションを追加する Step 3: Intersection Observerを使用する前に、HTMLに変更を加える Step 4: JavaScriptのInt
Core Web Vitalの連載第8回では、JSおよびCSSの最適化について説明しよう。配信の最適化(Gzip圧縮、CDN、ブラウザキャッシュ)についてはすでに第1回「リソース配信の最適化」で説明したのでそちらを参照して欲しい。今回最適化するのは次の項目である。 不要な読み込みをなくす(特にプラグイン)CSS・JS自体を分割し、必要な時だけ読み込む。 この作業はかなり面倒くさく、サイトごとにチューニングが必要になる作業なので、運用歴の長い既存サイトで導入するのはかなり骨が折れるだろう。だが、最終的にはこの作業をやらないと「使用していないCSS / JavaScriptの削減」という項目をなくすことができない。 なにより、ユーザーに余計なデータをダウンロードさせないことは、ユーザー体験の向上につながるだろう。 不要なJS/CSSの読み込みを停止 まずは不要なCSSとJSの読み込みを停止する
tobiiは画像でもiframでも対応できるシンプルで使いやすく汎用的な非依存のlightboxスクリプトです。 任意のHTML要素や画像だけでなく、YoutubeやVimeoなどの動画や任意のWebページなども可能で、グループ化も出来ます。グループ化した際はスワイプにも対応しています。 以下動作サンプルを作りました。 一応貼りますけど、動かないみたい?なのでお手数ですがCodepenで直接ご確認下さい。 設定も非常にシンプルです。 <script src="tobii.min.js"></script> スクリプトを読み込んで const tobii = new Tobii() 初期化。あとはマークアップでセッティングします。 <a href="https://www.youtube.com/embed/Yds5jgqmYpE?autoplay=1" data-type="iframe"
Webページがロードされた時やスクロールされた時など、ブラウザのビューポートに表示された時に指定したDOM要素にさまざまなアニメーションを個別に設定できる超軽量のJavaScriptライブラリを紹介します。 HTMLにclassとdata属性を加えるだけで、ランディングページでよく見かけるスクロールすると見出しやテキストや画像が右・左からアニメーションでふわりと表示されたり、フェードインやスケールアップ・ダウンなどが簡単に実装できます。 Animon Animon -GitHub Animonの特徴 Animonのデモ Animonの使い方 Animonの特徴 Animonは、Webページ上のDOM要素がビューポートに表示された時に、指定したDOM要素をアニメーション化させるJavaScriptの超軽量(0.9kB)ライブラリです。単独で動作し、他のスクリプトへの依存はありません。 実装は
フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリを紹介します。スマホのフリック操作だけでなく、デスクトップのクリックやドラッグ操作にも対応しています。 シンプルなHTMLで簡単に実装でき、Vue、React、Angularもサポート、単体でも動作するJavaScriptです。 Flicking Flicking -GitHub Flickingの特徴 Flickingのデモ Flickingの使い方 Flickingの特徴 Flickingはその名の通り、フリック操作に対応したスライダー・カルーセルを簡単に実装できるJavaScriptライブラリです。新しくなったFlicking 3はフレキシブルで、さまざまな拡張機能を備えており、無限フリック・フリースクロール・スナップ・バウンドをはじめ、異なるサイズのパネル、静止位置のカスタマイズなどもできます。
「かっこいいウェブサイト」とはどのようなものでしょう? ICS MEDIAを見てくださるみなさんであれば、ダイナミックなアニメーションや3次元的な動きがあるウェブサイトに「おっ」と惹きつけられた経験は一度や二度ではないかと思います。たとえば、スクロールに連動したインタラクティブな動きは冒険するようなワクワクした気持ち、没入感を与えてくれます。 『ポーラ2029年ビジョン』 本記事の前半では、話題になったウェブサイトからかっこいいスクロール演出の事例を取り上げ、それらを分析します。 さらに記事の後半では、「自分でも作ってみたいなぁ、でもどうやって実装しているんだろう?」と悩むみなさんに向け、オリジナルのデモを用いて実装を紹介します。 本記事を読んだ後には、「どうやって実装しているんだろう?」と未知の技術に感じていたスクロールアニメーションも、「こうやっていたのか!」と身近に感じられるようにな
ネイティブのタッチ・スワイプ操作に対応したさまざまなスライダーを実装できるJavaScriptライブラリを紹介します。 依存関係は一切なし、IE10を含むすべてのブラウザをサポートしています。
JS でブレークポイント毎に処理を分ける場合の方法を resize から matchMedia に移行したので、その際のメモ書きです。 昔ながらの方法 恥ずかしながら、最近まで JS でブレークポイント毎に JS 処理を切り替える場合、 以下のように昔ながらの resize イベントの監視を使っていました... /** * イベントリスナー */ const listener = () => { // リサイズ時に行う処理 if (window.innerWidth >= 768) { // 768px以上 console.log('PC用ブレークポイント用処理'); } else { // 768px未満 console.log('SP用ブレークポイント用処理'); } }; // リスナー登録 window.addEventListener('resize', listener); /
const d1 = new Date('2021/2/21 12:34:56'); console.log(d1); // Sun Feb 21 2021 12:34:56 GMT+0900 const d2 = new Date(2021, 1, 21, 12, 34, 56); console.log(d2); // Sun Feb 21 2021 12:34:56 GMT+0900 const d = new Date(); const year = d.getFullYear(); const month = d.getMonth() + 1; const date = d.getDate(); const hour = d.getHours(); const minutes = d.getMinutes(); const seconds = d.getSeconds(); co
pace.jsは設定が一切不要でページロード中にプログレスバーを自動で実装してくれるスクリプトです。何の設定も無くJSとCSSを読み込むだけで上デモのようにページロードのプログレスバーを表示してくれます。 非依存で単体で動作してくれます。デモではロード時間までをパーセントで表示していますが、これらも全て自動で処理してくれます。 プログレスバーはCSSで管理されており、いくつか選べるようになっています。プロジェクトページでCSSがダウンロードできるのでお好みのスタイルを選んでください。 <script src="https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/pace-js@latest/pace-theme-default.
Webページやスマホアプリにスクロールのアニメーションを実装したり、特定の地点までスクロールしたらイベントをトリガーにしたりする際は、JavaScriptのライブラリを使用するのではなく、Intersection Observerが非常に簡単で便利です。 Intersection Observerを使用して、Vue.jsでスクロールイベントをトリガーする方法を紹介します。 How To Trigger a Scroll Event in Vue.js With the IntersectionObserver by Luca Spezzano 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに Intersection Observer APIで何ができるか IntersectionObserverのコンポーネント 終わり
EasyGridはカスタマイズ性の高い非依存のレスポンシブなグリッドレイアウトフレームワークです。 依存性の無い軽量なJavaScrioptとCSSで様々なRWDのグリッドレイアウトを構築出来るようになっています。例えば上SSのレンガ風だったり各アイテムの高さを揃えた綺麗なグリッドだったり。非依存なのでBootstrapなど他のフレームワークとの併用も問題ありません。 <script src="easygrid.js"></script> <link rel="stylesheet" href="easygrid.css"> スクリプトを読み込んで document.addEventListener("DOMContentLoaded", function() { var demo1 = new EasyGrid({ selector: "#foo", dimensions: { widt
Svelte is a UI framework that uses a compiler to let you write breathtakingly concise components that do minimal work in the browser, using languages you already know — HTML, CSS and JavaScript. It’s a love letter to web development. But don’t take our word for it. Developers consistently rank Svelte as the framework they’re most excited about using.
画像と同じ色のシャドウを加えてくれる【cosha】通常 box-shadow などで画像に影をつけると単色になりますが、今回紹介する「cosha」を使えば画像を反射したようなカラフルな影を実装できます。画面に透明感がでて素敵に演出できますよ! 影に画像の色が反映されていますね! cosha の実装方法難しい記述は不要なので、サクッと試せますよ。 1. 画像を用意するbody タグの中に画像を用意しておきます。まぁ普通ですね w 変わった事は何もしていません。 HTML <body> <img src="images/picnic.jpg" alt="picnic" /> </body> 2. Cosha の JavaScript ファイルを読み込ませるJavaScript ファイルは公式 GitHubからダウンロードしてもいいですし、CDN が用意されているのでそのまま読み込ませてもいいで
Embla Carouselは滑らかに動くスワイプ可能な非依存型のカルーセルライブラリです。使い方も簡単です。 上にサンプルを用意しました。ベーシックなタイプで無駄もなく、タッチデバイスフレンドリー、汎用性も高くて、とても使いやすい印象です。 動きも滑らかでストレスなく使えます。オプションも豊富で本体スクリプトも軽量となっています。 <script src='https://unpkg.com/embla-carousel@latest/embla-carousel.umd.js'></script> サンプルのコードです。CDNが用意されていますので使わせてもらいました。 const emblaNode = document.getElementById("embla"); const options = { loop: true }; const embla = EmblaCarous
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く