javascript

JavaScriptで多重継承もどき

コンストラクタ関数内で継承したいクラスのコンストラクタ関数を下記のように実行すると"多重継承のようなもの"ができるようです。参考 : No Multiple Inheritance - MDC //継承元1 function SuperClass1(prop1) { this.prop1 = prop1; }; //継承元2 functi…

Flash が HTML5 + SVG + Canvas + JavaScript のオーサリングツールになる日

最近、HTML5 vs Flash みたいな論調があったりしますが、よくよく考えたら HTML5 と対立してるのは Flash ではなく SWFファイルだと気づいた。WWW は、「どのコンピュータでも、誰でも読めて、誰でも書ける」という基本理念から発生したメディアである。HTML…

PDF/PPTリンクをGoogle Docs へのリンクへ自動変換するブックマークレットをつくった

@gladdesign さんのつぶやきを受け、PDF/PPTリンクを Goole Docs へのリンクへ自動変換するブックマークレットをつくってみた。 これのブックマークレットとかさくっと作ってくれないかな誰か: ネット上にあるあらゆるPDF/PPTファイルをGoogle Document View…

JavaScript の為のドキュメント作成ツール jsdoc-toolkit

JavaScript用のドキュメント作成ツール jsdoc-toolkit というものを見つけた。 jsdoc-toolkit 自身も JavaScript で記述されているのだが、Rhino を使って動作するため、実際に動かすには Java Runtime 環境が必要。 jsdoc-toolkit を動かす為のシェルスクリ…

Jslibs を Mac OS X 10.5 にインストールする

Jslibs とは? Jslibs is a standalone JavaScript development runtime environment for using JavaScript as a general-purpose scripting language. http://code.google.com/p/jslibs/ まずはソースをとってくる svn checkout http://jslibs.googlecode.c…

JavaScript で CSS を切り替える

jsでcssを切り替える方法 function changeStyleSheet(title) { var linkElements = document.getElementsByTagName('link'); for (var i=0,l=linkElements.length; i

増田美人時計ブックマークレット

美人時計が流行っているみたいなので、増田*1の時刻表示を美人時計に差し替えるブックマークレットを作ってみた。 増田にアクセスしてから、↓をロケーションバーに貼付けて実行すると時刻表示が美人さんになるよ! javascript:(function(){var j=0;var bt=[]…

JavaScript の EventListener における this について

Firefox 3 にて検証。あるオブジェクトに属するメソッド(関数オブジェクト)をイベントリスナーとして登録した場合、その登録の方法によってメソッド内で使用される this の意味が違ってくるよという話。 まずはこんなオブジェクトをつくってみる // MyEven…

JavaScript で SVG の角を丸める方法のメモ

二次スプライン曲線を利用して少ない手間で角を曲げる方法。 Firefox 3.0.5, Safari 3.2.1, Opera 9.63 にて動作確認済み。 参考サイト http://www.geocities.co.jp/Playtown-Denei/7552/ScriptLib/roundRoC.html http://hakuhin.hp.infoseek.co.jp/main/as/…

JavaScript で Mac OS X のバージョンを調べる方法

Safari 3 と Firefox 3 で確認済み。(Opera では動作しない*1 ) var _userAgent = navigator.userAgent; // UserAgent を取得 if(_userAgent.indexOf("Mac") != -1 ){ // Mac かどうか判断 var _osVersionSplit = _userAgent.split(" ")[7].split(/[\._;]/);…

jsViz で画像表示

よしたんのブログ jsViz を試す を参考にしました。よしたんのブログでは SVG で画像表示してましたが、htmlでの表示方法がわかったのでメモします。 まず JavaScript の変更 サンプルの html中にある JavaScript の以下の箇所を変更する。 nodeElement.styl…

JS LOOKBOOK ウィンドウのサイズに併せて拡大縮小するようにした

ブラウザウィンドウのサイズに併せて、ギャラリーが拡大縮小するようにしてみた。*1http://ynakajima.net/jslookbook/ ※Firefox2,IE6,Safari3,Opera9 で確認済み。*2 ウィンドウサイズ取得に関してのメモ jQuery でウィンドウの高さを取得する場合 $(window)…

JS LOOKBOOK を IE に対応させてみた

昨日つくった、UNIQLO LOOKBOOK の JavaScript版 JS LOOKBOOK を IE に対応させてみた。http://ynakajima.net/jslookbook/ 変更した箇所 スクロールする部分(#gallery)がはみ出て表示されてしまっていた #gallery の親要素 #lookbook に overflow: hidden を…

UNIQLO の LOOKBOOK を JavaScript で実装してみた

年末年始の課題の一つ、「Flash の勉強として UNIQLO LOOKBOOK をそっくりそのまま作ってみる」に着手する。しかし、いきなり Flash でやるのも芸がないので使い慣れている JavaScript で試しに実装してみた。http://ynakajima.net/jslookbook/ ※使用してい…

JavaScript で SVG を XHTML に動的に埋め込む方法メモ

/* svg要素を作成 */ var canvas = document.createElementNS("http://www.w3.org/2000/svg", "svg:svg"); canvas.setAttribute("id", "canvas"); canvas.setAttribute("width", "100"); canvas.setAttribute("height", "100"); canvas.setAttribute("viewBo…