タグ

jsに関するdemizuのブックマーク (36)

  • 令和のHTML / CSS / JavaScriptの書き方50選

    Web制作技術は日々進化しており、会社やプロジェクトによっては昨今の環境に適さない書き方をしているケースも時折見受けられます。 そこで今回は「2024年のWeb制作ではこのようにコードを書いてほしい!」という内容をまとめました。 質より量で、まずは「こんな書き方があるんだ」をこの記事で伝えたかったので、コードの詳細はあまり解説していません。なので、具体的な仕様などを確認したい方は参考記事を読んだりご自身で調べていただけると幸いです。 1. HTML 画像周りはサイトパフォーマンスに直結するので、まずはそこだけでも取り入れていただきたいです。また、コアウェブバイタルやアクセシビリティも併せて理解しておきたい内容です。 Lazy loading <img>にloading="lazy"属性を付けると画像が遅延読み込みになり、サイトの読み込み時間が早くなります。

    令和のHTML / CSS / JavaScriptの書き方50選
  • gridでアコーディオンメニューの実装 - Qiita

    はじめに 今回は、アコーディオンの開閉部分をgridでおこなう方法があることを知ったので、備忘録として記事にしました。 (私が知ってた)今までの実装 See the Pen accordion height by chisato (@mgkita) on CodePen. 1.コンテンツの高さ(.accordion__body部分)に初期値としてheight: 0px;をcss設定し、コンテンツが表示されないようにする。 .accordion__body { height: 0px; overflow: hidden; transition: height 0.2s ease-out; } さらにoverflow: hidden;をつけることで、高さ(height: 0px;)を超えるコンテンツ(accordion__text部分)を表示しないようにしています。 2.JSでクリック時のコン

    gridでアコーディオンメニューの実装 - Qiita
    demizu
    demizu 2023/06/03
  • これなら実装がすごく簡単!スクロール時にDOM要素をアニメーションで表示する超軽量のJavaScript -Animon

    Webページがロードされた時やスクロールされた時など、ブラウザのビューポートに表示された時に指定したDOM要素にさまざまなアニメーションを個別に設定できる超軽量のJavaScriptライブラリを紹介します。 HTMLにclassとdata属性を加えるだけで、ランディングページでよく見かけるスクロールすると見出しやテキストや画像が右・左からアニメーションでふわりと表示されたり、フェードインやスケールアップ・ダウンなどが簡単に実装できます。 Animon Animon -GitHub Animonの特徴 Animonのデモ Animonの使い方 Animonの特徴 Animonは、Webページ上のDOM要素がビューポートに表示された時に、指定したDOM要素をアニメーション化させるJavaScriptの超軽量(0.9kB)ライブラリです。単独で動作し、他のスクリプトへの依存はありません。 実装は

    これなら実装がすごく簡単!スクロール時にDOM要素をアニメーションで表示する超軽量のJavaScript -Animon
  • トレンドウェブサイトから学べ! JavaScriptで作る本格スクロール演出 - ICS MEDIA

    「かっこいいウェブサイト」とはどのようなものでしょう? ICS MEDIAを見てくださるみなさんであれば、ダイナミックなアニメーションや3次元的な動きがあるウェブサイトに「おっ」と惹きつけられた経験は一度や二度ではないかと思います。たとえば、スクロールに連動したインタラクティブな動きは冒険するようなワクワクした気持ち、没入感を与えてくれます。 『ポーラ2029年ビジョン』 記事の前半では、話題になったウェブサイトからかっこいいスクロール演出の事例を取り上げ、それらを分析します。 さらに記事の後半では、「自分でも作ってみたいなぁ、でもどうやって実装しているんだろう?」と悩むみなさんに向け、オリジナルのデモを用いて実装を紹介します。 記事を読んだ後には、「どうやって実装しているんだろう?」と未知の技術に感じていたスクロールアニメーションも、「こうやっていたのか!」と身近に感じられるようにな

    トレンドウェブサイトから学べ! JavaScriptで作る本格スクロール演出 - ICS MEDIA
  • JavaScript Primerを出版しました!/JavaScript Primerはなぜ書かれたのか?

    この3つの原則は書籍の構成にも現れています。 第一部の基文法で「書き方」を学び、第二部のユースケースで「作り方」を学べるようになっています。 「学び方」は、章としてではなく全体的な流れとして取り入れることにしました。 なぜなら、「学び方」自体は学びたいことによっても異なる方法を取る場合があります。 そのため、「学び方」で個別の章とするよりは、他の章で「書き方」や「作り方」と一緒に見たほうがよいと考えたためです。 たとえば、基文法などの学び方にはMDNのようなリファレンスサイトを見たほうがいいし、 アプリケーションの作り方は実際のサイトなどを参考にしたほうがよいためです。 第一部と第二部がどのように書かれたのかをざっくりと振りかえってみます。 第一部: 基文法 第一部: 基文法はJavaScriptの基的な文法について扱っています。 プログラミングの入門書で文法については避けること

    JavaScript Primerを出版しました!/JavaScript Primerはなぜ書かれたのか?
    demizu
    demizu 2020/04/27
  • パララックス効果を与えるとても簡単なJavaScriptライブラリ「simpleParallax.js」の使い方

    パララックス効果を与えるとても簡単なJavaScriptライブラリ「simpleParallax.js」の使い方 パララックス効果は数年前にトレンドとなって、いまでもWebデザインの表現に欠かせない要素のひとつであるが、しかしその表現はさまざまで、複雑さを増している印象がある。 そんな影響を受けてかパララックスライブラリも高機能になっていき、使いにくい状況になってしまっている。さらにサイト設計に関わるJavaScriptフレームワーク(ライブラリ)との依存性も考えなければならない。 そのような訳で、パララックスの実装に苦手意識をもっていないだろうか?できれば、「パララックス効果を含んだデザインを入稿しないでね」って具合に。 でも大丈夫。実装がとても簡単なJavaScriptライブラリがある。 このエントリーでは、パララックス効果を与えるJavaScriptライブラリ「simpleParal

  • モダンなJSとCSSで作るライブラリ不要の全画面スクロール演出(2019年版) - ICS MEDIA

    スクロールで全画面がスライドのように切り替わるウェブサイトの表現があります。手軽にこの表現を実装するJSライブラリ、fullPage.jsを使ったことのある方もいるのではないでしょうか? かつては無料で使えたこのライブラリですが、現在はGPLライセンスのプロジェクト以外では使用料がかかります。 その一方、CSSJavaScriptの進化により、このような表現をライブラリを使わずとも比較的簡単に実装できるようになりました。記事では、基的な機能をおさえた、全画面スクロールの実装方法を紹介します。 この記事を通じて以下の技術も学べます。 スクロールをピタッと止めるCSSプロパティscroll-snap-type 画面と要素の交差を検知するIntersection Observer API スムーススクロールが実装できるJavaScriptメソッドscrollIntoView() デモを別ウ

    モダンなJSとCSSで作るライブラリ不要の全画面スクロール演出(2019年版) - ICS MEDIA
  • JSでのスクロール連動エフェクトにはIntersection Observerが便利 - ICS MEDIA

    ウェブのリッチな表現としてスクロールに応じたエフェクトがあります。これまでJavaScriptのscrollイベントで実装していましたが、Intersection Observer APIを使うとより効率的に実装できます。ブラウザーのサポートも拡充し、今後は標準となる技術でしょう。 ▼スクロールで目次の色が変わるエフェクト 記事ではIntersection Observer APIの使い方と実践例を解説します。 特定の位置で発火する従来の手法 これまで、特定の位置で発火するイベントにはscrollイベントを使う必要がありました。以下のコードは、あらかじめページ上部からの距離を取得し、スクロール量が規定に達したところで発火させる手法です。 window.addEventListener("scroll", () => { const srollVal = window.pageYOffse

    JSでのスクロール連動エフェクトにはIntersection Observerが便利 - ICS MEDIA
    demizu
    demizu 2019/09/03
  • フロントエンドの「想定外」に対応する考え方とTipsいくつか

    とても個人的な話ですが、ここ最近で自分自身のプライバシー意識の高まりを感じて、ブラウザの設定を見直す機会がありました。見直したのはCookieの設定で、許可したドメインにしかCookieを記憶しないようにしました。設定変更によるある程度の不便は覚悟していました。とはいえ、ま〜せいぜい、初回アクセスの時のモーダルが何度も出るようになるとか、ログインできなくなるとか、そのくらいかなと思っていました。 しかし実際は、悪い意味で期待を裏切られることになりました。 Cookieが無効なだけで、“全く”動かなくなってしまうウェブサイトやウェブアプリが、当にたくさんあることに気づいたのです。 全く動かなくなってしまう原因は単純(後述)だったのですが、ちょっとした対処で簡単に直せることなのに、サイト全体が一切使い物にならなくなってて、もったいない!! と思いました。 フロントエンドの想定外 ウェブサイト

    フロントエンドの「想定外」に対応する考え方とTipsいくつか
    demizu
    demizu 2019/07/09
  • [JS]コンテンツの見出しを目次にし、スクロールしてもサイドバーに固定表示されるナビゲーション -Progress Nav

    コンテンツの見出しを目次代わりにし、スクロールしてもサイドバーに固定表示されるナビゲーションを実装するJavaScriptのライブラリを紹介します。 ページのスクロールに合わせて、ナビゲーションの現在位置はアニメーションで移動します。

    [JS]コンテンツの見出しを目次にし、スクロールしてもサイドバーに固定表示されるナビゲーション -Progress Nav
  • 海外のウェブサイトでよくみる「要素が画面内に入ったらふわっとフェードインするあれ」の実装方法 | imasashi.net

    最近よく見るようになりましたエフェクトの実装方法です。海外のおしゃーなウェブサイトは必ずといっていいほど取り入れているように思います。 デモ作りました。要するにこういうやつです。 以下、これのつくりかたを紹介します。 基的な考え方 アニメーションはCSS3のtransitionで制御する アニメーションの開始トリガーをjsで制御する という感じで、CSS3とjsのあわせ技で頑張ります。 具体的なマークアップ コーディング方法です。 HTML <div> <section class="fadein"> <h2>情報設計</h2> <p>何かしらの説明文。何かしらの説明文。何かしらの説明文。</p> </section> <section class="fadein"> <h2>サイトマップ</h2> <p>何かしらの説明文。何かしらの説明文。何かしらの説明文。</p> </section

    海外のウェブサイトでよくみる「要素が画面内に入ったらふわっとフェードインするあれ」の実装方法 | imasashi.net
  • フロントエンドに必要なとりあえずのjsプラグイン2020 - Qiita

    2020年3月時点でまだ現役なプラグイン。 非常にお世話になっております。 雑いのでもう少しちゃんと書きたい。 jQuery もそこそこ多めです。 ▼ ユーティリティー系 bowser.js http://lancedikson.github.io/bowser/docs/bowser.js.html ブラウザ判定 [日語解説] https://co.bsnws.net/article/231 Moment.js https://momentjs.com/ jsは Date がハマるし辛い。ので時間系を扱う時はかなり必須。 [日語解説] http://blog.asial.co.jp/1158 date-fns https://github.com/date-fns/date-fns dateライブラリ Momtent.js よりモダン。使いたい機能だけをモジュール単位でインポートでき

    フロントエンドに必要なとりあえずのjsプラグイン2020 - Qiita
    demizu
    demizu 2019/06/25
  • ScrollOut

    ScrollOut detects changes in scroll for reveal, parallax, and CSS Variable effects! Install with npm i scroll-out -s or Download .zip Feature Rich Use JavaScript callbacks, CSS selectors, or CSS Variables to animate elements in and out. You can even create sticky headers. Ridiculously Small At about 1kb minified and gzipped, this packs a whole lot of features into a small package. Progressively En

  • jQueryを卒業したかった僕がReact StaticでReactをイチから学んでWebサイトを作った話 | 株式会社ヌーラボ(Nulab inc.)

    Typetalk チームフロントエンドエンジニアの岡藤(@johnykei)です。先日 Typetalk Webサイトリニューアルに伴い、フロントエンド技術を jQuery から React + styled-components に刷新しました。記事では、React を用いた Web サイト制作についてお伝えします。 はじめに タイトルにもあるように、僕は今まで JavaScript を書く必要がある時は使い慣れた jQuery を使っていました。 フロントエンドエンジニアという肩書きではありますが、フロントエンドエンジニアという職種は幅広く、僕はどちらかというとページやUIのスタイリングが主な業務で、普段 JavaScript を書く頻度もそんなに高くありませんでした。 最近海外ではそのような業種の人をフロントエンドデザイナーと呼ぶ動きも出てきていますが、jQuery しか使ってい

    jQueryを卒業したかった僕がReact StaticでReactをイチから学んでWebサイトを作った話 | 株式会社ヌーラボ(Nulab inc.)
  • You Don't Need jQuery - Qiita

    注意とお願い この記事の内容はもはや古いです。ここに書いている方法では動かないものをいくつか見つけました。参考にする際は動作をよく確認してから使ってください。 ひとつお願いがあります。「あれ、動かないぞ」というコードを見つけたら是非コメントか編集リクエストで教えてください。解決方法までなくても結構です。「これはもう動かないよ」という印をつけたいのです。 この記事はYou Don't Need jQueryの日語訳と同じ内容です。 先日ひょんなことからYou Don't Need jQueryの日語訳をさせていただきました。著者のCam Songさんからも快諾をいただけたので1、Qiitaでも公開させていただきます。 なお、家の英語の説明は継続的にメンテされているので、この記事の情報は古くなっている可能性があります。 追記 この記事は当初は「もうjQueryは必要ない」というタイトルで

    You Don't Need jQuery - Qiita
  • You Might Not Need jQuery

    jQuery and its cousins are great, and by all means use them if it makes it easier to develop your application. If you're developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency. Maybe you can include a few lines of utility code, and forgo the requirement. If you're only targeting more modern browsers, you might not need anything more tha

  • クリックすると音が鳴るボタンの作り方

    Google Nowなどに見られるように、音声入力が一般的になってきた昨今。逆に音声出力するコンテンツを活用する機会が、これから増えてくるかもしれません。今回はJavaScriptを利用して、音が鳴るボタンを作成する方法を解説します。

    クリックすると音が鳴るボタンの作り方
  • three.jsを利用したVR体験の実現 ① 全天球を表示してみる | Tech Blog - リクルート住まいカンパニー

    こんにちは、スマートデバイス戦略開発グループの katayama です。 住まいカンパニーではSUUMOスコープ (SUUMOが提供するCardboardによるバーチャル物件内観のこと)を利用したVR (バーチャルリアリティ) 体験の提供を行っています。 SUUMOでは、アプリ / Webブラウザこんにちは、スマートデバイス戦略開発グループの katayama です。 住まいカンパニーでは SUUMOスコープ  (SUUMOが提供するCardboardによるバーチャル物件内観のこと)を利用したVR (バーチャルリアリティ) 体験の提供を行っています。 SUUMOでは、アプリ / Webブラウザ のどちらからでも閲覧できるように、WebGLを利用して開発をしており、今回はこれを事例に、three.js を利用したVR体験の実装方法 (まずは全天球を表示してみるところまで) についてお話します

  • 【Three.js】360°パノラマビューワーを作ってグリグリ操作出来るようにした(スマホ対応) - Qiita

    概要 THETAやその他の360°全天球イメージ撮影デバイスで撮った画像で、バーチャルツアーとして360°のパノラマビューのコンテンツを作りたい場合、例えば「Panotour」や「Krpano」のようなオーサリングのソフトウェアを使うのが最も一般的ですが、これらのソフトは凄い高機能な反面、カスタマイズ性に欠けていて、ビルドされたコードも難解で、触るのにしても気が引けるので、やりたいことを中々、自由に簡単に実装することはできません。 やはりオーサリングソフトに依存せずに、自由に360°パノラマビューワーを実装するにはThree.jsのようなWebGLの技術を使い、自分で開発する必要があります。 (WebGLなのでスマホのOSが下位バージョンだと動きませんが・・・) 今回のビューワーで対応した項目は以下のとおり 360°パノラマビュー表示 マウス操作 回転アニメーション PC全画面 ズーム ス

    【Three.js】360°パノラマビューワーを作ってグリグリ操作出来るようにした(スマホ対応) - Qiita
  • Senna.js

    FeaturesSenna.js is a blazing-fast single page application engine that provides several low-level APIs that allows you to build modern web-based applications with only ~8KB of JavaScript without any dependency. Bookmarkability & SEOWhen using a single page app, sending a link to a friend should get them where we were. More than that, a search engine spider should be able to index that same content

    Senna.js
    demizu
    demizu 2016/01/05