F.Ko-Jiの「一秒後は未来」ではウェブやSEO、API、RSSといった技術的ネタから、ちょっとした豆知識や梅酒、エンタメ系まで様々な情報を不定期にお届けしています。

チェックボックスをマウスでなめるようにドラッグするだけで切り替えるJavaScriptのサンプル < Javascript < F.Ko-Jiの「一秒後は未来」 < fkoji.com

チェックボックスをマウスでなめるようにドラッグするだけで切り替えるJavaScriptのサンプル

スポンサード リンク
※ 追記 livedoor Readerのものにより近づけたサンプルはこちら。

livedoor ReaderにOPMLをインポートすると登録可能なRSSの一覧が表示されますが、その画面ではチェックボックス上をマウスでなめるようにドラッグするだけでチェックをON/OFFできるようになっています。

かなり不思議なUIなので、これはどうやっているんだろう?と考えてみたのですが、仕組みは簡単でした。

マウスを左クリックしたままチェックボックスの上を移動させてみてください。(JavaScriptが無効なRSSリーダーから見ている場合はページを訪問してください。)

   
   
   
   
   
   
   
   
   

(ドラッグするとテキスト選択されてしまうので、チェックボックスの上でクリックを開始するとテキスト選択されずに済みます。)

ソースは以下の通り。簡単に実装するためにprototype.jsを利用しています。

/* require prototype.js */
if (typeof SAMPLE == "undefined") {
    var SAMPLE = {};
}
SAMPLE.isMousedown = false;
SAMPLE.mousedown = function(e) {
    SAMPLE.isMousedown = true;
}
SAMPLE.mouseup = function(e) {
    SAMPLE.isMousedown = false;
}
SAMPLE.mouseover = function(e) {
    e = e || window.event;
    var target = e.target || e.srcElement;
    if (SAMPLE.isMousedown) {
        if (target.type == "checkbox") {
            target.click();
        }
    }
}
Event.observe(document, "mousedown", SAMPLE.mousedown);
Event.observe(document, "mouseup", SAMPLE.mouseup);
Event.observe(document, "mouseover", SAMPLE.mouseover);

target.typeのみで判定させてますが、実際に実装するときはチェックボックスにclassをつけてclassNameも条件に加えたほうがいいです。mousuoverだけ実装すれば左クリックすらせずにチェックを切り替えられます。

チェックボックスの付近をドラッグしてもチェックを切り替えられるようにするには、チェックボックスを特定のクラス名を持つ要素に格納して、その要素にmouseoverされたらtarget.firstChild.click();とかすればいいです。

関連エントリー

generated by 関連エントリーリストジェネレータ


コメントを投稿

(承認されるまでコメントは表示されません。)

Javascript / ユーザビリティ

English version

「チェックボックスをマウスでなめるようにドラッグするだけで切り替えるJavaScriptのサンプル」を携帯で読む

前のエントリー: « Googleブログ検索の特許で明らかになったブログの評価を決定する12の要因
次のエントリー: ブログにトラフィックを集めるための29の方法 »

トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: チェックボックスをマウスでなめるようにドラッグするだけで切り替えるJavaScriptのサンプル:

» livedoor ReaderでのOPMLインポート後画面の“チェックボックス操作”を再現するJavaScriptサンプル from F.Ko-Jiの「一秒後は未来」
昨日書いた「チェックボックスをマウスでなめるようにドラッグするだけで切り替えるJavaScriptのサンプル」に対して「livedoor Readerのと... [詳しくはこちら]

このブログをRSSリーダーで簡単購読
Subscribe with livedoor Reader Add to Google My Yahoo!に追加 Subscribe with Fastladder Bloglinesで閲読登録 はてなRSSに追加 エキサイトリーダーに登録

タイトル:

URL:

リンク用HTMLタグ:

powered by Google Chart API

ケータイ会議4参加中
最近の注目記事
プロフィール
F.Ko-Ji
F.Ko-Ji (Koji Fukunaga)

ウェブエンジニアだけど技術の深いとこにはあまり興味がなくて、さくっとアイデアを形にするのが好きです。ブログには自分のアンテナにひっかかったものを色々書いてます。

詳しいプロフィールはこちら
Twitter
梅酒.in
powered by 梅酒.in
えもにゅ

↑ 気持ち記録サービス「えもにゅ」です

月別アーカイブ


<< July 2009
SuMoTuWeThFrSa
 1234
567891011
12131415161718
19202122232425
262728293031 
人気エントリー
TopHatenar
グリムス
毎日の歩行記録
携帯からのアクセスは
QRコード
http://mob.fkoji.com/