
Aircraft manuevers during an airpower deomonstration. / Official U.S. Navy Imagery Javascriputを簡単に書けるようにしてくれるライブラリのjQueryですが、使い方をちょっと変えるだけで、パフォーマンスに大きく差がでます。ハイスペックPCでは分かりづらいかもしれませんが、スペックの低いPCやモバイルではWebページの表示速度が遅くすぐに閉じられるかもしれません。 Webページがたった1秒高速化するだけでECサイトなんか、売上が10%向上した事例もあります。そこで、jQuery高速化のポイントや方法をここにまとめておきます。 jQueryの最新バージョンを使う 図1 jQueryのバージョンによる速度 https://jsperf.com/speed-comparison-of-jquery-vers
ポチってもうたー開発メモ。 UIだけJSでいじってる時はそこまで慎重になることでもないけども、頻繁にガシガシajaxする場合は、既に走っているajaxリクエストもうまいことハンドリングすべき。ポチってもうたーでは、ツイートをJSONで返すよう、サーバーサイドでサービスを用意しているわけだけれども、まぁ、普通に考えれば、こんな感じで、JSON返ってきたらUIを更新するってやるんじゃないだろーか。 $.ajax(url, query).then(function(){ // UI更新しちゃう }, function(){ alert('ゴメンなんか変'); }); しかし、これには問題があって、JSONが返ってくる前に、もうそのUIが用済みになってしまうような操作がされた場合、あーもうUI更新して欲しくないんだけど後から更新されちゃったよーっていうことになってしまう。 ポチってもうたーでは、ロ
twitterでid:teramakoさんと@ssmylhさんに教えていただいたので覚書。 2012/2/18 0:45 ブコメで突っ込まれまくっているので全体的に修正。 ヤリたいこと createTextNodeで半角スペース(nbsp)半角スペースを生成して、span要素に挿入したい。 2012/2/18 0:52 修正 混同して書いていましたが、nbspではなく半角スペースです。nbspと半角スペースは別物です。 NBSPと通常のスペースの違いは、NBSPを含む文字列が行末に来て、かつ長すぎて行に収まらない場合、文字列全体(NBSPでつながっている文字列も含めて)が次の行へ移動することにある。これは通常の文字列の折り返しと類似している。たとえば、文字列“ambidextrously”は決して分割されることはなく、“am bi dextrous ly”(すなわち“am bi dextr
このイベントの中でとりあえず処理が必要なものは、Drag 対象要素の「 dragstart 」と Drop 対象要素の「 dragover 」「 drop 」となります。 var dragElement = null, items = document.getElementById('list').getElementsByClassName('item'); function dragStartHandler(event) { dragElement = event.target; event.dataTransfer.setData('dragItem', dragElement.innerHTML); } function dragOverHandler(event) { event.preventDefault(); event.dataTransfer.dropEffect =
<input type='color' value='#f594d0' /> Why A Colorpicker? I wasn't satisfied with the solutions available for colorpicking. Many of them included a ton of images, were hard to skin or customize, or were very large plugins. Here are the goals I had when making a new one: Small Footprint Just include the needed CSS and JavaScript files, and you are ready to go! <script src='spectrum.js'></script> <l
Before visitors click on a link, they hover over that link. Between these two events, 200 ms to 300 ms usually pass by (test yourself here). 引用:InstantClick — JS library to make your website instant リンクにマウスオーバーしてからクリックするまでには200msから300msほど時間がかかるそうです。実際このテストページでクリックしてみるとMacのトラックパッドだとさらに遅く500msくらいかかってました。 InstantClick.ioはその間に裏でリンク先ページをロードして勝手にリンクをpjax化してしまうという高速化ライブラリです。 やってることはRails4のturbolinksと似てます
あまりにも世情にうといので作った。 NHKのRSSを定期的にチェックして、新着ニュースの動画を連続自動再生する。 とてもテレビっぽい。おかげで4日後にオリンピックが開催されるという事を知れた。 ソースコード https://github.com/shokai/nhk-news-app zipでダウンロード https://github.com/shokai/nhk-news-app/releases node-webkitはネイティブアプリ作成のためにwebkitが改造されたwebブラウザで、HTML/JavaScript/CSSが実行できるだけでなくnode.jsのAPIもそのまま呼び出せる。 つまりjQueryでDOM操作すると同時にnodeのライブラリを使うような処理が、同じプログラムファイルにまとめて書ける。変にブリッジを書く事なくいつものnodeのように require(‘モジュ
JavaScriptテスト自動化ツールSeleniumのこれまでとこれから(前編)。第1回 日本Seleniumユーザーコミュニティ勉強会 JavaScriptのテスト自動化ツールとして知られるSeleniumに関する勉強会「第1回 日本Seleniumユーザーコミュニティ勉強会」が、1月18日に都内で開催されました。 JavaScriptを活用した大規模なWebアプリケーションが増えるなかでSeleniumへの注目は高まっており、会場には100人近い参加者が集まりました。この記事では、そのイベントをダイジェストで紹介します。
最近、JavaScriptの新刊が本当に増えててうれしいなーと思うtanakaです。Web+DB PRESS vol.73 の連載で、JavaScriptのユニットテストについて書かれていたのを読みました。主に3つのツール・ライブラリが紹介されていましたが、中でも複数のブラウザに対して一斉にテスト実行させるtestemがすごい便利そうです。以前、同様のツールであるjsTestDriverをバシャログで紹介しましたが、testemはnpmコマンドでインストールしたらすぐテストを書き始められるし、設定を書けば、自動でブラウザを起動してくれるので楽でした。(Windows,Macともに導入できました)テスト書きたいと思っている方がいましたら是非読んでみてください。 さて、testemはまだあんまりいじってないので、今日は JavaScript のコードをjshintというツールでチェックする方法
Google Chromeのとても優秀なDeveloper Tools,の中でもよく使うブレークポイントの機能について簡単に紹介します.単純なブレークポイント以外にもJS特有の機能があるのだけれど,あまり使っている人を見ることがないので… この投稿を読んだ後にはconsole.logやalertでprintデバッグをすることはないでしょう. 色々なBreakponts Developer Toolsのブレークポイントは,ソースコードの特定の行でbreakするという一般的なブレークポイント以外にもいくつかあります.上部写真の右側のメニュー参照 Breakpoints 普通のbreakpoint DOM Breakpoints Developer ToolsのElementsタブでDOMを右クリック→Break on...にて指定.特定のDOMのサブツリーや属性が変更されたとき,また該当DOM
「ページ内リンク スムーズスクロール」でググればいくらでも出てくるシロモノだけど、自分の要望をすべて満たすものが無かったので作ってみた。 こだわりのページ内リンクスムーズスクロール scrollsmoothly.js 動作サンプル 以下のソースコードをサンプルページのようにhead内で読み込むだけでOK。 ソースコード(Javascript) scrollsmoothly.js 読み込み例 <script type="text/javascript" src="scrollsmoothly.js"></script> 特徴 縦横斜めにスクロール可能 スクロール中にもリンクをクリック可能 別のページからのリンクでも指定の場所までスムーズスクロールします MIT License 動作確認ブラウザ IE6, IE7 Firefox 2,3 Opera 9.27 Safari 3.1 関連エントリ
バブリングとは バブリングとは・・・イベント発生源(クリックされたりした要素)からの親ノード親ノードへとイベントが伝わること。深い部分の要素から泡が浮き上がってくるようにイベントが伝播するからバブリング ▲ ▼ JavaScriptのイベントハンドラ JavaScriptではこのイベントの伝播をイベントハンドラ(onclickとかonmouseoverとか)でキャッチすることによって、イベントを関数キックのトリガーに使うことができる。 いつもonclickとかで書いているのは、自分発生のイベントを自分でキャッチしているってこと 別の見方をすると、イベント発生源とイベントハンドラがくっついているものは一緒な必要が無い だからイベントハンドラが登録してあれば、子要素をクリックした場合、親をクリックしてもないのに親のイベントハンドラにセットしてある関数が呼び出されたりします バブリングはキャ
※基本的には出てきたオーバーレイはクリックしたら閉じます。 var o1 = new $.overlay(); $('#btn01').click(function(){ o1.open(); }); var o2 = new $.overlay({bg_color: '#ff0000'}); $('#btn02').click(function(){ o2.open(); }); var o3 = new $.overlay({opacity:0.8}); $('#btn03').click(function(){ o3.open(); }); var o4 = new $.overlay({bg_color: '#0000ff', opacity:0.1}); $('#btn04').click(function(){ o4.open(); }); var o5 = new $.ove
解決策は<iframe>を使わないこと 昨年7月からYouTubeは埋め込み方式を<iframe>に対応させ、今年の1月から<object>がデフォルトではなくなりました。iPhone/iPadのSafariでは<iframe>の扱いに不具合がありますので、埋め込み動画を表示させてあげるには、YouTubeかApple側が改善するまでは 1)旧方式の<object>を使う、または 2)グーグルの公式ブログ「iframe 埋め込み式 YouTube Player 向け JavaScript Player API のご紹介」にある対応策を使う、のおもに2通りです。以下はその方法です。 埋め込みオプションで「古い埋め込みコードを使用する」にチェックを入れると、iframeタグからobjectタグに変わります。今まで通り問題なく表示できるはずです。 2)JavaScript Player APIを
おそらく、JavaScript を使いこなす肝は setInterval、setTimeout、イベントによる関数の実行を理解することだと思う 例えば 次のコードの結果を考えたとき document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.write("piyo\n");普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。 でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に) 何故か? たぶん、どのサイトの setTimeout の説明を見て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く