2008-04-03

マウスカーソルにmoveを指定した要素をドラッグ可能にする

というのを書いてみました。cssで{ cursor:move; position:absolute; top:YYpx; left:XXpx}を指定したものは全てドラッグ可能になるという、スタイルとスクリプトを関連付けるような邪悪な感じです。大分脆いので修正したい箇所がまだあるのですが、とりあえずでも公開しないと手をつけなそうなので公開します。

そもそも、要素をドラッグ可能にするライブラリが欲しくって色んなライブラリを見てみたのですが、(僕が見たものは)どのライブラリも要素への参照を引数にインスタンスを生成するタイプのもので、それの「要素数 = インスタンス数」というのが何となく嫌で、回避する方法を考えているときに思いつきました。

仕組みは、document.bodyに対してイベントハンドラを設定するだけの簡単なものです。お行儀が悪いので、許せない人は許せないと思いますが、「ドラッグだけしたい!」なんてときにはサクッと対応できるので、個人的には楽で好きです。

デモ ソース

使い方は、ソースを読み込んで「Drag.enable();」です。ドラッグしたくない要素があれば、マウスカーソルにmove以外を指定してください。ドラッグ不可にしたいなら「Drag.disable();」です。でも本当に使いたい方は、ソースを読んで詳細を確認してください。

ちなみに、ドラッグのためのコードはこちらのページのものを参考にさせていただきました。ソースもシンプルで読みやすいし、JavaScriptでのドラッグ方法を知りたい人にはおすすめです。

Posted at 02:49 in | WriteBacks (0) | Edit

2008-03-23

携帯向けチートシート作成支援

自分向けツールです。しょぼいですが。

MSheet

使い方は、フォーマットに、

$1($2) - $3
テキストに、
a,b,c
hoge,foo,bar
お魚,お肉,お野菜
とでも入力して、「プレビュー」ボタン押せばわかると思います。あと、区切り文字と$N(N:1-9)をテキストに入れると正しくページが生成されません。

作成したページを携帯のお気に入りに入れておけば嬉しいときがあるかも知れません。

Posted at 14:14 in | WriteBacks (0) | Edit

del.icio.usのnot shared解除を支援するブックマークレット

2008/02/07追記
後日気になってソースを見返したら、動かないコードにはバグがありました。。。
修正したやつを↓に置いてますので、そっちをどうぞ。


del.icio.usに大量のブックマークをインポートしたのだけど、インポートしたブックマークが全部「not shared」とかなってて、どうも非公開設定になってる。それは嫌で公開設定にしたいので、一括して公開設定にしてくれる何かがないかなあとちらっと探したけどない。まあそれならそれで、not sharedを解除するAPIかなんかがdel.icio.usにjsで用意されてるんだろうから、それを直接たたくようなブックマークレット作ればいいや。開いているページのnot sharedを一括で解除するようなのを。とか思って作ったけど、動かない(→コレ)。でまあ結局そういう諸事情により、not sharedを一個づつ解除するようなつくりのものでお茶を濁しました。

もう遅いかも知れないけど、困っている方もいそうなので一応公開しておきます。

  • 【妥協版】not shared解除支援ブックマークレットソース

    動作: ブックマークレットを実行したページのnot sharedを全部自動で解除。(でも遅い)

  • not shared解除支援ブックマークレットソース

    動作: ブックマークレットを実行したページのnot sharedを全部自動で解除。(妥協版よりかは早い)

    Posted at 14:07 in | WriteBacks (0) | Edit
  • Lightbox.jsみたいな背景

    CSSで実現していたんですね。

    スタイルをjavascriptで設定していますけど、サンプルです。

    Posted at 14:05 in | WriteBacks (0) | Edit

    Ruby: RSSの操作

    例によって便利なモジュールが用意されています。もちろんRSSを扱うのは初めてなんですけど、かなりやさしいです。open-uriで対象ページのRSSを取得して、rssオブジェクト生成すれば後はやりたいほうだいです。(邪道かどうかは知りませんが。)

    とりあえず、試しに書いたdeliciousのpopularのRSSからサムネイル付きのリンク一覧を生成するスクリプトを載せます。

    #!/usr/bin/ruby -w
    
    require 'rss'
    require 'open-uri'
    
    # SimpleAPI
    thumb = "http://img.simpleapi.net/small/"
    
    # get rss
    uri = URI.parse("http://del.icio.us/rss/popular")
    rss_source = uri.read
    
    # header
    print "Content-Type: text/html\n\n"
    print <<HEADER
    <html>
    <head>
    <title>RSS Usage</title>
    </head>
    <body>
    HEADER
    
    rss = RSS::Parser.parse(rss_source, false)
    
    rss.items.each do |item|
      puts '<a href="' + item.link + '"><img src="' + thumb + item.link + '"></a>'
      puts '<a href="' + item.link + '">' + item.title + '</a><br>'
    end
    
    puts <<FOOTER
    </body>
    </html>
    FOOTER
    

    まあ実際に使うとなるとバリデーションとかに気を配ったりとかでもう少し大変になるとは思いますが、自分専用のRSSリーダーとかだったら楽勝で作れそうですねー(やらんけど)。一応サンプルをここに置いときます。

    Posted at 14:00 in | WriteBacks (0) | Edit