タグ

ブックマーク / d.hatena.ne.jp/brazil (6)

  • キーをタップしリピート間隔を変更する、タップ&ゴー - FAX

    JavaScriptタップした時間間隔でキーをリピートするのを作ってみた、keyTapper。デモビデオ(22秒)、右に四角が増えていくのはリピート、行が増えるのはタップ、数字はリピート間隔。 わかりづらいけど、実際にデモ(Firefox用)をやってみるとわかる。[J]キーを何度かタップして...、押しっぱなしする。トントントン、ツーーーーーーーパッって感じ。 keyTapper Demo 僕が問題に思っていたのは、キーリピート速度が速すぎることと、キー押下回数が多すぎること。例えば、LDRで、[J]を押しっぱなしにすると速すぎて読めない、でも一日2000エントリで2000回キーを押すのもつらい。[J]を押していって、その速度のまま進んで欲しいと思ったところで、押しっぱなしにするような使い方で考えてる。YHCとかStroboは、見るモード/受動の時間が長いから、リピートがトグルでも良かった

  • 内容に合わせて伸縮するテキストエリア - FAX

    JavaScript追記 miya2000の日記 - 「内容に合わせて伸縮するテキストエリア」を Opera にも id:miya2000さんが、クロスブラウザに書き換えられています。GJ!こっちで!! デモビデオは以下(12秒)。 ユーザーが自分でリサイズできるテキストエリアをよく見かける(はてなも)。それを補助するGreasemonkeyスクリプトもある。 テキストエリアを横にリサイズしたいことはあまりない。バーを掴んで最適な高さにするのはめんどくさい。使う人は、ただ全部の内容が見えるぴったりの高さになってほしいだけなんだと思った。 サンプルコードは以下。fitting?、fittable?、expand?(逆に小さくもなる) キーダウンのイベントでも実装してみたけど、日本語入力を検知できないし、方向キーとか無視するコードもいるし、イベントハンドラ内では内容がまだ更新されてなかったり

  • Firefox、onoverflow/onunderflow、文字の溢れを検出するイベント - FAX

    Firefox、onoverflow/onunderflow、文字の溢れを検出するイベント JavaScript Event Handlers ボックス要素などで、文字の溢れが発生した時にoverflowイベントが起きる。 以下を開き、ウィンドウを小さくし文字を画面外に出すとoverflowが発生する。 逆に、拡げて文字を全て表示するとunderflowが起きる。 <html> <body> <div id="main" style="overflow:auto" >-------------------------------</div> </body> <script> var main = document.getElementById('main'); main.addEventListener('overflow', function(e){ console.log(e); },

  • スライドショーのようにテキストを読むGreasemonkeyスクリプト、YHC - FAX

    JavaScript YHC – Userscripts.org 長文をスライドショー形式で読むテキストリーダーです。デモビデオ(1分半)は以下。kotorikoさんの『捨松定吉』を、ランダムフィルタをかけて読んでいます。 機能説明ウィンドウ右下のGreasemonkeyメニューから[YHC]を選びスタートさせます。先に文章の一部を選択している場合はその部分を、そうでない場合は対象となる部分をマウスで指定します。 操作は主にキーで行います。 キー機能Esc終了↓ or S再生開始/停止→ or J or Space次のスライド 再生中はスピードアップ← or K前のスライド 再生中はスピードダウンGジャンプHome先頭のスライドEnd最後のスライド ↓キーで再生を開始して、→キーで再生速度を少し速くして、速すぎたら←で遅くして。気になるところに戻りたい場合は、↓で止めて、←→で移動して手動

    okuharakensuke
    okuharakensuke 2007/09/06
    実用的且つ、楽しい。素晴らしいです。
  • アクセサを含むオブジェクトでプロトタイプを拡張する、修正版 - FAX

    JavaScript いいこと書いてあった。 John Resig - JavaScript Getters and Setters こういう、アクセサ(getter/setter)があるオブジェクトをベースにして、 var animal = { walk : function(){ alert('walk'); }, get name(){ return this._name; }, set name(name){ this._name = name; }, } 普通の列挙を使ったextendで、他のオブジェクトにプロパティをコピーしようとしても、 function extend(target, source){ for(var prop in source) target[prop] = source[prop]; return target; } 単なるプロパティの値のコピーと解釈

  • 1分でわかるJSAN - FAX

    1分でわかるJSAN 技術 概要 JSANは、他のライブラリをインポートするライブラリです。 リポジトリ リポジトリは、ライブラリの検索対象のパスです。 JSAN.addRepository()で追加します。 JSAN.includePathにリストされます。 デフォルトのリポジトリは「.」と「lib」です。 JSAN.use() ライブラリをインポートするには、JSAN.use()を使います。 クラスがロードされます。 個々の関数もグローバルコンテキストへロードされます。 JSAN.require() クラスのみをロードします。 「Test.Simple.plan()」のように、全部書けば呼び出せます。 グローバルコンテキストを汚しません。 JSAN.exporter() ロード済みのクラスから、好きな関数をグローバルへ置き直します。 関数が使いやすくなります。 好きなライブラリの、好き

  • 1