スポンサーリンク
カテゴリー:"JavaScript"

JQuery で複数の ajax の終了を待ってから処理がしたい

JQuery で複数の ajax(非同期リクエスト)がすべて終了するのを待ってから何かしたいときのメモです。

やり方としては、処理を待ちたい ajaxオブジェクトを配列に格納しておいてから、when で処理します。

ソースは以下の感じで。

続きを読む »

JQuery の ajax でリクエストタイムアウトを設定しよう

ソースとしては以下な感じ。

続きを読む »

JavaScript で改行を含んだ複数行の文字列を変数に代入するエレガントな書き方

変数に改行を含んだ文字列を代入する場合、通常は改行を "\n" に置き換えて以下のコードみたいに書くのですが、とてもエレガントな書き方に出会ったのでちょっとメモ φ(..)。

続きを読む »

JQuery 1.x系を使っていたら、Firefox に「getPreventDefault() の使用は推奨されません」と警告されたので

JQuery の 1.x系を使っていたら、Firefoxに 「getPreventDefault() の使用は推奨されません。代わりに defaultPrevented を使用してください。」と警告されてしまいました。

続きを読む »

JavaScript で特定のHTMLタグの子要素(タグ)の数を取得するには childElementCount を使おう!

JavaScriptから特定のHTMLタグの子要素を取得してホゲホゲする用事ができたので、いろいろと調べてみた結果、childElementCount を使うのが良さそうだったのでメモメモです φ(..)。

たとえば・・・

続きを読む »

JavaScript からHTMLタグの属性値をうまく取得できない時は、getAttribute を使えばなんとかなる(ハズ)

JavaScriotからHTMLの属性(プロパティ)の値を取得する場合、document.getElementById('hoge').value なんてやると手っ取り早いのですが、オリジナルの属性をしかもハイフンの入った名前で付けられてる(例えば my-id みたいな)と、この書き方では上手く中身を取り出せません。

知らずに document.getElementById('hoge').my-id と書いて見事にハマってしまいました・・・orz

どうやらmyの後ろの “-” が減算演算子として扱われてしまうようなんです。つか、誰だよ、こんな属性作ったの!

続きを読む »

ブックマークレットから直接クリップボードにテキストをコピーするのは無理っぽい

ちょっと前に、現在表示しているページヘのリンクを作成するブックマークレットを作ってみたのですが、せっかくダイアログに[OK]ボタンがあるのだから、そもままクリップボードにテキストをコピー出来たら便利じゃね? と、いろいろ調べてみたのですが・・・。

タイトルにもある通り、どうやらちょっと無理っぽいという結論に達しました。

続きを読む »

現在表示しているページヘのリンクを作成するブックマークレットを作ってみた

現在表示しているページへのリンクを作成するブックマークレットを作ってみました。

続きを読む »

JavaScriptを使ってHTMLの特定の要素の後に要素を追加したい

Javascriptを使ってHTMLの特定の要素の後に新たな要素を追加したかったのですが、insertBeforeというメソッドはあってもinsertAfterというメソッドって無いんですね。

まぁ、探せば間違いなく誰かが書いてると思うのですが、勉強も兼ねて実装してみました。

続きを読む »

setTimeoutはこれだけ覚えておけばOK

久しぶりに javascript のコードを書いてて、setTimeout を使おうと思ったらすっかり忘れてたので自分用にメモメモです φ(..)。

文法

Webを検索してみると使い方がいろいろヒットするわけですが、結局のところ

setTimeout(function(){ 実行したい処理 }, 待機時間);
 

という書式だけ覚えておけばOKなんですよね。ちなみに待機時間はミリ秒で指定します。1秒だと 1000 を指定することになるわけです。

実際に使う場合は、

setTimeout(function(){ alert("Timeouted!"); }, 1000);
 

みたいに使います。

注意点

で、注意しないといけないのは、setTimeout は処理を指定時間止めて待つわけではない。という事です。

イメージ的には、“指定秒後に実行する” というイベントを作って、そこに処理を登録すると考えればいいかと思います。

似たようなパターンとしては、onLoad イベントに処理を登録しておくと、ページのロードが終わったところで登録されている処理が実行される場合が近いかと思います。

ですので、

alert("hoge");
setTimeout(function(){ alert("fuga"); }, 1000);
alert("piyo");
 

という処理の場合、まず "hoge" のダイアログが表示され、次に "piyo" のダイアログが表示され、最後に "fuga" のダイアログが表示されます。

参照リンク
 ・JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 - IT戦記

スポンサーリンク

プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku

    運営サイト
    www.mukairiku.net

ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

Blog powered by TypePad

スポンサーリンク