めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

JavaScript

イベントを追加するときに

a要素にonclickでのイベントを追加したら、a要素のhref属性の方が優先される

配列のコピー(2)

下記のスクリプトは、配列のコピーにならない、という話。 var arrayA = new Array(); var arrayB = arrayA; 参照渡しになるだけなんだけれど、こうした情報ってどこに載っていて、どうして気づいたのか?(想定していた通りに動かないことで気づくんだろう…

IEの画像描画

JavaScriptで画像の表示をあれこれしていると、画像がそのまま残ったりします。 これって、どうにか出来ないかなあ...描画するタイミングを気をつけたりすると、大丈夫なんだけど、再現性がなくて困る。 最後に画像を処理する アラートを出す font-sizeを変…

配列のコピー

きちんとテストしてみるべきなんだけれど... var arrayA = new Array(); var arrayB = arrayA; としてもコピーにはならない http://la.ma.la/blog/diary_200510062243.htm http://d.hatena.ne.jp/reinyannyan/20051017/1129555088 http://m035.blog61.fc2.co…

指定したIDの子要素(エレメント)を削除する

メソッドにしてみた。prototype.js必須で($()しか使っていないけれど、ソースを追うのが大変になるので)。 // 指定したIDの子要素を削除する function _deleteElements(targetId){ if($(targetId).childNodes.length > 0){ while($(targetId).childNodes.l…

エレメントを追加するわけですが

dlとかの場合、途中で処理が終わってしまう。 dl.appendChild(dd); 並べかえたらうまく出来ました。

lightboxを見ててgetAttributeを思い出した

lightboxについてふと思ってみたら(というかちょっと見たのは初めて)、a要素(エレメント)にあるrel=""をgetAttributeメソッドで取得していました。 ああ、なるほどと思いつつ、getAttributeって意外と使われているのね、と。もうちょっとどこかで使えな…

イベント管理

JavaScriptは、イベント管理が鬼門すぎます。もしかしたら、JavaScript以外でもそうなのかも。たとえば、ActionScriptとかも。 1つの画面にいろんな要素がいろんな風に書き変わると、管理からあふれちゃう感じになります。もちろん、私自身の技量が足りない…

evalの使い方

なんでだかわからないけれどJavaScriptでevalを利用するとき eval("("+文字列+")") だと上手くいく。なんで?

クエリー

ここは、Prototype.JSに頼ろう...

イベント

JavaScriptのイベントについて。 HTMLに直接イベントを書くのは単体で動作させるものだけにしたほうがいい アイコンにマウスオーバーしたら、それぞれに合わせたヘルプを表示するとか 大体これで書いてしまうことが多い そんなにたくさんイベントが起こらな…

Prototype.jsでmap

地味に効く機能だなあ。でも、混乱しやすいのは他の言語と一緒かも。

Prototype.jsでwithout

配列にある特定の要素を削除する場合、prototype.jsではwithout()が利用できます。 で、以下は、ありがちというか、ワタシだけかもしれませんが、はまりやすいのでメモです。 without()を実行した元の配列には変化がありません。without()では削除した結果の…

子ノードを消す

以前、「覚書 - めも帖」として書いていたんだけれど、他に方法がないかなあ。

bindAsEventListener

IEとFireFoxでイベントに関する処理が違う。 イベントをオブジェクト(エレメント)に付加したら、thisの意味がそれぞれのブラウザで意味が異なってしまうらしい。これを解消するのが「bindAsEventListener」ということらしいんだけれど...わからない。 参考…

livedoor readerの動作はスゴイ

livedoor readerのソースを見ては、唸るばかり。 ロード中は、どこまで読み込まれているのか数字が出るし、読み込み完了も表示される。これって、こうして書くと簡単だけれど、実際どうやるかというと頭が煮えてきました。 - JSONデータの受け取りを開始 - J…

データ取得のタイミング

JSONでデータを取得するまでの間処理を遅延する、ということをしたい。 ということは、JSONでデータを取得した、ということが知りたいんだけれど、どうしたらいいだろうなあ...というのが今の悩み。

JSONとJSONPの違い

JSONPだとクロスドメインが可能 その代り、コールメソッド(っていうのかな?)が必要になる

VoxのAmazonのアイテム選択

ページ毎に通信しているのね。アイテム毎の情報が多いせいなのか?JavaScriptでページ処理をしない方がいいのか?確かにややこしいし。

JSONの常識?

JSONで少ないデータを受け取る場合でもloading画面を表示させていたら、データを受け取ってもloading画面が出てしまう。そこで、setTimeoutを使って処理すると消えたよ!もしかして、これって常識? あと、setTimeoutの理解がワタシ、今一歩です。

もう少し考える(2)

現在のページ番号 最大(最後)のページ番号 最初のページ(まあ、1でしょう) 1ページ毎の要素数 現在のページの最初の要素番号(index) 現在のページの最後の要素番号(index) 持つページ番号(配列) function:指定されたイベントで現在のページ番号を…

Prototype.jsのClass.create()

どいう効果があるんだろう。 これについて、あとでソースを読もう。

もう少し考える

要素が13ある配列があるとして、そこから7〜9件目のデータだけ欲しい、ということにまとめられます。 しらべると、slice()というメソッドがあるらしい!そこで、試してみたら出来た! Rubyにも同じメソッドがありました(省略できるけれど)

ふと

Pagerとして、デザパタのIteratorは適用できるのだろうか? 出来そうな気はする。 http://d.hatena.ne.jp/iox/20070618/1182158941 http://asakura.g.hatena.ne.jp/asakura-t/20041218/p1 http://asakura.g.hatena.ne.jp/asakura-t/20041211#p1 http://d.hat…

めも

JavaScriptを書く日々が続いています。そのなかで、知らなかったことがたくさん出てきたので、めも書きです。 イベント元を知る window.event.target window.event.srcElement getElementsByClassName 動作が遅いことで知られている でも、elementを指定して…

prototype.jsのtemplateを使ってみた

prototype.jsのtemplateを使ってみた。 簡易的なテンプレートだと確かに思う。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-script-type" content="text/javascript"> <…</meta></meta></head></html>

デバッグの仕方を調べよう、という決意

最初はalert()で表示させてたりしていたけれどforなんてしてしまったら、大変なことになっていました。そして、textareaに書きだすなんてこともしていましたけれど、やっぱり不満が残ります。そこで、Firebugを利用したデバッグの方法をきちんと調べて、身に…

簡易的なJavaScriptのテンプレートエンジンが欲しいわけです。うーん 参考 TrimPath JavaScript Templatesの紹介 - 檜山正幸のキマイラ飼育記

やっぱりわからないことが多い

新着だけの時と、全部のときと、HTMLは異なる 表示内容用のHTMLが返ってきている HTMLの最後に、JavaScriptを記述 全要素を読み込んでから実行している? 実行のタイミングを調べたほうがいいのかも 意外と多くのCSSがsytle属性として書かれている ソースの…

ライブラリー

こないだ触ってみたブロック要素の高さを整えるJavaScriptのライブラリ。 いいなあ、と思いつつ、久しぶりに作ってみたくなった。けれど、それは来月以降にしよう。今月はやること(仕事)が多そうなので。やることに集中していこうと思います。でも、ライブ…