タグ

JavaScriptに関するsinfdのブックマーク (79)

  • もうjQueryには頼らない!素のJavaScriptでDOMを操作するための基礎知識

    DOM操作が必要なとき、真っ先にjQueryを使うことを考えます。しかし、素のJavaScriptのDOM APIだけでも、実はかなりのことができるのです。また、IE10以下のサポートが終了したため、今後は素のJavaScriptによるDOM操作を心配なく使えます。 記事では、素のJavaScriptで一般的なDOM操作をする方法について説明します。具体的には以下のとおりです。 DOMの取得と変更 クラスと属性の変更 イベントのリッスン アニメーション 記事の最後に、どのようなプロジェクトにも使える独自の超軽量DOMライブラリーの作り方を説明します。記事の最後までに、素のJavaScriptによるDOM操作は決して高度な技術ではないこと、多くのjQueryメソッドとまったく同じ機能が実はネイティブAPIにもあることが理解できるはずです。 それでは始めます。 DOM操作:DOMの取得 この記

    もうjQueryには頼らない!素のJavaScriptでDOMを操作するための基礎知識
  • jQueryの「$」やセレクタなどをサポート、jQueryの代替として利用できる超軽量スクリプト -Selector

    jQueryは確かに便利ですが、すべての機能が必要かと言われれば、そうではない人が多いと思います。 「$」やセレクタなど、jQueryの機能をサポートしたjQueryの代替として利用できる超軽量スクリプトを紹介します。 Selector -GitHub 最新のjQueryのファイルサイズは、下記の通り。 jquery-3.2.1.js 270 KB jquery-3.2.1.min.js 90 KB そして、Selectorのファイルサイズは、1/4以下! selector.js 65 KB selector.min.js 17 KB もちろん、jQueryの機能すべてが利用できるのではなく、オブジェクトやセレクタや関数に限られています。 サポートされているjQueryの機能 サポートされているjQueryオブジェクト $ サポートされているjQueryセレクタ add addClass

    jQueryの「$」やセレクタなどをサポート、jQueryの代替として利用できる超軽量スクリプト -Selector
  • changeではできない?JavaScriptでdivの変更を監視する方法 | オジマネ

    オジー WordPress歴8年 副業でデザイン/開発を受託→法人化 WordPressで会社HPをオリジナルテーマで作成 主軸はデザイン、たまにフロントエンドのコードも書きます 事業会社/受託会社 両方経験あり よくフォームでの値が変わったら〇〇という監視をするときにchangeを使うことがあると思いますが、divなどの中身が変更されたときに使用するのはご存知ですか? changeが使えればいいのですが、changeではdivの変更を受け取ることができません。そんなときはDOMSubtreeModified propertychangeを使用することで監視することができます。 今回はその使用方法を紹介したいと思います。 コード $(document).ready(function() { $('.div_change_lst').on('DOMSubtreeModified proper

    changeではできない?JavaScriptでdivの変更を監視する方法 | オジマネ
  • JSONデータからレスポンシブなタイムラインUIを表示できる「jquery-albe-timeline」:phpspot開発日誌

    GitHub - Albejr/jquery-albe-timeline: Plugin JQUERY para renderizao de timelines a partir de lista de dados JSON. JSONデータからレスポンシブなタイムラインUIを表示できる「jquery-albe-timeline」 時系列に何がおこったか分かりやすいタイムラインですが、JSONからUIを生成出来る上にレスポンシブなので便利に使えそうです 関連エントリ 分かりやすく美しい直感的に使えるタイムラインを実装できる「Timeline JS3」

  • JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~ - Qiita

    JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~JavaScriptjQuery ※2017/4/21にオンロード時のデバッグ方法8を追記しました! こんにちは!エイチーム引越し侍の加藤です! みなさんJavaScript書いてますか? console.logめっちゃ使うよねーって人は目からうろこのデバッグ方法を、 ケース毎に紹介していこうと思います。(僕はconsole.log使いません) サーバーにデバッグ用のコードをアップロードすること無いので、 消さずに意図に反してリリースしてしまう危険性がないのもお勧めです。 前提知識 F12で出てくるデベロッパーツール(Elements, Console, Source, Network)の知識 Ctrl+Shift+Fで外部ソース(js,css)に対して一括検索が

    JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~ - Qiita
  • APIサーバを立てるためのCORS設定決定版 - Qiita

    タイトルは釣り、かつ、自分のための備忘録です。 マイクロサービスアーキテクチャでサービスを構築すると、APIサーバをサービスごとに立てるわけですが、 ブラウザ上のJSエンジンからAPIサーバを叩く時に避けて通れないのが、Same-Origin Policy(同一生成元ポリシー)によるCORS (Cross-Origin Resource Sharing)制限です。 これを回避するには、APIサーバ側でAccess-Control-*ヘッダを適切に返す必要がありますが、どう設定するべきかの情報が意外と少ないので(自分的)これが決定版! という設定を考えてみました。 結論 nginxの場合の設定例です。 server { listen 80; server_name site.localhost; charset utf-8; root /var/www/app/public; locatio

    APIサーバを立てるためのCORS設定決定版 - Qiita
  • 逆引き!フロントエンドのイマドキパフォーマンス改善 - 青空コメントアウト

    WebアプリにしろWebサイトにしろパフォーマンスはとても重要です。どんなに高機能であっても、どんなにデザインが良くても、パフォーマンスが悪ければユーザーは離れてしまいます。 とは言え現場はキツキツのスケジュールで、パフォーマンスにまでこだわる余裕がないよ!パフォーマンスはひとまずできる限りのところまで頑張るよ!となってしまうこともあるかと…。 この問題の解決の糸口はパフォーマンスを良くする手段をどれだけ知っているかです。仕様を決めるとき、デザインを決めるとき、実装するとき、それぞれのフェーズでパフォーマンスを常に意識していると自ずとハイパフォーマンスに近づきます。 というわけで今回はフロントエンドの観点から、イマドキのパフォーマンス改善手法をまとめてみました。イマドキと謳っておきながら2年前くらいの技術が出てきたりして最新の話題でもないのですが。 ちなみに、題に入る前にWebパフォーマ

    逆引き!フロントエンドのイマドキパフォーマンス改善 - 青空コメントアウト
  • scrollMonitor - 大量のデータもスムーズにスクロール

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Web上で大量のDOMを表示するのは自殺行為です。Webブラウザの動きがガクガクになったり、フリーズしてしまったりします。そのためページネーションが使われるのですが、業務要件として全データの表示を求められることは多々あります。 そんな時にはscrollMonitorを使ってみましょう。大量のデータであってもスムーズなスクロールが可能になります。 scrollMonitorの使い方 利用例です。実際に表示されているのはこの見えている部分だけで、黄色と紫色の部分は消えたり、新しくDOMに追加表示されます。 見出しを残してスクロールもできます。 scrollMonitorではデータはメモリ上にありますが、それをスクロールにあわせて描画しています。また、不要になった部分は破棄しています。こ

    scrollMonitor - 大量のデータもスムーズにスクロール
  • Webデザインの没個性化と認知容易性 | ベイジの社長ブログ

    Webサイトのデザインは紙のデザインと異なり、技術的な制約が強く、特に最近は様々な環境(デバイス、ブラウザ、画面サイズ、屋内・屋外など)での閲覧に対応できることを求められます。そのため、戦略から要件、コンテンツ、機能と論理的にデザインを決めていくと、どこかで見たことあるような没個性なデザインになりやすいものです。(注:ここでいうデザインは視覚的なデザインを指します) マルチデバイス、マルチブラウザが進み、レスポンシブWebも選択肢の一つとして一般化した昨今では、Webデザインの没個性化はますます進んだ印象があります。例えば、Googleが公開しているマテリアルデザインのガイドラインを見ても、デザインのパターン化と属人性排除の思想を如実に感じることができます。また、データドリヴンなサイト改善を積極的に行っていくと、「デザインの個性」と成果に大した因果関係がないことを痛感します。 没個性なデザ

    Webデザインの没個性化と認知容易性 | ベイジの社長ブログ
  • 最速・最高のファイルアップロードに近づくための1歩 - Qiita

    Webアプリを作っていてよく出くわすのがファイルアップロードですね。単純にアップロードするだけなら実装自体はたいしたことないものですが、より良くしようと思うと想像以上に奥が深く…悩ましい沼感があります🤔 今回は今までファイルアップロードを実装していく中で手に入れた改善ポイントを紹介していきます。これで最速・最高のファイルアップロードに1歩でも近づけられればと思います。 なお、僕が普段開発をしているアーキテクチャの都合上、 nginx Rails の話が出てきますが一部を除きWebアプリなら普遍的に使える話だと思います。 2つの側面から紹介します。 UI編 と パフォーマンス編 です。 UI編は、HTML5を中心に使い勝手を向上させるためのポイントを紹介します。パフォーマンス編ではRailsのファイルアップロードを約10倍高速化⚡️した事例を紹介します。それでは長いですが、よろしくお願いし

    最速・最高のファイルアップロードに近づくための1歩 - Qiita
  • JSでグローバル汚染してる変数一覧を取得する - Qiita

    今、グローバル汚染してる変数はなにか? と思ってみるとき、たぶんconsole.log(window)とかしてwindowのプロパティを見ると思います。 ただプロパティ多すぎて、どれがもともとのプロパティで、どれが汚染してる変数だ?? となると思います。 そんな時に使えるコードです 用途 私は主に以下の2点の用途で使います。 悪いグローバル変数を見つける フレームワークやライブラリが使ってるグローバル変数を見つける 特に2番目の用途でよく使いますね。 コード 以下を実行すればconsoleに表示されます console.log((function(){ var propsOrig = []; var propsGlobal = {}; var win = window.open(); for(var i in win){ propsOrig.push(i); } win.close();

    JSでグローバル汚染してる変数一覧を取得する - Qiita
  • Reframe.js - iframeを自動リサイズするJavaScript MOONGIFT

    iframeを使ってWebサイトのコンテンツを埋め込めるサービスが増えています。特に多いのがYouTubeやVimeoなどの動画共有サイトです。埋め込むのは簡単なのですが、厄介なのはコンテンツがレスポンシブでないことです。 ブログなどをスマートフォンで表示すると動画の分だけ表示がはみ出てしまいます。そんな状態を改善するのがReframe.jsです。 Reframe.jsの使い方 Reframe.jsを実行するのは簡単です。以下のコードだけで使えます。 reframe('selector'); デスクトップサイズの場合。 幅を縮めても問題ありません。 Reframe.jsの特徴としては外部のJavaScriptライブラリに非依存ということでしょう。特にブログなどで活躍するのではないでしょうか。またハイブリッドアプリでも使えそうです。 Reframe.jsはJavaScript製のオープンソー

    Reframe.js - iframeを自動リサイズするJavaScript MOONGIFT
  • 20160930 フロントエンド高速化 業務編 (社内勉強会)

    スタートアップやプロダクトの成功に必要な「アイデア×プロダクト×実行×チーム×運」の 5 つの項目について解説した概要のスライドです。急成長するプロダクトの初期に役立てていただければと思います。 プロダクトマネージャーやスタートアップの CEO の方向けにどうぞ。 ※ Japan Product Manager Conference 2016 の登壇資料です

    20160930 フロントエンド高速化 業務編 (社内勉強会)
  • SVGをもっと使いこなすために知っておきたい、HTML DOMとSVG座標の相互変換

    Web制作でもよく使うようになったSVG。インタラクションなどを作るときにハマるのが座標に関する理解です。HTMLと組み合わせて使うときの座標の変換方法について解説します。 クールな人はもれなくSVGを使います。ただ、すばらしいSVGも、DOMやベクターインタラクションと一緒に使おうとすると複雑になります。 SVGは独自の座標系を持っており、viewbox属性を介して定義されます。たとえば、viewbox="0 0 800 600"とすると、幅800ユニット、高さ600ユニット、初期位置(0, 0)と設定されます。このSVGを800 x 600ピクセルの領域に置く場合、各SVGユニットは画面のピクセルに直接マッピングされます。 しかし、ベクター画像は美しさを保ったまま任意のサイズに拡大縮小できます。SVGは400 x 300の領域にも縮小でき、100 x 1200の領域に大きく形を変えて引

    SVGをもっと使いこなすために知っておきたい、HTML DOMとSVG座標の相互変換
  • http://post.simplie.jp/posts/74

    http://post.simplie.jp/posts/74
  • iOS 9以下でもiPhone safariでインラインで動画再生する方法第三弾 - Qiita

    いよいよFelicaポート搭載のiPhone 7が発表されましたね!サプライズもありまだまだ日でのiPhone一強は続くのではないかと感じさせられました。 さて、そのiPhone 7に搭載される予定のiOS 10ではいよいよsafariでも動画のインライン再生が可能になります。 iOS 10 Safari から video の inline 再生が可能になります - latest log iOS 9以下でもインライン再生する iPhone Safariで動画をインライン再生する方法 - Qiita 【音声対応】 iPhone Safariで動画をインライン再生する方法続き - Qiita 以前書いたこの2つの記事で紹介した方法はいずれも、video要素のcurrentTimeを動かしてcanvas要素に描画するというものでした。 今更発見した新手法 今回見つけた手法では、canvas要素

    iOS 9以下でもiPhone safariでインラインで動画再生する方法第三弾 - Qiita
  • console.logまとめ 2016年夏 - Qiita

    console.log関連についてまとめました。 モダンブラウザであればどれも使用できると思いますが、基出力結果等はchromeで確認したものです。 console.hogehogeのいろいろ 基 引数を入れることで出力結果をカスタマイズできます console.info、console.warn、console.error それぞれで見た目を変えることができます。 console.assert 式を評価してfalseの場合にログ出力します。 console.count ログの出力結果が同じ場合にカウント数が自動的に増えていきます。 console.dir オブジェクトのプロパティの中身をログに出力します。 console.dirxml HTMLとかXMLの要素を渡すと、下の要素が全部見れるようになります。 console.group、conosle.groupCollapsed co

    console.logまとめ 2016年夏 - Qiita
  • 連想配列を見たまま文字列の状態でコンソールに書き出す - Qiita

    var testObj = { top:{ a: 1, b: { ba:1, bb:"bbtext" }, c:{ ca:1, cb:[1,2,3], cc:3, cd:{ cda:1, cdb:2 } } } } console.log(testObj); この結果をブラウザの開発ツールで見ると、いい感じに表示してくれてしまいます。 chromeだとこんな感じ。 普段は見やすく使いやすく有り難いのですが、そのままコピペ出来る見たままの文字列が欲しくなる時が有ります。 処理の結果として返ってきたオブジェクトをブログやドキュメントに貼付けておきたい場合などです。 最近Qiitaを初めたばかりなのですが、既に何回か出くわしました。 あと、APIの仕様でjsonを文字列として投げたい時。 今出くわして、自分の記事にたどり着きました。 書いた consoleの中にそんな機能は無さそうだったので、書

    連想配列を見たまま文字列の状態でコンソールに書き出す - Qiita
  • anime.js

    Anime.js (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library with a simple, yet powerful API. It works with CSS properties, SVG, DOM attributes and JavaScript Objects. Getting started

    anime.js
  • javascriptを使ったSEO対策まとめ - Qiita

    一昔前まではjavascriptを使ったSEOに弱いというのがあったりしましたが、今ではGooglebotが大分賢くなりjavascriptを実行できるようになってきてます。 とはいえ何も考えなくてもいいかというとそうでもないので、javascriptを使った場合にSEO対策として意識しないといけないことをまとめてみました。 いろいろ書きましたが、 Hisory APIを使ってURLをきちんと書き換えよう っていうのが主です。(pjaxと呼ばれている手法です) クリックやスクロールでDOMを生成するコンテンツはインデックスされない ページロード時点ではhtml内に生成されていないが、あるイベントが起きた時にDOM要素を生成するパターン。 Qiitaで言うとTOPページ下部にある「もっと見る」とかがそうですね。 Googlebotはjavascriptを実行することはできるのですが、clic

    javascriptを使ったSEO対策まとめ - Qiita