タグ

tipsとJavaScriptに関するteru_whileのブックマーク (44)

  • 最速インターフェース研究会 :: JavaScriptの関数の結果を期限付きでキャッシュする

    処理に時間がかかるけれども、一定時間は結果が変わらないような関数の結果をキャッシュしたい。 例えばgetElementsByTagName("*")なんかを頻繁に呼び出すようなコードがあったとして、結果をキャッシュしたいけれど画面描画が発生すると使えなくなってしまう。setTimeoutで0ミリ秒後にキャッシュを消す処理を入れておいて、画面描画と関係のある処理はタイマーで実行するような制約を付けてコードを書けばDOMが絡む処理の結果もキャッシュすることができる。というようなケースに使えるような気がする。 Function.prototype.timed_memoise = function(ms){ var self = this; ms = ms || 0; var memo = {}; var clear_q = false; function clear_cache(){memo={

    teru_while
    teru_while 2007/02/19
    キャッシュをクリアするのをタイマー以外のイベントにするのも使い方としてありそうだなぁ。その場合、Functionを拡張する必要があるかは…。
  • 2006-12-29

    画像拡大後も処理を繰り返してしまう問題があったので修正しました。 http://yagi.xrea.jp/2006/12/miximix.user.js Greasemonkeyスクリプトなどを書いてると、対象HTML中にJavaScriptを埋め込みたくなることがあります。 ベタに書くと大変うざいことにりますが、 script.innerHTML = "add = function(a, b){" + " var ans = a + b;" + " return ans;" + "}"; こう書くとすっきり。 script.innerHTML = "add = " + (function(a, b){ var ans = a + b; return ans; }); 関数を普通に記述した上で、それを文字列に変換。

    2006-12-29
    teru_while
    teru_while 2006/12/31
    <script>にinnerHTMLする際に文字列としてコードを記述するのでなくて、functionを文字列にパースするって話。確かに可読性はいいやも。
  • クロスブラウザでのJavaScriptキーボードイベントの扱い方:phpspot開発日誌

    JavaScriptでのキーボードイベントの処理はブラウザによって違っていて、クロスブラウザで動作させるためには、それぞれのブラウザに合ったコードを実行し分ける必要があります。 JavaScriptでキーボードイベントを取得し、どのキーコードが押されたかを判別するサンプルを以下に示します。CtrlキーやShiftキーが押されたかどうかなどのチェック方法も併せて示しています。 このサンプルを活用することで、Webアプリケーションにショートカット機能をつけ、より使い勝手のよいWebアプリケーションを作成する手助けになるはずです。 以下、サンプル。 <html> <title>クロスブラウザでキーボードイベントを処理する方法</title> <!-- js コード --> <script type="text/javascript"> document.onkeydown = function(

  • 今日から使える JavaScript カスタム関数トップ 10

    今日から使える JavaScript カスタム関数トップ 10 2006-02-13-2: [JavaScript] - Top 10 custom JavaScript functions of all time http://www.dustindiaz.com/top-ten-javascript すぐにでも使える,気の利いた JavaScript の関数を 10 個紹介. - 10) addEvent() イベントリスナーを登録する関数.クロスブラウザ対応.結構有名. - 9) addLoadEvent() クロスブラウザな window.onload.onload する関数が幾つもある場合に. - 8) getElementsByClass() クラス名から要素を取得する関数.prototype.js にも getElementsByClassName() という名前である. p

    teru_while
    teru_while 2006/11/20
    getElementsByClassってなかったっけ?と思ってgoogleさんに問い詰めたら出てきた。