+ JavaScript の質問用スレッド vol.85 +

このエントリーをはてなブックマークに追加
1Name_Not_Found
JavaScript を自ら学ぶ人のための質問スレッドです。

【前スレ】
+ JavaScript の質問用スレッド vol.84 +
http://hibari.2ch.net/test/read.cgi/hp/1298561109/

【過去スレ全集】
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
http://wing2.jp/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

【関連スレ】
1行javascriptプログラミング
http://hibari.2ch.net/test/read.cgi/hp/1066750037/l50
WSH(・∀・)スレッド! Part 4
http://hibari.2ch.net/test/read.cgi/tech/1243095768/l50
【誰か】jQueryのここがわからない【助けて】
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
Webサイト制作初心者用質問スレ part223
http://hibari.2ch.net/test/read.cgi/hp/1296794731/
CSS初心者スレッド=9th=
http://hibari.2ch.net/test/read.cgi/hp/1287470663/
役に立つ書籍は? 4冊目
http://hibari.2ch.net/test/read.cgi/hp/1172823674/l50
2Name_Not_Found:2011/03/30(水) 15:53:39.11 ID:V3xE9fmx
【質問を書く上で】

1)「何を、いつ、誰が、どこに、なぜ、どのように」動作させたいのかを
 簡潔に説明してください。ただ「動きません」ではわかりません。
 脳内おれおれ用語は混乱のもと。一般的な用語を使うようにしてください。

2)調べたこと・試したことを書いてください。
 OS、ブラウザ、バージョンを必ず明記しましょう。
 質問箇所(行数、エラー内容)を簡潔に。
 何のエラーかわからなければ、エラーメッセージをコピペ。
 各ブラウザのJSコンソールを活用しよう。

3)うまく説明できない時は、ソースを貼ると回答されやすいです。
 要点を整理して、エラーが再現するソースを貼ってください。
 1レスで収まらない場合は、アップロードしてください。
 http://jsbin.com/http://jsdo.it/ なども活用してください。

4)閲覧者の迷惑になる質問は回答されません。
 別窓を多数開く、閉じる・戻る・クリックを妨害、画面占有、など。
 「分かんねえの?」と煽っても無駄です。

5)「初心者なので」「初心者だから」「初心者ですみません」とか
 書かない方が無難です。
 知らない、できない、わからない、まちがい、は誰にでもありますから。
3Name_Not_Found:2011/03/30(水) 15:54:09.81 ID:V3xE9fmx
【主要FAQ】(全部は http://fiddle.jshell.net/vSqKr/21/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
  DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
  グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
  「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか。
4Name_Not_Found:2011/03/30(水) 15:54:30.14 ID:V3xE9fmx
5Name_Not_Found:2011/03/30(水) 20:18:50.36 ID:???
閏年アルゴリズムもろくに書けないバカの集い
6Name_Not_Found:2011/03/30(水) 21:42:56.60 ID:???
閏年アルゴリズムw
7Name_Not_Found:2011/03/30(水) 22:52:48.74 ID:???
とりあえず知ってる言葉を言ってみたかったんだろ
8Name_Not_Found:2011/03/31(木) 00:51:56.28 ID:???
前スレで一所懸命に煽ってるバカがまだいるな。
何がしたいんだ。
9Name_Not_Found:2011/03/31(木) 01:50:09.06 ID:GCvyNy4q
正規表現のエスケープを解除するにはどうしたらいいですか。
\を使うエンコードです。
10Name_Not_Found:2011/03/31(木) 04:31:16.28 ID:???
\\
11Name_Not_Found:2011/03/31(木) 09:00:07.61 ID:???
洩れは必要になったらWikipediaで「うるう年」を検索して済ませるけど。
文句あるならWikipediaで戦って欲しいな。ここでやられるのは迷惑。
こんなものJavaScriptの知識でもなんでもないし。
12Name_Not_Found:2011/03/31(木) 09:37:26.10 ID:???
オブジェクトの代入はどの言語も重いのに
13Name_Not_Found:2011/03/31(木) 10:00:14.75 ID:spoa8Kr5
var time = "2000年3月09日 14時02分01秒";

これの1時間36分35秒後の日時に直す方法を教えてください
14Name_Not_Found:2011/03/31(木) 10:29:42.21 ID:???
>>13
var time = '2000年3月09日 14時02分01秒';
var scan = /(\d{1,4})年(\d{1,2})月(\d{1,2})日\s*(\d{1,2})時(\d{1,2})分(\d{1,2})秒/.exec(time);
if ( scan ) {
var ye = parseInt(scan[1], 10);
var mo = parseInt(scan[2], 10);
var da = parseInt(scan[3], 10);
var ho = parseInt(scan[4], 10);
var mi = parseInt(scan[5], 10);
var se = parseInt(scan[6], 10);
document.writeln(ye+'年'+mo+'月'+da+'日 '+ho+'時'+mi+'分'+se+'秒');
ho += 1; mi += 36; se += 35;
document.writeln(new Date(ye, mo-1, da, ho, mi, se).toString());
} else {
document.writeln('parse error');
}
15Name_Not_Found:2011/03/31(木) 10:38:33.49 ID:Y3wW97t0
>>14
繰り上がりのない時刻で質問してしまったのが間違いってかw
16Name_Not_Found:2011/03/31(木) 10:58:19.73 ID:???
>>15
繰り上がっても問題ないよ。
繰り上がり問題を解決してもらう為にDateオブジェクトを作ったんだから。
17Name_Not_Found:2011/03/31(木) 11:00:02.57 ID:???
ここ最近、内容を理解せずに揚げ足取りに終始してる奴がいるけど、
理解してる者からはバカにしか見えないぞ。
18Name_Not_Found:2011/03/31(木) 11:00:53.92 ID:???
4行目から9行目までをスマートに書くことは狩野か?
19Name_Not_Found:2011/03/31(木) 11:06:40.82 ID:???
解の1つが示されたんだから、後はそれを手掛かりに鋭意工夫でいいんじゃない?
20Name_Not_Found:2011/03/31(木) 11:12:41.11 ID:???
var time = '2000年3月09日 14時02分01秒';
function time(time) {
var scan = /(\d{1,4})年(\d{1,2})月(\d{1,2})日\s*(\d{1,2})時(\d{1,2})分(\d{1,2})秒/.exec(time);
if (!scan ) return false;
var a = [];
for (var i=1;i<=7;i++) a[i]= parseInt(scan[i], 10);
document.writeln(a[1]+'年'+a[2]+'月'+a[3]+'日 '+a[4]+'時'+a[5]+'分'+a[6]+'秒');
a[4] += 1; a[5] += 36; a[6] += 35;
return new Date(a[1], a[2]-1, a[3], a[4], a[5], a[6]).toString();
}
21Name_Not_Found:2011/03/31(木) 11:18:44.27 ID:???
個々人ポリシーによる書き換えだよなこれ
コピペを匂わせるコードはバグの元だ、みたいな

あ、ケチ付けてるんじゃ無いです、勉強になります
22Name_Not_Found:2011/03/31(木) 11:34:08.99 ID:???
function hoge (time) {
 time = /^(\d{1,4})年(\d{1,2})月(\d{1,2})日\s*(\d{1,2})時(\d{1,2})分(\d{1,2})秒$/.exec(time);
 return time ? new Date(time[1], time[2], time[3], Number(time[4]) + 1, Number(time[5]) + 36, Number(time[6]) + 35).toString() : null;
}
23Name_Not_Found:2011/03/31(木) 11:47:04.48 ID:???
>>22
一月ずれてる。

function hoge (time) {
 time = /^(\d{1,4})年(\d{1,2})月(\d{1,2})日\s*(\d{1,2})時(\d{1,2})分(\d{1,2})秒$/.exec(time);
 return time ? new Date(time[1], time[2] - 1, time[3], Number(time[4]) + 1, Number(time[5]) + 36, Number(time[6]) + 35).toString() : null;
}
24Name_Not_Found:2011/03/31(木) 12:01:01.53 ID:???
どうして日は1からで月は0からなのですか?
教えてエロイ人
25Name_Not_Found:2011/03/31(木) 12:16:15.81 ID:???
英語圏だと月だけ名前が付いてて、配列のインデクスにしやすい為じゃねが。
26Name_Not_Found:2011/03/31(木) 12:16:44.36 ID:???
もっとFizzBuzzの56バイト並みの軽量コードを書ける兵はおらんのかっ!
27Name_Not_Found:2011/03/31(木) 12:18:36.49 ID:7/K68nMp
むしろなんで日だけは0からじゃないのだろう?
28Name_Not_Found:2011/03/31(木) 12:26:39.26 ID:???
0は月の日数を表すから
29Name_Not_Found:2011/03/31(木) 12:44:54.69 ID:???
後は、同じ形式で返す様にDateオブジェクトのget〜()で値を得て返す工夫くらいか。
30Name_Not_Found:2011/03/31(木) 13:05:21.09 ID:BDHBUbWF
前スレで流れてしまったので再度・・・

ThickBox系のライブラリで、
デフォルトで画像のキャプション部分にHTMLを使えるものって、
Highslide以外にありますか?

よろしくお願いします。
31Name_Not_Found:2011/03/31(木) 13:09:47.78 ID:7/K68nMp
>>28
kwsk
32Name_Not_Found:2011/03/31(木) 14:17:22.67 ID:???
>>26
丸投げお断り。
33Name_Not_Found:2011/03/31(木) 14:20:08.14 ID:???
>>31
多分こういうことじゃないかな

new Date(2012, 2, 0) // 2012年3月0日(0時0分0秒) = 2012年2月末日
new Date(2012, 2, 0).getDate() // と書くと、2012年2月の日数 29 が得られる
34Name_Not_Found:2011/03/31(木) 15:07:22.54 ID:???
>>30
ほとんどのライブラリがHTMLとして解釈するんじゃないのか。

title="&lt;em&gt;caption&lt;/em&gt;"

確認してみ。
35Name_Not_Found:2011/03/31(木) 15:30:08.13 ID:???
tiddlywikiみたいにjavascriptでファイルに書きこむのあるじゃないですか
あれはどうやって書き込んでるのですか?
36Name_Not_Found:2011/03/31(木) 15:34:30.95 ID:???
>>35
tiddlywikiは知らん。
しかし、サーバーサイドでデータを保存するなら、AjaxでCGIをキックすれば良いだけ。
37Name_Not_Found:2011/03/31(木) 15:37:51.56 ID:???
http://www.tiddlywiki.com/これです
empty.htmlという1ファイルに全部コードが書いてあって
データをこのファイルの中に書きこんでるんです
38Name_Not_Found:2011/03/31(木) 16:00:11.20 ID:???
JavaScriptでnew演算子をつけてもつけなくても同じようにインスタンスを作成
ttp://d.hatena.ne.jp/yuyakko/20100503/1272879683
ttp://d.hatena.ne.jp/yuyakko/20100507/1273225603

めんどうだなこりゃ
39Name_Not_Found:2011/03/31(木) 16:03:17.23 ID:7/K68nMp
>>38

ttp://d.hatena.ne.jp/yuyakko/20100503/1272879683
> これはひどい。new演算子を使う設計は危険というのも納得。

みんななんで納得出来るんだよ〜


while(1) alert("あばばばば");
これはひどい。ループを使う設計は危険というのも納得。


ってくらい納得できねえ。
40Name_Not_Found:2011/03/31(木) 16:18:25.14 ID:???
>>39
言語仕様としてかなり安全性の低い設計だと思う。
でも、それがjavascriptの味だとも思うんで、べつに「ひどい」とかは思わない。
41Name_Not_Found:2011/03/31(木) 16:32:04.98 ID:???
+ と ++ とか、= と == を危険視するレベルの話か。
42Name_Not_Found:2011/03/31(木) 17:19:54.89 ID:???
危険ってww
43Name_Not_Found:2011/03/31(木) 17:33:29.59 ID:???
こんなとこにも危険厨かよ
44Name_Not_Found:2011/03/31(木) 17:51:59.44 ID:7/K68nMp
100歩譲って、1000歩譲って、マンボを踊って
ライブラリとかを作って公開するんであれば、ね
その関数を誰がどう使うかわからない、的な。
そういう時に、そうしてあれば、親切だねってレベルだと思う

func(a){
    alert(a);
}

ってしないで

func(){
    if(arguments.length < 1){
        throw Error("too few arguments");
    }
    else{
        alert(a);
    }
}

ってしておくような
45Name_Not_Found:2011/03/31(木) 17:52:37.81 ID:7/K68nMp
まちがえた

alert(arguments[0]);

です
46Name_Not_Found:2011/03/31(木) 18:17:39.87 ID:???
要素は取得できてるのにstyleプロパティが消えている場合ってどういう時ですか?
elm.styleがundefinedになる場合です。elmはdivとか普通のタグです。
47Name_Not_Found:2011/03/31(木) 18:22:53.96 ID:???
すみません、これで1000〜9999までの数字をランダムに表示できてますでしょうか?

<script type="text/javascript">
<!--
str = "0123456789";
document.write("" + str.charAt(1 + Math.floor(Math.random() * 9)) + str.charAt(Math.floor(Math.random() * 10)) + str.charAt(Math.floor(Math.random() * 10)) + str.charAt(Math.floor(Math.random() * 10)) );
// -->
</script>
48Name_Not_Found:2011/03/31(木) 18:26:43.31 ID:7/K68nMp
10000 * Math.random() ってしたくなる…
49Name_Not_Found:2011/03/31(木) 18:31:22.56 ID:???
頭に0付けたいんなら
String("000"+Math.floor(Math.random()*10000)).slice(-4)
って
50Name_Not_Found:2011/03/31(木) 18:35:30.81 ID:???
>>49
そんな簡単にできたなんて……ありがとうございます!
51Name_Not_Found:2011/03/31(木) 18:46:23.20 ID:???
よくレス読め。
それ1000-9999の範囲じゃないぞ。
52Name_Not_Found:2011/03/31(木) 18:47:25.60 ID:???
>>51
String("000"+Math.floor(Math.random()*9999)).slice(-4)
これでいけますよね?
53Name_Not_Found:2011/03/31(木) 19:01:10.14 ID:7/K68nMp
Math.floor(Math.random() * 8999) + 1000 か
54Name_Not_Found:2011/03/31(木) 19:02:00.28 ID:???
お前等、それ、わざとだろw
55Name_Not_Found:2011/03/31(木) 19:03:28.95 ID:4SPonPYk
>52 意味不明
1000-9999ならMath.floor(Math.random()*9000+1000)でいいじゃん?

ところでMath.floorとかMath.roundとかが稀に整数にならないのはどうしてなんだろう
理由がわかる人いますか?
NetFrontなんだけど複数環境で経験があるし仕様なんだろうか
~~使えば100%大丈夫だしその理屈はわかるからMath.floorの実装がどうなってるのかが気になる
56Name_Not_Found:2011/03/31(木) 19:22:09.38 ID:???
整数?
Math.roundの期待する値は実数じゃない?
57Name_Not_Found:2011/03/31(木) 19:32:40.18 ID:???
今更だが、Math.random()は0以上1未満だから1にはならないんだな・・・マジで今更だがw
58Name_Not_Found:2011/03/31(木) 19:51:02.76 ID:???
質問です。
sample1 は、想定通りに画像が表示されるのですが、
sample2 は、[object HTMLImageElement]と表示されます。
sample2 で、画像を表示するにはどうすればいいのでしょうか?

オブジェクトとかそのあたりの挙動がよくわかっていないのですが、
この問題について自力で解決した場合に参考になるページなどあれば教えて欲しいです。
ちなみにプログラミング歴1年未満の素人です。

// sample1
$('#view').append(getImg());

// sample2
$('#view').append('<p>' + getImg() + '</p>');

function getImg() {
  var img = document.createElement('img');
  img.src = 'http://k.yimg.jp/images/mht/2011/0315_tohoku.png';
  img.className = 'test';
  return img;
}
59Name_Not_Found:2011/03/31(木) 19:55:44.17 ID:???
class Test
{
public function a() {return "a";}
public function b() {$this->c();}
private function c(){return "c";}
}

PHPのクラスをjsで書く場合はどう書けばよいでしょうか?
60Name_Not_Found:2011/03/31(木) 20:00:55.53 ID:???
>>58
コードを実際に動かしていないけど。

まず、どこがいけないか。
getImg()の返り値はDOMオブジェクト。 document.createElementで作っているから。
そのDOMオブジェクトを+演算子で文字列と結合しようとしているから、DOMオブジェクトが文字列に変換されてから結合されている。

つまり、sample2の式
 '<p>' + getImg() + '</p>'
の時点で、この式の値が
 '<p>[object HTMLImageElement]</p>'
という文字列に評価されている。

問題の解決方法はいろいろあるし、それぞれにメリット・デメリットがあるが、jQueryを使うのなら素直に
 $('#view').append('<p><img class="test"src="http://k.yimg.jp/images/mht/2011/0315_tohoku.png" /></p>');
とでもやるのが最も簡単だろうな。
61Name_Not_Found:2011/03/31(木) 20:03:44.38 ID:???
>>59
> PHPのクラスをjsで書く場合はどう書けばよいでしょうか?

意味分からん。

普通
1. PHPはサーバー側で処理される。
2. サーバー側で処理されたHTMLがクライアントに受けわたされて、javasriptはクライアントで実行される。

この2のあと、さらにPHPのコードを生成して何をしたいの?
62Name_Not_Found:2011/03/31(木) 20:07:26.91 ID:???
jsでもクラスを書きたいということです
63Name_Not_Found:2011/03/31(木) 20:15:53.28 ID:???
>>62
javascriptはプロトタイプベースのオブジェクト指向言語だから、クラスというものはない。
http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9
http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs04/ajaxjs04_01.html
64Name_Not_Found:2011/03/31(木) 21:02:51.96 ID:???
>>46
アンタ、FAQ >>3 のQ5/A5読んでないだろ。(これが言いたかったんだ)
65Name_Not_Found:2011/03/31(木) 21:05:09.62 ID:???
javascript:for(s=i="";i++<100;)s+=((i%3?"":"Fizz")+(i%5?"":"Buzz")||i)+","
これより短いコードある?
66Name_Not_Found:2011/03/31(木) 21:10:58.36 ID:???
>>59
var Test = function(){};
Test.prototype.a = function() {
    return "a";
};
Test.prototype.b = function() {
    return this.c();
};
Test.prototype.c = function() {
    return "c";
};
var test = new Test();
print(test.a()); // a
print(test.b()); // c
print(test.c()); // c
67Name_Not_Found:2011/03/31(木) 21:17:58.44 ID:???
>>66
こういう書き方ができるのですね
3番目のtest.c()はprivateなので直接呼び出したらエラーみたいにしたいのですがこれはjsでは無理ですかね?
68Name_Not_Found:2011/03/31(木) 21:18:15.80 ID:???
>>55
興味があるんだけど、コード片を示せる?
69Name_Not_Found:2011/03/31(木) 21:21:34.22 ID:???
>>37
IEではファイル保存にActiveX使うはずだよ。
ActiveXで検索したら、多分簡単に見つかる。
Firefoxはわかんないけど、IEでの保存処理の近くにあるんじゃないかな。
70Name_Not_Found:2011/03/31(木) 21:22:58.19 ID:???
chromeで使いたいのでちょっと頑張って作りたいと思います
71Name_Not_Found:2011/03/31(木) 21:28:51.04 ID:???
72Name_Not_Found:2011/03/31(木) 21:29:43.20 ID:???
>>67
var Test = function(){};
(function() {
    function c() {
        return "c";
    };
    Test.prototype.a = function() {
        return "a";
    };
    Test.prototype.b = function() {
        return c();
    };
})();
// debug
var test = new Test();
print(test.a()); // a
print(test.b()); // c
//print(test.c()); // error
73Name_Not_Found:2011/03/31(木) 21:31:56.11 ID:???
>>72
なんだそのコードは
cはTestに属してないじゃん
74Name_Not_Found:2011/03/31(木) 21:34:26.75 ID:???
>>73
jquery prototype dojoのソースを読め
75Name_Not_Found:2011/03/31(木) 21:39:51.85 ID:???
>>72みたいなコード書くぐらいならJavaScriptでは不可能と諦めたほうがいいと思う
とっても気持ち悪いコードだ・・・
76Name_Not_Found:2011/03/31(木) 21:56:02.81 ID:???
全然普通じゃんか。
関数を入れ子にする場合は、リテラルにする方が好みだけど。
77Name_Not_Found:2011/03/31(木) 22:01:51.60 ID:???
お子様には理解出来ないのさ
Yahooで有名なChristianHeilmannが提唱したパターンなのにディスるなんて初心者は怖いね
78Name_Not_Found:2011/03/31(木) 22:07:40.08 ID:???
フレームワークの裏で動いていたり趣味でやってる分にはいいけど
実装でこんなコードはちょっとやだなぁ
79Name_Not_Found:2011/03/31(木) 22:09:52.37 ID:???
そこは初心者関係無いような気がするが・・
個人の指向性の問題だろ。
要するに、JavaScript向いてないってことだな。
80Name_Not_Found:2011/03/31(木) 22:19:20.18 ID:???
PHPユーザのレベルの低さが酷いなw
81Name_Not_Found:2011/03/31(木) 22:23:10.02 ID:???
PHPとか関係あるのか?
JavaScriptが異端であるだけ
82Name_Not_Found:2011/03/31(木) 22:23:54.34 ID:???
>>46
CSSStyleDeclarationが普通かえるけど。
それは本当に要素なの?配列じゃなくて?
あと、他のappendChildとかは?
83Name_Not_Found:2011/03/31(木) 22:34:22.66 ID:???
bshのソースが、CなのにALGOL風マクロで書かれているみたいな話だよね。
それを学習して身に付けちゃっていいかというと、ちと疑問。
84Name_Not_Found:2011/03/31(木) 22:36:04.61 ID:???
PHPユーザの言い訳は続くw
85Name_Not_Found:2011/03/31(木) 22:41:41.96 ID:???
前スレの832で見かけたけど、
文字列を\で連結することで何行マークアップがあろうが、
document.writeを1回呼ぶだけで書き込めちゃうんだな。
知らなかったわ。

>document.open();
>document.write('<table border="0" width="100%">\
><tr>\
><td width="95"><a href="" target="hoge"><img src="" alt="" height="115" width="90"></a>\
></td>\
></tr>\
>');
>document.close();

行毎にdocument.write書くよりよっぽどスマートだし、パフォーマンスもいいはず。
tableタグ閉じ忘れてるけどね。

これJavaScripterには常識だったりするん?
86Name_Not_Found:2011/03/31(木) 22:44:22.05 ID:???
>>85
ES5 規定による。ES3 規定にはない。
ES5 がデファクトスタンダードとなるまでは実装依存。
87Name_Not_Found:2011/03/31(木) 22:47:27.82 ID:???
そんなことする前に変数に入れとくわ。
88Name_Not_Found:2011/03/31(木) 22:47:44.39 ID:???
>>85
言語によっては。
Cだと常套テク。
89Name_Not_Found:2011/03/31(木) 22:55:21.38 ID:???
>>85
悪しき慣習だと思うな。普通は使わない。
90Name_Not_Found:2011/03/31(木) 22:56:20.37 ID:???
>>85
サンクス
↓おそらくこれのことだよな
http://es5.github.com/#x7.8.4

>>87
その変数に入れるってやつはどう書くの?
行毎にクォーテーションで囲むのは結構手間だから、
連結する方が生産性高いと俺は思うんだがな。
91Name_Not_Found:2011/03/31(木) 23:01:33.54 ID:???
\は事故の元じゃね。知らない人もいるだろうし。
>手間
置換で追加すればいい。\入れるのとほとんど変わらないよ。
俺も+で繋げるなら前もって変数に+=で繋げるかな。
92Name_Not_Found:2011/03/31(木) 23:03:26.96 ID:???
改行を任意の文字列に一括置換すればいい。
+ の連結が気持ち悪いならjoinするとか。
(パフォーマンス気にする人はdocument.writeを使わないと思うけど)
93Name_Not_Found:2011/03/31(木) 23:04:54.54 ID:???
インデントしてると汚くなるんで使わない
94Name_Not_Found:2011/03/31(木) 23:16:35.93 ID:???
obj.hoge = "なにか";
でhogeに値がセットされる瞬間にフックしたいんだけど。

unsafeWindow.__defineSetter__("hoge",function(x){
//なんか処理
 this.hoge = x; //ここまずい
});
ってやると無限再起でスタックオーバーフローになるます
どうやれば回避できますか?

95Name_Not_Found:2011/03/31(木) 23:16:37.12 ID:???
結構不評なんだなー
使ってみようかと思ってたが、これが世間の声だと思ってやめとくわ。

>>92
document.writeは、オンロード後のDOM処理とはタイミングが違うから
document.writeならではの使いどころがあると思う。
一概に言えないと思うよ。
96Name_Not_Found:2011/03/31(木) 23:17:49.98 ID:???
E4X使え
火狐でしか使えないけどなww
9794:2011/03/31(木) 23:18:18.00 ID:???
>>94
unsafeWindowはobjの間違い

グリモン作ってるときの疑問だったもんで。
修正漏れ
98Name_Not_Found:2011/03/31(木) 23:20:35.18 ID:???
document.writeを使うのって描画タイミング以外で利点とかある?
99Name_Not_Found:2011/03/31(木) 23:21:07.00 ID:???
>>94
__defineSetter__の関数は何をやってるわけ?
10094:2011/03/31(木) 23:26:15.79 ID:???
101Name_Not_Found:2011/03/31(木) 23:28:29.04 ID:???
JavaScriptでデザインパターンも組めない素人ばっかりなのかここ
102Name_Not_Found:2011/03/31(木) 23:43:02.29 ID:???
JavaScriptでデザパタ(笑
103Name_Not_Found:2011/03/31(木) 23:43:30.36 ID:???
効率悪すぎだろそれ
104Name_Not_Found:2011/03/31(木) 23:45:01.26 ID:???
JavaScriptでのデザインパターンってどんなのがあるんだ?
105Name_Not_Found:2011/03/31(木) 23:47:16.27 ID:???
ggrks
106Name_Not_Found:2011/03/31(木) 23:48:38.51 ID:???
デザインパターンは、アルゴリズムや設計思想に
名前を付けて伝達性を向上した事に意味があるんであって、
それ以上の効果を期待すると肩透かしを食らうぞ。
107Name_Not_Found:2011/03/31(木) 23:49:47.87 ID:7/K68nMp
>>106
>伝達性を向上した事に意味があるん

ああ、うまいこというなあ
たしかにそうだよな
108Name_Not_Found:2011/03/31(木) 23:50:48.21 ID:???
>>94
とりあえず下のようにしときゃ動くんじゃね?

obj._hoge; // private的な変数
obj.__defineSetter__("hoge",function(x){
//なんか処理
 this._hoge = x;
});
obj.__defineGetter__("hoge",function() {
return this._hoge;
});
109Name_Not_Found:2011/03/31(木) 23:59:51.22 ID:???
>>108
いやエラーにはならないけどさ、、、

フック処理を追加したあとも
obj.hogeに値が設定されててほしいのさ

グリモンでプロパティの設定の瞬間をフックしたいだけで
元のオブジェクトの互換性は保ちたいわけで
110Name_Not_Found:2011/04/01(金) 00:03:01.99 ID:???
>>94
obj.fuga = obj.hoge;
obj.__defineSetter__('hoge',function(x){this.fuga = x})
obj.__defineGetter__('hoge', function(){return this.fuga})

これじゃ、駄目なのかに?


そもそも、Chromeでだけど

obj.hoge = 'a';
obj.__defineSetter__('hoge',function(x){});

とすると、obj.hogeを評価しても undefined が帰ってくる
たぶん、obj.__defineSetter__でセッタを設定した時点で、obj.hogeが上書きされてアクセスできなくなってしまう。
なので、もともとのobj.hogeはどこか別のところに保存する必要があり、上のようなコードがどうしても必要になるのでは。
111Name_Not_Found:2011/04/01(金) 00:25:05.03 ID:???
>>60
ありがとうございます。
そこまでは理解できました。

最終的に作りたいものでは、画像を動的に変更したいと思ってるので
関数から画像のDOMオブジェクトを返して、それをHTMLの文字列にする方法を知りたいです。
112Name_Not_Found:2011/04/01(金) 00:46:00.87 ID:???
>>95
タイミングの利点は認めるけど、パフォーマンス重視でdocument.writeを選択する必然性はないような。
パフォーマンスよりも利便性をとる人がdocument.writeを使うものだと思ってた。
113Name_Not_Found:2011/04/01(金) 00:50:35.38 ID:???
>>94
this._hoge_check = true;
 this.hoge = x; //ここまずい
this._hoge_check = false;
で条件分岐すればいいんじゃね?
114Name_Not_Found:2011/04/01(金) 01:02:41.65 ID:???
>>111
個人的な好みも入るけど、jQueryを使うのなら、なるべく徹底的に使いたい(速度的にはデメリットがあるけどね)。
そういうところも含めて、オレならこう書くかな。

var uri1 = 'http://k.yimg.jp/images/mht/2011/0315_tohoku.png';
var uri2 = 'http://www.google.co.jp/images/srpr/nav_logo39.png';

var $p = $('<p />').appendTo('#view');
var $img = $('<img />').addClass('test').attr('src', uri1).click(function(){$(this).attr('src', uri2)});
$p.append($img);
115Name_Not_Found:2011/04/01(金) 09:45:36.82 ID:???
var foo = new Foo();
foo.bar().baz().qux().quux();
みたいな感じで次々メソッドを追加していくようにできませんか?
それぞれのメソッドはfooに対して処理を行うようにしていのですが。
116Name_Not_Found:2011/04/01(金) 09:48:05.79 ID:???
$("〜").aaa("〜").bbb("〜")みたいな形のを自分でも作りたいのですが
これはどのようなコードで実現しているのでしょうか?
117Name_Not_Found:2011/04/01(金) 09:51:25.44 ID:???
すいません自己解決しましたreturn thisで。いいのかなこれで・・・。
function Foo() {
this.elm = document.getElementById('box');
}
Foo.prototype = {
foo: function(str) {
alert('foo');
return this;
},
bar: function(str) {
alert('bar');
}
}

window.onload = function() {
var f = new Foo();
f.foo().bar();
}
118Name_Not_Found:2011/04/01(金) 14:13:57.71 ID:iyym9zmv
あってるよ
119Name_Not_Found:2011/04/01(金) 16:29:53.69 ID:???
画像Aをクリックしたときに画像Bに切り替わるようにしたいと思います
スムーズに切り替えたいので画像Aを読み込むときに一緒に画像Bも読み込んでおきたいのですが
どのような方法でできるのでしょうか?
cssで画面領域外に飛ばすっていう方法以外を模索しています
120Name_Not_Found:2011/04/01(金) 16:33:31.24 ID:???
つWebStorage
121Name_Not_Found:2011/04/01(金) 16:34:39.59 ID:???
Image使って変数に読み込んで置く
122Name_Not_Found:2011/04/01(金) 16:47:01.28 ID:0q8zYrpb
>>121
そのやり方だとガラケーで上手く行かない
display:noneがベスト
123Name_Not_Found:2011/04/01(金) 17:10:00.38 ID:???
>>122
そのやり方だと JS-On CSS-Off の環境でおかしなことになる。ベストなやり方は用途次第。
124Name_Not_Found:2011/04/01(金) 17:36:28.48 ID:???
CSS-offとか無視していい
125Name_Not_Found:2011/04/01(金) 18:22:56.87 ID:???
スムーズに切り替えたいなら
画像を1枚にしてstyleのbackgroundPositionをいじるのがいい
126Name_Not_Found:2011/04/01(金) 19:18:25.36 ID:392SJGBQ
>>125
それでFAだな
CSSスレへ。>>1に書いてあるから
127Name_Not_Found:2011/04/01(金) 19:32:07.69 ID:???
>>126
それなら>>122と同じジャン
128Name_Not_Found:2011/04/01(金) 19:52:42.33 ID:???
node.js+WebSocketの質問てここでもOK?
129Name_Not_Found:2011/04/01(金) 19:59:58.51 ID:???
すまん、超初心者(ActionScript3.0は弄れる)なんだけど
document.writeを指定したdivの枠に実行する方法ってどうすんの?

作ってるのはHTMLの中にFlashを入れて
ActionScript3.0でExternalでJSの関数を実行させて
divの所にボタンによってそれぞれ文字を書きだすコンテンツなんだけど…

HTMLとJavaScriptなんてほとんど触ったことねーよ…
130Name_Not_Found:2011/04/01(金) 20:01:03.77 ID:???
できねえよks
131Name_Not_Found:2011/04/01(金) 20:16:49.32 ID:TshGlK1G
>>129
document.writeはそういう使い方するものじゃないからdocument.getElementByIdなりでdivを取得して
DOM操作で入れるかinnerHTMLかかな
132Name_Not_Found:2011/04/01(金) 20:20:03.38 ID:???
>>131
document.getElementByIdでdivを取得...
OK、ちょっとggって調べてみる。
ありがとうございました。
ほんとJavaScript勉強しておけばよかった…
133Name_Not_Found:2011/04/01(金) 20:26:23.92 ID:???
>>121はガラケーじゃだめなのか?
そもそもガラケーサイトでJS使おうとは思わんからな
134Name_Not_Found:2011/04/01(金) 21:01:18.36 ID:392SJGBQ
>>127
ん?overflowを使うあれよ?
135Name_Not_Found:2011/04/01(金) 21:43:16.06 ID:???
JQUERY の append で書いたタグに対して
$(".test").click でキャッチ出来ないのですが、
append で書いたタグに対してイベントをキャッチするにはどうしたら良いのでしょうか?
136Name_Not_Found:2011/04/01(金) 21:50:08.94 ID:???
後から$('.test').clickした場合にはいけるよね?
先に実行して後からDOMで追加した場合なら('.test').live('click', fn)かな
137Name_Not_Found:2011/04/01(金) 21:51:27.23 ID:???
この質問多いよな、なんで順番が理解できないのか
138Name_Not_Found:2011/04/01(金) 23:32:54.50 ID:???
printf("%d:%d%d", 2011, 11, 3);
CやPHPのように↑みたいにJavaScriptで書く方法をお教えください
139Name_Not_Found:2011/04/01(金) 23:40:27.31 ID:???
140Name_Not_Found:2011/04/02(土) 00:33:17.74 ID:0SBtU03k
sprintf手作りするのって、結構以前から定番だったよね
%dとかの実装が面倒で投げ出したりとか
141Name_Not_Found:2011/04/02(土) 01:38:12.78 ID:???
Bookmarklet で http://network-tools.com/ の ping と trace のページを、
新しいウィンドウで、現在開いているページのホスト名を渡して開きたいんですが、
「現在開いてるページのホスト名」部分ってどうやって取得すればいいでしょうか?
もしくは、現在開いているページのアドレスから、http:// を除いたもの、でもいいです。

具体的には、実行すると新しいウィンドウで、

http://network-tools.com/default.asp?prog=ping&host=[ホスト名]
http://network-tools.com/default.asp?prog=trace&host=[ホスト名]

というページが開くような Bookmarklet を書きたい、と思っているんですが・・・
142Name_Not_Found:2011/04/02(土) 01:44:50.71 ID:???
>>141
window.location.hostとかじゃいかんの?
143Name_Not_Found:2011/04/02(土) 02:08:12.93 ID:???
>>136-137
<script type="text/javascript">
$(function(){
  $.get('device_list.csv', function(data){
    var csv = $.csv()(data);
    $(csv).each(function(){
      $("#csv").append('<img src="' + this[0] + '" class="devimg" />');
    })
  })
})
</script>
<script type="text/javascript">
$(".devimg").click(function (){
  alert("test");
});
</script>

こうやって出力したときに画像をクリックしても alert が実行されません。


書き忘れました。 IE8 です。
144Name_Not_Found:2011/04/02(土) 02:09:13.18 ID:???
JavaScript で書き出した <img> ではなく、あらかじめ書いた <img> のクラス名を指定して、そのイメージをクリックすると alert は実行されてダイアログが出ました。
145Name_Not_Found:2011/04/02(土) 02:21:32.54 ID:???
>>143-144
実行順序を考えろって>>136-137に言われたでしょ?

最初のscriptタグの$(...)はdocumentがロード完了されてから実行される。
それに対して、二番目のscriptタグの中身はdocumentのロード完了まえに実行される(厳密には違うかもしれんが、最初のscriptタグより前なのは予想されてしかるべきこと)。
だから、すでにドキュメント内にある要素にコールバックをつける$(".devimg").click(...) が意図どおりに機能していない。

.click(fn)の代わりに.live('click', fn)を使うか、.click(fn)も$(...)の中にいれるべし。

この説明で分からないなら、たぶん、「コールバック」という概念が理解できていない。
それなら、あなたにjQueryは早すぎる。
146Name_Not_Found:2011/04/02(土) 02:41:13.16 ID:???
ソースで順番に書いてるから順番に実行されるものではない。 という解釈?
10年ぶりの JavaScript だから (もちろん jQuery は初めて弄る) 何もかもが初めて弄る感覚すぎて難しい。


やっぱり、記述の仕方を覚える前にいきなりサンプルを弄るのは無謀すぎたか。。。

とりあえず 最初の $(function(){...}); の中に入れる方が流れ的に分かりやすいので、これで対処しようと思います。


ついでなんですが、jQuery を学びやすいサイト or 書籍のオススメってありますか?
147Name_Not_Found:2011/04/02(土) 03:08:45.28 ID:???
>>146
何よりもまず、本家サイトをみるべき。
http://api.jquery.com/jQuery/#jQuery3
ここに書いてある。
148Name_Not_Found:2011/04/02(土) 06:06:18.88 ID:???
>>133
すまんページ跨いでのプレロードができないのと勘違いしてた
new ImageしたものをappendChildする場合は問題なく使える

>134
スムーズの意味が違うかと
エフェクト的な意味のスムーズじゃなくて読み込み無しでパッと切り替えたいって意味かと
149Name_Not_Found:2011/04/02(土) 10:32:24.49 ID:???
開いたページのurlにはてなみたいにリンクを張りたいのですが力を貸してください
replace(/(http:\/\/[a-zA-Z0-9\._\-\/]+)/gi, "<a href='$1'>$1</a>");
150Name_Not_Found:2011/04/02(土) 10:50:42.86 ID:???
必要に迫られてちょっと嫌々で jQuery 触ったけど、ちょっと面白くなってきた。
151Name_Not_Found:2011/04/02(土) 10:51:45.31 ID:???
ちょっとだけよ
152Name_Not_Found:2011/04/02(土) 11:05:37.37 ID:???
jqueryでここまでできたのですがうまく動きません助けてください
$(function(){
$('#contents').html($('body').html().replace(/https?:\/\/[a-z0-9\.-]+\//i, '<a href="' + $1 + '">$1</a>'));
});
153Name_Not_Found:2011/04/02(土) 11:08:29.96 ID:???
jQuery使っているサイトってエラーがてんこ盛りなんだけど
よくこんなんでお金取ってるよな
154Name_Not_Found:2011/04/02(土) 11:09:33.18 ID:???
と、自称エリートが申しておりましたとさ
155Name_Not_Found:2011/04/02(土) 11:36:08.89 ID:???
getElementsByTagNameってキャッシュ機能(?)のようなものがあるんでしょうか?
firebugを使ってスピードを測っていたのですが、1回目だけ2回目以降の10倍以上の時間がかかっています。
----------
window.onload = function() {
function get() {
  document.getElementsByTagName('li');
}
  console.profile();
  console.time("go");
for (var k = 0; k < 100; k++) {
  get();
}
  console.timeEnd("go");
  console.profileEnd()
};
----------
100回のループだと最大0.048msで平均が0.005msですが、
1回のループだと最大0.048msで平均も0.048msです。
これって最初だけ時間がかかってるって事ですよね?
キャッシュ機能っていうのは詳しくしらないですが、
何故こういう現象が起きるのでしょうか?
156Name_Not_Found:2011/04/02(土) 11:47:06.42 ID:???
実装次第じゃねーの?
短くなってるならキャッシュがきいてるだろ
速くするためにfor中ではそうなるようになってるのかもしれんし
157Name_Not_Found:2011/04/02(土) 11:59:23.77 ID:???
土曜のこの時間はレベル高い人がいないから夕方以降に質問したほうがいいぞ
158Name_Not_Found:2011/04/02(土) 12:12:49.50 ID:???
>>155
正確な計測ができてるとは思えんのだが
getElementsByTagNameの速度を調べるのにconsole.profileなんていらん

window.onload = function() {
function get(i) {
  console.time("go" + i);
  document.getElementsByTagName('li');
  console.timeEnd("go" + i);
}
  //console.profile();
for (var k = 0; k < 100; k++) {
  get(k);
}
  //console.profileEnd()
};

159Name_Not_Found:2011/04/02(土) 12:38:06.20 ID:???
>>149
>>152も同一人物?

$textNodes = $('body, body *').contents().filter(function(){return this.nodeType == 3});
$textNodes.each(function(){var $this = $(this); $this.after($this.text().replace(/(https?:\/\/[a-z0-9.-\/]+)/gi, '<a href="$1">$1</a>')); $this.detach()});

こういう感じのことがしたいのでいいの?

$('body, body *')のセレクタの正しさとか、URIの正規表現とかは真剣に検討していない。
どういうページで、どれくらいの精度で使いたいかなどによるので、自分で考えてくれ。
あと、after + detachが良いやり方かはちょっと悩む。
160Name_Not_Found:2011/04/02(土) 17:27:19.52 ID:P4sLxhs1
前スレでは流れてしまったのでもう一度書かせてください。申し訳ない


tp://jsajax.com/Articles/scrollablemenulinks/775
この横スクロールメニュー内のリンクで
tp://colorpowered.com/colorbox/core/example1/index.html
の画像表示法をとりたいのですが、
ほぼ原型ままのソースを取り込んでも画像の直接表示に飛んでしまい、かないません。

仕組み的に不可能なのでしょうが?
もし可能でしたらどこを修正すればよいのかご指導いただけるとありがたいです。
よろしくお願いします。
161Name_Not_Found:2011/04/02(土) 17:54:25.12 ID:???
ちゃんと見てはないけど可能だと思うよ?
どんなコードを書いたのか解らないから指摘云々もないわけだが
162Name_Not_Found:2011/04/02(土) 19:05:41.30 ID:???
>>160
そもそも http://colorpowered.com/colorbox/core/example1/index.html のほうは、ColorBoxというライブラリを使っているということ自体とか、そのライブラリの使い方とか、そういうことは分かっている?
163160:2011/04/02(土) 19:06:24.31 ID:???
>>161
失礼しました、

http://jsbin.com/ozisu5

のように記述しています。(jsは今だけ配布元のものをお借りしています)
普通にbodyにおいたリンクからは表示されるのですが、同じ記述でも
スクロールメニュー内に表示するためのvar view='<nobr>〜</nobr>'内におくとできなくなります。
164Name_Not_Found:2011/04/02(土) 19:07:08.72 ID:???
lightboxで画像をクリックすると周りが暗くなる部分を作りたいのですが
あればなんていう名称なんでしょうか?
165Name_Not_Found:2011/04/02(土) 19:11:06.29 ID:???
決まった名前ってあるのかな?
自分はグレーアウトとか言ってるが
166Name_Not_Found:2011/04/02(土) 19:17:34.59 ID:???
>>163
そもそも構文的におかしくね?
「});」が多いよ。
167160:2011/04/02(土) 19:25:57.43 ID:???
>>166
すみません(´Д`;)
実際のページそのままは載せられなかったので慌てて何箇所か削ったためです…
168Name_Not_Found:2011/04/02(土) 19:35:03.68 ID:???
$("a[rel='example1']").colorbox();をする実行タイミングの問題だろ
それにしてもdocument.writeとかもうちょっと何とかした方が・・・
jsajax.com/Articles/scrollablemenulinks/775
のソースはうんこだから参考に全面的に書きなおせ
169Name_Not_Found:2011/04/02(土) 20:19:24.25 ID:???
多数のDOM要素を操作したい時にいちいちgetElementByIdやらで要素を取得するより、
getElementsByTagName('*')で全ての要素を取得してcache[name]のようなハッシュに、
要素を入れておく方が速いですか?
やっているのを見たことがないので何か問題でもあるのかもしれないと思って聞きました。
170Name_Not_Found:2011/04/02(土) 20:29:00.95 ID:???
HTMLを書き換えたら構成が変わってしまうから、それだと管理が面倒だろ
171Name_Not_Found:2011/04/02(土) 20:30:29.88 ID:???
同じ関数内で複数回使うなら変数に入れるのが普通。
要素追加とかで変化するから全部のキャッシュはしたことないな。

速いか速くないかは自分の使うソースで検証すればいいんじゃない?
172Name_Not_Found:2011/04/02(土) 20:35:10.04 ID:???
getElementsByTagNameなら生きてるノードリストだよ
173Name_Not_Found:2011/04/02(土) 20:56:21.91 ID:???
javascriptでベンチマークをとる方法をおしえてkづあさい
174Name_Not_Found:2011/04/02(土) 21:02:51.53 ID:???
ググる
175Name_Not_Found:2011/04/02(土) 21:04:52.86 ID:???
自己解決しました
http://tinyurl.com/3g4zl3r
176Name_Not_Found:2011/04/02(土) 21:06:59.88 ID:???
全部の要素取得メモリ消費量がすごいんじゃないか?w
最近のPCから見れば微々たるもんだろうけどそれでもそんなサイトあんまりみたくないわ・・・
よく使う一分の要素をキャッシュするのは凄く分かる話なんだが・・・
177Name_Not_Found:2011/04/02(土) 21:08:49.76 ID:???
>>172
それを殺して名札付けて管理するのってどお?って話なんじゃないの
178Name_Not_Found:2011/04/02(土) 21:34:24.51 ID:???
>>167
http://jsbin.com/ehaca6
これでどう? 不完全だが自由に使え。
179160:2011/04/02(土) 22:34:59.15 ID:???
>>178
ありがとうございます!!これがやりたかった…
とても参考になりました、感謝しています。

>>168
なるほど、勉強になります。
アドバイスを参考に書き直してみます。
180160:2011/04/03(日) 00:14:30.39 ID:n9rTGV7d
度々すみません。
>>178で教えていただいたのを参考にすすめているのですが、

文字リンク http://jsbin.com/ehaca6/2 だと問題ないのに
画像リンク http://jsbin.com/ehaca6/3 にした途端挙動がおかしくなります。
最初にページを読み込んだ時は問題ないのですが、
リロードしたり2回目以降にページを開くとスクロールが飛んでしまいます。

双方の違いはリンクを張る箇所をテキストのimg_linkから
img src="http://www.dotup.org/uploda/www.dotup.org1488853.gif" />に変えた点のみです。
どこに問題があるのでしょうか…?
181Name_Not_Found:2011/04/03(日) 00:21:58.01 ID:???
>>178
すげえ即席でつくったのか?
初心者だからうらやましい
182Name_Not_Found:2011/04/03(日) 00:34:58.89 ID:???
Lightboxについての質問です。AのようなLightboxを、サンプルフォルダまるごとコピーして
表示させることができたのですが、ウィンドウの下部にBのような補足ボタン(次とか前)を
表示させたいです。初心者なものでコードをみてもさっぱり分からない状態です。
ダウンロードしたファイルの内容はCのような感じになっています。

どのようなコードをどこに記述すればいいのか、あるいはBの表示のあるLightboxの
サンプルがダウンロードできるサイトとか、ヒントでもどのようなことでもいいので
おしえてもらえると助かります。よろしくお願いします。

A
http://www.dotup.org/uploda/www.dotup.org1489017.png.html
B
http://www.dotup.org/uploda/www.dotup.org1489026.png.html
C
http://www.dotup.org/uploda/www.dotup.org1489032.png.html
183Name_Not_Found:2011/04/03(日) 00:38:09.02 ID:???
すみません、AとBのリンクが反対になってしまいました。
A→B、B→Aです。
184Name_Not_Found:2011/04/03(日) 07:29:53.94 ID:???
>>180
オレの環境では http://jsbin.com/ehaca6/3 も順調に動いているからなんとも…

>>182
Lightbox系の質問はときどきでるけど、的確で自信のある回答をみたことないので、Lightbox系を使い込んでいて親切な人はこのスレにいないんじゃない?
商業系でよく使われているライブラリなので、商売上のノウハウをあまり明かしたくないのかもしれん。

さて、自信のない回答だが、どうしてもLightboxを使いたいなら、見た目を変えることだけはできる模様:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/004.html

ただ、質問を読むに、ギャラリー化、グループ化自体ができていないんじゃない? ここを読むべし:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/003.html

もっと自由に外観をいじりたくて、なるべくjavascriptを触りたくないなら、Lightbox自体ではなく、Lightbox「系」でDIV要素なども表示できるライブラリを使うのが簡単だろう。
FancyBoxとかが良さそう。
http://fancybox.net/

実例:
http://jsbin.com/onifo5

だたし、実際のサイトに使うときは、http://jsbin.com/onifo5 のHEADタグ内の http://fancybox.net/〜 の部分はローカルを参照するように書き換えろよ。絶対に。
185Name_Not_Found:2011/04/03(日) 07:40:36.34 ID:???
jQueryのanimateをはじめ各種のエフェクト系は
いらない事をよくするので正直使わないほうが・・・
186Name_Not_Found:2011/04/03(日) 11:02:28.58 ID:???
position:fixed指定の背景付きdiv矩形をJSからstyle.left&style.top弄って動かしてゲームを作ろうとしています
そこで問題が起きたのですが
styleを弄る度に動作が重たくなってしまいます
具体的には10個矩形を動かし初め20fps出てたものが1分ほど動かすと10fpsになったりします

ずっと同じ位置をstyleに与えつづけても重たくなります
またstyleを弄る部分だけコメントアウトして物理演算の部分だけ動かすと重たくなりません
style.left;style.top;で2回で位置を指定するとsetAttribute("style","left:px;top:px;")で一括で指定するより2倍早く重たくなります

重たくなってからdocument.body.innerHTML=""で消してDOMを再度組んでやると少しだけ軽くなりますがすぐもとの重さになります
しばらく止めてGCに期待してもだめです
ちなみにブラウザはNet Front 3.4ですが、eajax.gc()は使えません
もっとも、今回はDOMがメモリリークしているのではないかと思います

いったいどうしたらいいのでしょうか?
document.body.innerHTMLの代わりにdocument.writeを使って綺麗にするといい気がしますが
styleが上手く効かなくなるというバグらしきがあり使えません
そういえば2つの画像をたくさん切り替えたときも重たくなりました
昨日四半日ググって調べましたがわかりません
何か解決の方法を少しでも知ってる方がいらっしゃったら教えてください
Canvasが使えれば一番いいんでしょうですけどね
187Name_Not_Found:2011/04/03(日) 11:43:41.59 ID:???
まず服を脱ぎます。
18805004010285429_vf:2011/04/03(日) 12:48:18.01 ID:???
これでよろしいでしょうか?
189Name_Not_Found:2011/04/03(日) 13:39:00.28 ID:???
javascriptで特殊な配列を作るオブジェクトを作りたいのですがやり方がよく分かりません。
例えばjQueryとかだと下記のコードのようになっていて、$('div').color();のような形でFunc.prototype以下のメソッドを実行しますが、
(1)----------
$ = Func;
function Func(expr) {
  return new Func.prototype.init(expr);
}
Func.prototype = {
  init:function(expr) {
    //exprを元に要素を取得
  },
  method: function( ){
   alert('foo');
  }
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
  f = $(expr);
  f.method();//メソッドを実行
}
----------
作りたい形は下記のようなものなので、
190189:2011/04/03(日) 13:42:41.54 ID:???
続き
(2)----------
window.onload = function() {
  var f = $(expr);//fに代入されるのは要素の配列
  f.method();//配列内のすべての要素に対してメソッドを実行
  f[0].method();//配列内の個々の要素に対してもメソッドの実行が可能
  f[1].method();
}
----------
Func.prototypeのinitの中で配列を返すようにしています。
(3)----------
Func.prototype = {
  init: function() {
    return [elm1, elm2, elm3];
  }
}
----------
そうすると当然fに代入されるのはFuncオブジェクトではなくただの配列なのでmethodメソッドは実行されません。
この配列に対して上記(2)のような形でメソッドを実行させるようにはできないでしょうか?
Array.prototypeにメソッドを追加する事も考えたのですが、普通の配列に対してはメソッドの実行をさせたくないのと、
それをするとFuncオブジェクトを作る意味がなくなるのではないかと考えたので・・・。よろしくお願いします。
191Name_Not_Found:2011/04/03(日) 14:27:02.84 ID:???
何がしたいのか確信は持ってないけど、別に Array を拡張しなくても、
Func に Array を継承させて、Func を拡張すれば良いのでは?
その為の仕組みでしょ。

Func.prototype = new Array();
Func.prototype.init = function(expr) { ... };
Func.prototype.method = function() { ... };
192189:2011/04/03(日) 14:40:46.30 ID:???
分かりづらくてすみません。一応一歩前進しました。
var Func = function() {
  return new Func.prototype.init();
}
Func.prototype = {
  init: function() {
    var ary = [elm, elm2];
      for (var i in this) {//ここ
        ary[i] = this[i];
      }
    return ary;
  },
  color: function() {
    alert('foo');
  }
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
  var f = Func();
  f.color();
}
要はFuncで配列を返して、返す配列に対してFuncのメソッドを継承させるという事です。
ただ配列に対してメソッドは継承できたのですが、配列の中身への継承が何故かできません・・・。
for (var i in this) {//ここ
  ary[i] = this[i];
  for (var j = 0; j < ary.length; j++) {//動かない
    ary[j][i] = this[i];
  }
}
193Name_Not_Found:2011/04/03(日) 15:19:24.54 ID:???
とつぜんですが、質問させてください。
JavaScriptをいちから勉強しようと思っています。他の言語どころか、プログラミングがどういうものかもよくわかってないレベルです。
そんな人間がJavaScriptをある程度使えるようになるまで、何時間ぐらい勉強時間が必要でしょうか。もちろん人それぞれだとは思いますが、よかったらざっくりとでいいので教えてください。
よろしくお願いします。
194Name_Not_Found:2011/04/03(日) 15:22:15.16 ID:???
5分でalert()を覚える
3分で変数の代入の仕方を覚える
8分で配列の代入の仕方を覚える
10分でif文を覚える
10分でfor文を覚える
195Name_Not_Found:2011/04/03(日) 15:31:42.57 ID:???
50秒で prototype の仕組みを覚える
20秒で closure を覚える
30秒で DOM の操作を覚える

トータルでそんなに掛からないかなぁ。
196Name_Not_Found:2011/04/03(日) 15:32:37.73 ID:???
JavaScriptが出来ると世界を制す
覚えとけ!
197Name_Not_Found:2011/04/03(日) 15:44:39.89 ID:???
> 10分でif文を覚える
時間掛け過ぎ

> 30秒で DOM の操作を覚える
無理
198Name_Not_Found:2011/04/03(日) 15:50:33.57 ID:???
そんなペースでやれれば1日で全ての言語を取得できそうだなw
199Name_Not_Found:2011/04/03(日) 15:53:01.99 ID:???
世界にどれくらいの言語があるか知ってるのか
200Name_Not_Found:2011/04/03(日) 15:53:41.34 ID:???
>>192
最後6行のブロック
そもそも何をやりたかったのかさっぱり分からん
201Name_Not_Found:2011/04/03(日) 15:54:56.23 ID:???
30言語以上使える俺でもこのペースは無理だわ
202Name_Not_Found:2011/04/03(日) 15:55:54.96 ID:???
>>192
意味わからんけど配列の中身は何なの?
オブジェクトじゃないとプロパティは付加できないよ
203Name_Not_Found:2011/04/03(日) 16:28:27.41 ID:???
>>192
var Func = function(arr) {
 return new Func.prototype.init(arr);
};
Func.prototype = {
 init: function(arr) {
  var self = this;
  for (var p1 in self) {
   if (typeof self[p1] === 'function') {
    arr[p1] = function(id) {
     return function() { for (var i = 0, e; e = arr[i++]; ) self[id].apply(e, arguments); return arr; };
    }(p1);
   }
  }
  for (var i = 0, l = arr.length; i < l; i++) {
   for (var p2 in self) {
    if (typeof self[p2] === 'function') {
     arr[i][p2] = function(id, n) {
      return function() { return self[id].apply(arr[n], arguments); };
     }(p2, i);
    }
   }
  }
  return arr;
 },
 color: function() { alert('foo'); }
};
Func.prototype.init.prototype = Func.prototype;
var arr = Func([{}, {}]);
alert(arr.color()); arr[0].color(); arr[1].color();

こんなものは継承でもなんでもないでしょ。
204Name_Not_Found:2011/04/03(日) 18:33:26.68 ID:???
すみません。どれが冗談で、どれが本当のレスなのか教えていただけると嬉しいです。
205Name_Not_Found:2011/04/03(日) 18:35:11.92 ID:u5LVmZxk
$("dt")
.mouseover(function(){
$(this).parent().find("dd").slideDown("slow");
})
.mouseout(function(){
$(this).parent().find("dd").slideUp("slow");
});

jQueryで、dtにマウスオーバー&アウトしたら同じdlの中のddをスライドダウン&アップをさせたいのですが
一応これでも動いてはいますが、何度もマウスをdt上でロールオーバー&アウトを繰り返すと
dtからマウスを放しても、残ったイベント?がずっとスライドダウン&アップを繰り返してしまいます
こういう無駄な繰り返しをさせないようにしたいのですが、どうすればよいのでしょうか・・・
206Name_Not_Found:2011/04/03(日) 18:49:03.53 ID:???
>>204
お前の顔が冗談
207Name_Not_Found:2011/04/03(日) 19:02:52.13 ID:???
>>205
アニメーション消せよ
208Name_Not_Found:2011/04/03(日) 19:25:02.72 ID:???
>>202
配列の中身はDOM要素です。一応できました。何も問題なければ・・・。
>>203すみません。全体的に説明が分かりづらかったみたいです。
function Func() {
  return new Func.prototype.init();
}
Func.prototype = {
  init: function() {
    var elm = document.getElementById('box'), elm2 = document.getElementById('box2'), ary = [elm, elm2], aryLen = ary.length;
    for (var i in this) {
      ary[i] = this[i];
      for (var j = 0; j < aryLen; j++) {
        ary[j][i] = this[i];
      }
    }
    return ary;
  },
  color: function() {
    if (this instanceof Array) {
      for (var i = 0, len = this.length; i < len; i++) {
        this[i].style.background = 'black';
      }
    } else {
      this.style.background = 'black';
    }
    return this;
  },
209208:2011/04/03(日) 19:28:22.25 ID:???
続き
----------
  color2: function() {
    if (this instanceof Array) {
      for (var i = 0, len = this.length; i < len; i++) {
        this[i].style.background = 'red';
      }
    } else {
      this.style.background = 'red';
    }
    return this;
  }
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
  var f = Func();
  f.color().color2(); f[0].color().color2(); f[1].color();
}
----------
210Name_Not_Found:2011/04/03(日) 19:35:23.95 ID:???
    for (var i in this) {
      ary[i] = this[i];
      for (var j = 0; j < aryLen; j++) {
        ary[j][i] = this[i];
      }
    }
一体これは何が起こってるんだ・・・
211Name_Not_Found:2011/04/03(日) 19:40:40.05 ID:???
どこから突っ込めばいいんだろw
212208:2011/04/03(日) 20:02:43.30 ID:???
やっぱ問題あるみたいですね。
えーとまず、var f = Funcはinitのfunctionでelm,elm2で何でもいいので要素を取得してary = []の配列に入れます。
それから、f.color();とかf.color2()のようにして、何でもいいのでinitで作った配列自身、または配列内の要素を
thisとしてメソッドを実行したいので、
----------
    for (var i in this) {
      ary[i] = this[i]; //配列自身にFunc.prototypeのメソッドを設定
      for (var j = 0; j < aryLen; j++) {
        ary[j][i] = this[i]; //配列内の要素にメソッドを設定
      }
    }
----------
という感じなのですが・・・。
213Name_Not_Found:2011/04/03(日) 20:34:43.57 ID:???
> 配列内の要素を this としてメソッドを実行したい

まず、DOM 要素に expando プロパティを追加して、
自作オブジェクトと同じ振る舞いをさせようとする設計が、
いまいちなんじゃないか。
214180:2011/04/03(日) 20:39:40.76 ID:???
>>182
確認してくださってありがとうございます。
どうやらSafariだと(iPhoneからも)だめみたいです。(WinXP:Firefox、Opera、Safari、IE各最新版で確認 Safari以外はok)
初回は動くのですがリロードするとなぜか飛んでしまいます。
いっそリロードすんなって書き添えておこうか…
もう少し奮闘してみます。
215182:2011/04/03(日) 20:47:22.77 ID:???
>>184
レス遅くなりすみません。すごく丁寧な回答ありがとうございます!
これから各リンク読んでやってみます。 とりあえずお礼まで。。

>>214
たぶんアンカー>>184の間違いみたいですよ。
216Name_Not_Found:2011/04/03(日) 20:47:52.33 ID:???
>>205
いちおうできだぞ。
http://jsbin.com/izoxi4

ただ、多少動作はかわるが、jQuery UI の Accordion を使ったほうが簡単だろうな。
217Name_Not_Found:2011/04/03(日) 20:53:50.78 ID:???
>>208
color: function(color) { this.style.background = color; }

var arr1 = Func([elem1, elem2]);
var arr2 = Func(document.getElementsByTagName("p"));

>>203は配列でもNodeListでも一応動くことは動くのだが。
218208:2011/04/03(日) 20:56:49.10 ID:???
>>213
expandoプロパティでググったら、「これのおかげでページ スクリプトのバグがとても見えにくくなります」と書いてありました。
ttp://msdn.microsoft.com/ja-jp/library/bb263996(v=vs.85).aspx

最初の設計は多数のDOM要素に対してアニメーションエフェクトをつけたかったので、より分かりやすいようにアニメーションを設定できる簡単なライブラリのようなものを作ろうと思ってました。
それで、
var n = Func('div', '#header', 'li');
n[0].color[0](1).color[2](2).color[3](3);
n[0].color[2](1).color[2](2).color[4](3);
n[0].color[3](1).color[4](3).color[3](3);
こういう風にアニメーションを設定できればいいかなと思ったんです。
メソッドの[]内が別で設定するcolorアニメーション用のオプション番号で(例えば何色から何色に変わるとか)、
メソッドの()内が1のものは同時にアニメーションが1秒間実行され、終了すると今度は(2)と設定したところのアニメーションが実行されるとか、
そんな感じです。そうしたら分かりやすいかなと思ったので。
どうしてもこの形にもっていきたかったので・・・。
219208:2011/04/03(日) 21:14:40.97 ID:???
>>217
今改めてコード見ました。すこいです!上級者のコードって全然違いますね。めちゃくちゃ勉強になります!
参考にします。有難う御座いました。
220Name_Not_Found:2011/04/03(日) 21:28:22.02 ID:???
>>218
何はともあれ

> メソッドの()内が1のものは同時にアニメーションが1秒間実行され、終了すると今度は(2)と設定したところのアニメーションが実行されるとか、
この実装が相当むずかしそうに思うんだが、それはどうするつもりなの?

var n = Func('div', '#header', 'li');
n[0].color[0](3).color[2](2).color[3](1);
n[1].color[2](1).color[2](2).color[4](100);
n[2].color[3](-1).color[4](3).color[3](3);

とかにしたとき、どう動作するのが正しい仕様なんだ?
.color(...).color(...)の連鎖はつねに前から実行されるようにしたほうが分かりやすいし、実装も簡単だろ。それじゃ、どこかいかんの?
221Name_Not_Found:2011/04/03(日) 21:48:34.81 ID:???
>>219
いや、DOM 要素にべたべた関数貼り付けるなんてまともじゃないし参考にしちゃダメだよ。いろんな意味で。
222208:2011/04/03(日) 22:02:32.24 ID:???
>>220
単純にパッと見の並びの問題です。色のグラデーションの他に色々つけたいのと同時に実行されるのがあった場合とか、例えば、
var n = Func('div', '#header', 'li');
n[0].color[0](1).opacity[2](1).height[3](3);
n[1].color[1](1).opacity[3](2).height[2](2);
n[2].color[2](4).opacity[4](0).htight[7](4);
基本的に前から実行してもいいのですが、上記の場合は、
n[0]は最初の1秒目でbackgroundが赤から青に変わりながら透明度が0.2になる、2秒目には何もしないで3秒目にheightが0になり消える。
n[1]は1秒目でcolorが紫から黄色になり2秒目に透明度が0.7になりながらheightが200pxになる。
n[2]は4秒目にcolor,opacity,heightが同時に変化するみたいな感じです。Flashみたいな感じにできるかなと思ったので・・・。
何秒目にどの要素でどのアクションが起こってるか分かりやすいかなと。
だからこの場合だと
n[0].color[0](3).opacity[2](2).height[3](1);
n[1].color[2](1).opcity[2](2).height[4](100);
n[2].color[3](-1).opcity[4](3).height[3](3);
1秒目にn[0]が赤から青に変わると同時にn[1]のheightが1px、
2秒目にn[0]とn[1]のopacityが0.2になる。3秒目にn[2]の透明度が0.7になりながらheightが1pxになり、n[0]が黄色から緑に変わる。
100秒目にn[1]のheightが50pxに変わるみたいな感じです。-1はfalseで実行されない。
時間を遅らせるのはscriptaclousを真似して()内の引数をとって内部オプションのdelayに設定してスタートを遅らせるような感じです。
223208:2011/04/03(日) 22:07:39.77 ID:???
あー間違えた。個別に設定した方が良かったかな・・・。
下の例は、1秒目にn[1]のcolorとn[0]のheightが変化して、
2秒目にn[0],n[1]のopacity、3秒目にn[0]のcolorとn[2]のopacityとheightが同時、
100秒目にn[1]のheightが変化しn[2]のcolorは実行されないでした・・・。
224208:2011/04/03(日) 22:33:29.54 ID:???
これですね。「Expandoプロパティを避ける」
ttp://d.hatena.ne.jp/tohokuaiki/20090630/1246351679
'Expandoプロパティというのは、
JavaScriptによってDOMに付けられた自由なプロパティのことです。
DOMにもともと存在しないプロパティも全くエラーを起こすことなくJavaScriptから付与できます。
しかし、これが循環参照の原因になります。Expandoプロパティは、通常メモリリークは起こしません。
しかし、偶発的にそして簡単にリークを起こします。'

じゃぁもう$('div').color().opacity().height();みたいな感じにするしかないのかな。みなさん有難う御座いました。
225164:2011/04/03(日) 22:34:56.15 ID:dMW+Hc6q
グレーアウトというのですね
これはどうやって実装するのでしょうか?
226Name_Not_Found:2011/04/03(日) 22:38:43.19 ID:???
>>222
利便性には納得できんが、興味がわいたので、明日になるかもしれんが実装してみるわ。
227Name_Not_Found:2011/04/03(日) 22:44:26.88 ID:???
>>225
下の普通の要素群と、上のイメージを表示している要素の間にZインデックを指定して、div要素をおいている。

#overlay {
position: absolute;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
background-color: #000;
}

<div id="overlay" style="opacity: 0.8; width: 1007px; height: 3071px; "></div>

というか、これくらい自分で調べられんか?
オレはGoogle Chromeで調べたが、firebugでもいけると思う。
228205:2011/04/03(日) 22:56:23.88 ID:???
>>216
わざわざ作って頂きありがとうございます!
パッと見では私には理解できないスクリプトですが、調べながら勉強させていただきます
Accordionというのも調べてみます、ありがとうございました
229Name_Not_Found:2011/04/04(月) 00:05:44.06 ID:???
Firebugってどうやって使い方覚えるの?
230Name_Not_Found:2011/04/04(月) 02:10:13.57 ID:???
<script type="text/javascript">
function today(){
setTimeout("today()",1000);
var obj=document.getElementById("result");
obj.value=new Date();}window.onload=today();
</script></head><body><form>
現在の時刻:<input id="result" type="text" size="45"><br></form>

<body onload=today>を使わないとき
window.onloadを使うときこんな感じでいいですか?
231208:2011/04/04(月) 08:24:28.97 ID:???
>>226
有難う御座います。よろしくお願いします。
232Name_Not_Found:2011/04/04(月) 09:30:09.70 ID:???
>>224
いちおうできたぞ。
http://jsbin.com/ihusu3/2

考えてみれば当然のことだが、作ってみてわかったことがある。
 elems[0].color[1](1)
と呼ぶと、color[1](1)内のthisは、elems[0]でなく、関数の配列であるelems[0].colorになる。
そうすると、ここでelems[0]を参照するには、elems[0].colorかelems[0].color[1]に個別のデータをつけておく必要があって、これがインスタンス変数にせざるをえない。
そのために、本来、クラス変数をセットするprototypeを使ったほうが効率的なのにそうできない。

結論として
 elems[0].color1(1)
とかにしたほうがマシなコードになるだろう。
233Name_Not_Found:2011/04/04(月) 10:41:44.24 ID:???
jqueryのcssでプロパティを書くときはcss本来のプロパティとjavascript用のプロパティ(DOMのというべきでしょうか?)のどちらのプロパティ名を書けばよいのでしょうか?
234Name_Not_Found:2011/04/04(月) 10:51:22.09 ID:???
>>233
試してみればよいじゃない。

$('p').css('background-color', 'green')
$('p').css('backgroundColor', 'green')
のどちらでも動くな。

ただ、常識的な感覚で考えても、http://api.jquery.com/css/#css2 の例を見ても、前者にするのが普通だと思う。
235Name_Not_Found:2011/04/04(月) 11:15:05.38 ID:???
結局のところ background-color は backgroundColor に置き換えられるんだわ。
backgroundColor を渡す方が処理側の手間が省けると思うのだが。
236Name_Not_Found:2011/04/04(月) 11:23:14.65 ID:???
>>224
メモリリークを避けるのが目的にあるなら>>232もsetTimeoutの部分がリークパターン。
それにElementを書き換えると既存のコードがおかしくなる可能性がある。DOM Interfaceオブジェクトは残すべきかと。
237Name_Not_Found:2011/04/04(月) 11:32:23.57 ID:???
何ですか?そのjavascript用のプロパティとは?backgroundColorみたいなのってどのサイトにいけば公式な情報が載ってるか教えてください
238Name_Not_Found:2011/04/04(月) 11:45:57.27 ID:???
239232:2011/04/04(月) 12:00:01.59 ID:???
>>236
> それにElementを書き換えると既存のコードがおかしくなる可能性がある。DOM Interfaceオブジェクトは残すべきかと。
これはうっかりだった。ご指摘、ありがとう。

メモリリークのほうは、オレが無知だからかもしれないが、ちょっと納得できない。
setTimeoutの近くで循環参照は起きてないと思うんだが。

ただ、一部のElementオブジェクト(名前がまずいのもご指摘のとおり)は循環参照しているので、ここでメモリリークを起こすかもしれない。
やはり、jQueryとか既存のライブラリをうまく使うのが吉か。
240Name_Not_Found:2011/04/04(月) 13:10:06.95 ID:???
>>239
onclickと比較してみるとわかると思う。

// リークパターン(1)
var element = document.getElementById('hoge');
element.onclick = function(){
 // elementを参照しつづける
};

// リークパターン(2)
var element = document.getElementById('hoge');
window.setTimeout(function(){
 // elementを参照しつづける
}, 1000);

// リークパターン(3)
var xhr = new ActiveXObject('Msxml2.XMLHTTP.6.0');
xhr.onreadystatechange = function(){
 // xhrを参照しつづける
};

setTimeout(setIntervalも含む)とActiveXObjectは循環参照が形成されやすいから困る…。
241amatinko:2011/04/04(月) 13:19:05.13 ID:???
なんでjavascript使ってるんですか?
厨2病なんですか?

node.jsってjavascriptだとガキくさくて舐められるので
サーバーサイドとかわめいてちゃってるんですか?

javascript(大笑)
242Name_Not_Found:2011/04/04(月) 13:20:09.53 ID:???
241 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん

はい次の質問
243amatinpo:2011/04/04(月) 13:20:57.96 ID:???
なんでjavascript使ってるんですか?
厨2病なんですか?

node.jsってjavascriptだとガキくさくて舐められるので
サーバーサイドとかわめいてちゃってるんですか?

javascript(大笑)
244232:2011/04/04(月) 13:24:33.13 ID:???
>>240
いや、そのどの例でも、クロージャがelementないしはxhrを参照しているけどそれはメモリリークというかな。
それは、そのコールバックが有効であるかぎり、生存し続けなければいけないオブジェクトだよね。

その後、onclickやonreadystatechangeを別の何か(例えばnull)に書き換えたり、setTimeouのコールバックが実行されたりしても、なおelementないしはxhrが生存しつづけるならそれはメモリリークだけど、実際にそうなる?
245232:2011/04/04(月) 13:27:06.00 ID:???
>>244
あ、(1)と(3)の例では参照が循環しているか…
たしかに、循環参照を回収できなければ、メモリリークがおきる可能性があるな。
246Name_Not_Found:2011/04/04(月) 13:34:44.91 ID:???
>>240
(2)の場合もリークするの?
element に function への参照はないから循環はしてないよね
247Name_Not_Found:2011/04/04(月) 13:35:20.98 ID:???
半角英数1000文字を格納した変数のメモリ使用量って1kbでおk?
248Name_Not_Found:2011/04/04(月) 13:35:43.92 ID:???
サーバサイドJSの話題はWebProg板でどうぞ。
こちらはブラウザ上で稼働するクライアント側スクリプトの話題。
他のクライアント側スクリプト言語の話題(そんなのあるの?)は
この板でいいと思うけど別のスレを立ててそれでやってください。
249Name_Not_Found:2011/04/04(月) 13:38:13.01 ID:???
>>247
NO.「String 型は、0 または 16 ビット符号なし整数値("要素")の、すべての有限な序列のある
シーケンスの組である。」だから半角だろうが関係なく1文字2バイトね。
250amatinpo:2011/04/04(月) 13:41:49.38 ID:???
amatinpoでーーーすよろしく
251240:2011/04/04(月) 13:48:01.95 ID:???
「window -> function -> element」で循環すると認識しているけど違うのかな。
http://www.tagindex.com/kakolog/q4bbs/1501/1797.html
http://d.hatena.ne.jp/babu_babu_baboo/20100729#c1280937047 (滅茶苦茶長いので><さんのコメントを中心に読むことを推奨)
252240:2011/04/04(月) 13:50:31.33 ID:???
(1)と(3)はこのあたりを参考に。jquery-15.jsでも回避コードが入ってる。(場所は変化しているかもしれない)
http://msdn.microsoft.com/ja-jp/library/bb250448%28v=vs.85%29.aspx
http://d.hatena.ne.jp/babu_babu_baboo/20100417/1271465430
http://d.hatena.ne.jp/AWAWA/20071207/1197036423
253Name_Not_Found:2011/04/04(月) 13:55:57.91 ID:???
過去にもこのスレが腹立たしいらしく荒らそうとした奴はいたけど、
JavaScriptでWeb製作というニーズはメジャーなので多勢に無勢で
消えていった。せいぜい目立ちすぎてアク禁ならない程度で頑張れば?
2ちゃんらしい煽りでした(笑)。
254Name_Not_Found:2011/04/04(月) 13:59:29.30 ID:???
>>249
ってことは2kbか
255Name_Not_Found:2011/04/04(月) 14:10:55.81 ID:lK8TgFTG
>>221
DOMにプロパティを追加するのって、具体的になにが問題になるんですか?
ライブラリ的なものを作って配布するとき以外に
256Name_Not_Found:2011/04/04(月) 15:44:02.75 ID:???
全部が全部よくないと言ってるわけじゃないよ。jQueryもイベント関連で扱われたDOM要素に
プロパティ(数値)を直接追加して管理してるようだし。
それが関数だと、まぢかのレスにもある循環参照、メモリリークってのが付いて回る。
このことが問題視されてる内は避けた方がいいんじゃないのかね。まぁこれを無視しても
関数をべたべた貼り付けないといけないような設計自体が、まともじゃない気もするのだが。
257Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/04(月) 15:53:19.61 ID:???
こんにちは
258Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/04(月) 15:58:52.06 ID:???
こんにちは
259Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/04(月) 15:59:15.41 ID:???
javascript さようなら
260230:2011/04/04(月) 18:28:11.00 ID:???
230です
回答頼みます。
window.onload=today(); でも
window.onload=today; でも動くのですか
どっちが正しいのですか?
261Name_Not_Found:2011/04/04(月) 18:35:16.21 ID:???
どっちも正しいです
262Name_Not_Found:2011/04/04(月) 18:38:28.08 ID:???
>>255
他のコードで同名プロパティを使用していたら干渉する。
将来的に同名プロパティを規定したら干渉する。
データを要素に関連付ける仕様はDOM3にあった気がする。
263Name_Not_Found:2011/04/04(月) 18:47:18.28 ID:???
>>247,254
小文字はビット、バイトは大文字。
264Name_Not_Found:2011/04/04(月) 19:40:56.34 ID:???
JavaScriptの質問というよりブラウザの質問かもしれませんが、
ローカルストレージに保存されたデータってどうやって確認するんでしょうか?
Cookieの一覧表示みたいな感じと同様に一覧が見れるのでしょうか?
デバッグ用に必要なのでメジャーなブラウザで確認方法を教えてください。
265Name_Not_Found:2011/04/04(月) 19:43:27.68 ID:???
>>262
Node#getUserData, Node#setUserData だな。
http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247
jQuery.data() を使ってもいい。
http://api.jquery.com/jQuery.data/
266Name_Not_Found:2011/04/04(月) 19:46:35.64 ID:???
>>260
window.onload=today; が正しい
267Name_Not_Found:2011/04/04(月) 20:27:44.72 ID:???
>>261
ちょ… いくらなんでも、それはないだろ。

>>260
>>266

>>264
いくつもの意味に解釈できるので、どれを言いたいのか分からん。
もっと具体的に質問してくれ。
268264:2011/04/04(月) 20:33:51.24 ID:???
ブラウザ側にキャッシュされた場合、
ブラウザからキャッシュファイルの一覧が見れますが、
そういうのが見えないかな?と思いました。
JavaScriptから確認するというわけではないです。
ローカルっていうぐらいだから、どっかのフォルダに入ってるのかと思ったのですが、
そういうわけではないのでしょうか?
269Name_Not_Found:2011/04/04(月) 20:56:39.96 ID:???
>>268
ごめん。いよいよもって、何を言いたいのか分からん。

ブラウザのキャッシュの内容を確認したいということ?
「キャッシュの保存場所 ブラウザ」「IE cache viewer」「firefox cache viewer」あたりでググれ
270264:2011/04/04(月) 21:17:12.40 ID:???
すみません説明が下手で。
WebStorageってご存知ですよね?(ローカルストレージ、セッションストレージ)
JavaScriptでブラウザ側に情報を(おそらくバイナリも)保存できるCookieの拡張版みたいなものらしいですが、
それの保存先を知りたいということです。
ブラウザのキャッシュファイルと同じ領域に保存されるということなんでしょうか?
271264:2011/04/04(月) 22:03:05.02 ID:???
>>119-127あたりを見てバイナリも保存できるのかなと思いましたが、
色々調べてるうちにどうも無理っぽいことがわかりました。
画像はbase64で文字列として保存してるというわけですね。
ただのKey-ValueストアでCookieの上位規格には成り得ても、(容量は大量といってもデフォルトで5MB)
ブラウザに巨大な画像ファイルをキャッシュさせるような目的には向いてなさそうです。

というわけで自己解決しました。
272Name_Not_Found:2011/04/04(月) 22:35:22.48 ID:???
すごい簡単かもしれないので質問します
手軽に画像表示させたいのですが毎回URLに入れて確認が面倒なのでボックスに文字入れ簡単に確認したいのですが
いいサンプルが見つからないので質問させてください

<img src="http://avatar.xboxlive.com/avatar/タグ名/avatar-body.png" width="120" height="230" />
この"タグ名"の部分をテキストエリアに入力しURLに置き換えURLの画像変更表示させたいのですが方法を教えてください
文章の場合は document.write を使えばいいとわかりましたが 画像の場合置き換え方法がわかりません
あとテキストボックスの初歩的な設置方法もわからず
ポップアップで代用してます
str = prompt("タグ名を入力してください","ここに入力");
よろしくお願いします
273Name_Not_Found:2011/04/04(月) 22:50:46.37 ID:???
テキストエリアのURLを取得

srcの値を書き換え

こんだけ
274Name_Not_Found:2011/04/04(月) 23:08:23.13 ID:???
>>273
ありがとうございます
理屈はわかってるが知識がないのでお手数ですがサンプルソース書いてくれるとありがたいです
1からかけないのでサンプル探すような手探り知識でテキストエリアの設置もわからないもので・・・
275Name_Not_Found:2011/04/04(月) 23:24:23.98 ID:???
jQuery使えるんだったら、こんな感じ

<img id="avatar_img" src="http://avatar.xboxlive.com/avatar/タグ名/avatar-body.png" width="120" height="230" />

<script type="text/javascript">
$(function() {
var input = prompt("タグ名を入力してください", "ここに入力");
if (input) {
var url = "http://avatar.xboxlive.com/avatar/" + input + "/avatar-body.png";
$("#avatar_img").attr("src", url);
}
});
</script>
276Name_Not_Found:2011/04/04(月) 23:38:42.89 ID:???
>>275
ごめん全然わからない・・・です
参考しているのここでそれもまったくわからないレベルなんで
ttp://www.netdive.jp/javascript.asp

+input+の部分を置き換える形だからそんな感じなんですがうまく動きませんでした
277Name_Not_Found:2011/04/04(月) 23:43:06.11 ID:???
んじゃ、これでどう

<img id="avatar_img" src="http://avatar.xboxlive.com/avatar/タグ名/avatar-body.png" width="120" height="230" />

var input = prompt("タグ名を入力してください", "ここに入力");
if (input) {
 var url = "http://avatar.xboxlive.com/avatar/" + input + "/avatar-body.png";
 document.getElementById("avatar_img").setAttribute("src", url);
}
278Name_Not_Found:2011/04/04(月) 23:45:04.57 ID:???
サンプルもらう以前の問題だと思うんだけどなぁ
279Name_Not_Found:2011/04/04(月) 23:45:21.77 ID:???
そういや、インデントの全角スペースは
半角スペースに直さないと動かないんで、一応注意ね
280Name_Not_Found:2011/04/04(月) 23:45:31.80 ID:???
>>270
Web Storageの話か。

バイナリを保存することはできるみたいだけど
- というかECMA-262の仕様からは文字列はバイナリ列なので、文字列が保存できるならばバイナリが保存できなければおかしい -
その保存したバイナリをStorageから取り出しても、ブラウザにバイナリデータ画像を表示する方法が思いつかない。


>>274
<img id="img" src="test" width="120" height="230" />
<form>
<input id="tag" />
<a href="#" onclick="document.getElementById('img').src = 'http://avatar.xboxlive.com/avatar/' + document.getElementById('tag').value + '/avatar-body.png'">view</a>
</form>
281Name_Not_Found:2011/04/04(月) 23:56:11.11 ID:???
テンプレ変えたからこんなのも紛れてくるわな
282Name_Not_Found:2011/04/05(火) 00:04:00.91 ID:???
>>277
何度もありがとう動作したがやっぱり読み込まない
>>279
確かに無茶質問でした
PC初心者に分厚い本渡すような感覚で知りたい情報がわからずグルグル無限ループだと思う
プログラムとか暗記下手だし5年やっても知識増えないし俺には向かないと思ってる
>>280
ありがとうございますJavaScript使わずシンプルにできるなんて
逆に思いつかなかった

>>281
あほらしいかもしれないがこんなことで2週間頭抱えてたんだ・・・
283Name_Not_Found:2011/04/05(火) 00:04:10.55 ID:???
>>280
dataurl = "data:image/jpeg;charset=US-ASCII," + encodeURI(getAsBinary());
img.setAttribute("src", dataurl);
こんな感じでいけるはず
284Name_Not_Found:2011/04/05(火) 00:32:43.29 ID:???
>>281
そうか、以前よりスレが荒れてるなと思ったが、
テンプレが改悪されてるのが原因か
285Name_Not_Found:2011/04/05(火) 08:05:40.93 ID:???
では、テンプレを元に戻した方がいいのか、そっくり戻す
のではなく削除した何かを部分的に戻すのか(たとえば >>1
旧版の方がよかったとか?)、そのあたり提案お願いします。
286Name_Not_Found:2011/04/05(火) 10:08:06.86 ID:???
自分で調べもせず丸投げの質問もそれに答える奴も春のせいか
287208:2011/04/05(火) 10:10:44.26 ID:???
>>232
すみませんレス遅くなりました。
作って頂いて有難う御座います。
今.color_1でできるような形に変えて見てるので、もう少し時間かかります。
288Name_Not_Found:2011/04/05(火) 11:54:42.58 ID:???
すみません>>186の質問
どうかよろしくお願いします
289Name_Not_Found:2011/04/05(火) 11:54:52.58 ID:???
テンプレよくなったと思うけどな。
とりあえずこのスレ様子見ればいいんじゃね。
290Name_Not_Found:2011/04/05(火) 12:00:00.28 ID:???
ギスギスした空気がなくなったな。回答が活発になった。
291Name_Not_Found:2011/04/05(火) 12:22:18.35 ID:???
>>279
全角スペースを認識しないのはIEだけでECMA仕様上も問題なかったりする。
292Name_Not_Found:2011/04/05(火) 13:23:35.25 ID:???
>>1に「自分で調べない人、書かない人はよそへ行ってください」ということと
あと>>2-4 も見ろということを入れて欲しいです。
293Name_Not_Found:2011/04/05(火) 13:26:12.54 ID:???
>>288
その「重たくなる」最小限のサンプル作ってみてくれない?
自分でやってた限りではtopやleftに入れ続けても重たくならない
ので、どっかにリークパターンを使ってたりしないかと疑っている。
294Name_Not_Found:2011/04/05(火) 13:50:55.39 ID:???
>>2の3は上手く説明できない場合じゃなくて
何かしらのコードがある上で解らない場合はコード必須にすべきだわ・・・
295230:2011/04/05(火) 16:19:05.22 ID:???
このサイトに載ってるストップウォッチを
分かりやすく解説してください
http://www.scollabo.com/banban/java/jvsample_014.html
296Name_Not_Found:2011/04/05(火) 16:38:33.90 ID:???
市ね
297Name_Not_Found:2011/04/05(火) 17:00:04.16 ID:X/nA2EFv
>>295
スタートをクリックすると時計がリセットされボタンがストップに変わりループが始まる
ストップをクリックするとスタート時刻との差分を表示しループが止まる

何がわからないのかを書けよ
質問スレなんだから
298Name_Not_Found:2011/04/05(火) 17:00:48.65 ID:???
>>295
自分でどこそこまで理解したが、〜がわからない、というように説明できるようになってから質問して
299Name_Not_Found:2011/04/05(火) 17:12:29.12 ID:???
>>2は「自分で作成したコードが動かない」という前提があるから、網羅できない質問のパターンがあるんだな…。
>>295のような解説を求める質問者用に文面を考える必要がありそう。
300Name_Not_Found:2011/04/05(火) 18:44:00.16 ID:???
失礼します どうしても悩んでいることがありますのでお願いいたします。

jQueryにてファイルをアップロードするコードを書いているのですがファイルの選択にinputのfileを用いています。
ファイルを選択したら自動的にアップロードされるように
$("#inputのID")..change(function () {処理内容}
というコードを書いたのですがこれをChoromeで実行するとkきちんとファイルを選択すると処理が実行されます。
しかしIE(試したのは6、8です)だとファイルを選択しても何も起きずほかのところを一回クリックしたりすると(フォーカスを外すと?)実行されます。

IEでもファイルを選択すれば即座に処理できるようにはならないでしょうか?
どなたかよろしくお願いいたします。
301Name_Not_Found:2011/04/05(火) 18:47:52.11 ID:???
web制作初心者板でも質問したのですが質問の仕方が悪いのか、あまり回答が得られないので再度こちらで質問させて頂いてます。
複眼RSSを利用させて頂いてるのですが、取得する記事のimg src=""の中にスペースがある場合画像を取得できません。
全ての記事に空白がありこれらを削除したいと思っていて
replaceを使うと削除できると言う話なのですが、画像のURLは全て違うので特定のURLを指定するのでは無く
全てのスペースだけを削除する方法はあるのでしょうか?

302Name_Not_Found:2011/04/05(火) 18:58:10.36 ID:???
正規表現を使え
303Name_Not_Found:2011/04/05(火) 19:00:44.62 ID:???
>>301
RSSの方を直すべきかと
304Name_Not_Found:2011/04/05(火) 19:13:19.89 ID:X/nA2EFv
src = encodeURI(src);

こうじゃないかね
305Name_Not_Found:2011/04/05(火) 19:14:13.17 ID:???
>>300
jQueryのバージョンが古いんじゃね?
http://api.jquery.com/change/
"As of jQuery 1.4, the change event bubbles in Internet Explorer, behaving consistently with the event in other modern browsers."
306Name_Not_Found:2011/04/05(火) 20:01:50.61 ID:???
>>305
1.4.1だったんですが最新の1.5.2にしたら治りました!!こんなに悩んだのにそりゃないよぅ・・・
ありがとうございました!
307Name_Not_Found:2011/04/05(火) 20:36:05.28 ID:???
>>301
前提条件が今ひとつ分からんが、複眼RSSを利用したままでは、たぶん不可能だろう。
複眼RSS類似の機能のscriptを組んだほうが早いし、このスレの趣旨にもあう。

その空白が入っているRSSのuriをよこせ。
308Name_Not_Found:2011/04/05(火) 21:09:09.95 ID:???
回答を頂いた方々ありがとうございます。

>>304
javascriptの経験0なのでイマイチ分からないのですが、
src = encodeURI(src).replace(/src=".+?"/gi, function (a) { return a.replace(/[\s ]+/g, '');
こんな感じで使い方は合ってるのでしょうか?

>>307
人様のブログなので勝手にuriを載せられないのですが、
「えろつべ」さんです。

アダルトで申し訳ないです。
309Name_Not_Found:2011/04/05(火) 22:04:48.22 ID:???
>>308
http://www.ajaxtower.jp/googleajaxfeed/lookupfeed/index2.html

ここのinitializeとdispfeedを次のように置き換えれば、まぁ、近いことができる。
でも、これを思い通りのものにするには、javascriptを勉強せんとな。

function initialize() {
google.feeds.lookupFeed("http://shane01.blog80.fc2.com/?xml", getFeedUrl);
}
function dispfeed(result){
if (!result.error){
var srcs = [];
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var $images = $(entry.content).find('img');
$images.each(function(){
srcs.push(this.src);
});
}
srcs = srcs.slice(0, 3);
console.log(srcs);

var $cont = $('#feed');
$.each(srcs, function(uri){
$cont.append($('<img src="' + this + '" />'));
});

}else{
alert(result.error.code + ":" + result.error.message);
}
}
310Name_Not_Found:2011/04/05(火) 22:09:27.43 ID:X/nA2EFv
>>308
replace以降はいらないと思う。encodeURI()はURLエンコードする関数

例えばhtmlに
<img src="http://foo.com/bar/ero gazo.jpg">

って書かれている場合、リクエストは
http://foo.com/bar/ero%20gazo.jpg

というように、空白がURLエンコードされて「%20」になって投げられる
このへんのことは普通はブラウザが勝手にやってくれてる
ちゃんと見てないけど、その複眼RSSってのはその辺の処理をしてないのではないかと予想

空白を消してしまおうとしているようだけど、実際にsrcに空白が書かれているなら
消してしまったらファイル名が変わってしまうのでアクセス出来ないと思う

目的のためにこんな面倒なことに熱くなれるエロは偉大だなあ
311Name_Not_Found:2011/04/05(火) 22:21:03.59 ID:???
エロを公言してるせいか、回答が良心的だなw

312Name_Not_Found:2011/04/05(火) 22:29:53.92 ID:???
あんまり調子のってるとPerl忍者呼ぶぞ?いいのか?
313312:2011/04/05(火) 22:59:49.35 ID:???
僕なんだけどさ よくRuby,PHP,Python勉強会でいじめられるんだよ
なんていうか、僕ほら 2chばっかりやってるし Ruby、PHP、Pythonできないから
javascriptでもなめられちゃうし 今日もさんざん勉強会でヒソヒソいわれちゃったよ
Ruby厨「なんだよあいつ Perlしかできないじゃん どうする?あいつ」
PHP君「いまごろPerlって(ヒソヒソ) 仲間外れにしようぜ〜! 
Pythonちゃん「いいわよ Perl使いだわ時代遅れだわ いまさらPerlなの・・・」
カエレ!カエレ!カエレ! っと僕に罵声をあびせてきました
会場にいたMatzzさんに相談したんですが・・・
Matzz「あなたPerl使いですかRuby使いの相談しかうけれませんよ(笑)」
メガネが怪しげに光っていました いじめられました
僕は、あまりのショックさに会場のトイレにかけこんで2chを開きました
僕「はぁはぁ・・・苦しい 助けてだれか・・・ |Perl___| (スレッドタイトル)[検索] ポチッ!」
[ perl ]を検索しました(あと0モリタポ) 82スレ中 1〜50スレ目 0.13秒

Emacs,Ruby,PHP,Pythonを使ってるやつらがきもい - UNIX板@2ch(3)
僕「なんだこれは・・・僕と同じ考えをしてる人がいる・・・」

僕はきめました Perl忍者さんというスレッドを立てた人に助けてもらおうとトイレをでました
???「困っているのかい?君は」
僕「誰ですか?」
???「○○忍者です よろしく 話しましょう! 何でもはなせます
プログラミングとかも 」
僕「はい!!一緒にあいつらを倒しましょう!!」
???「あの・・・ だれかいますか?」
僕「はい?どうしたんですか?」
???「なんさい?僕は19歳です 」
僕「12歳です」
???「もういいです」
Ruby,PHP,Pyhon「便所にゴキブリPerl使いがいるぞーー!!!」
314Name_Not_Found:2011/04/05(火) 23:02:32.68 ID:???
315Name_Not_Found:2011/04/06(水) 00:16:07.59 ID:???
jQueryで特定のクラスの個数を教えてくれる、
length(size)があるのですが、
非表示もしくは表示状態(display:noneでない)の個数を
教えてくれるものはないですか?
316Name_Not_Found:2011/04/06(水) 00:35:59.43 ID:???
>>315
lengthは配列の個数を考えてるだけだから、visibleとhiddenで要素を選択すればいい
例えばliだったら$('li:hidden').lengthとか。
317Name_Not_Found:2011/04/06(水) 00:45:46.68 ID:???
Ajaxのスレが機能してないんだけど
このスレで質問していい?
テンプレにAjaxの扱いを追加希望
318Name_Not_Found:2011/04/06(水) 00:55:40.72 ID:???
>>317
どのスレッドのこと?
場合によっては>>1の関連スレに追加する必要ありかと。
319Name_Not_Found:2011/04/06(水) 01:18:40.97 ID:???
>>317
テンプレ追加は具体的な文案がなければ難しいと思うよ。
http://fiddle.jshell.net/vSqKr/21/show/#Q12 では足りない?
320Name_Not_Found:2011/04/06(水) 01:25:09.10 ID:???
5年も前に立てられたが人がいない(機能してない)Ajaxのスレ

くだすれAjax(超初心者用)
http://hibari.2ch.net/test/read.cgi/tech/1132897521/301-400
Ajaxでも語りませんか
http://hibari.2ch.net/test/read.cgi/php/1166751613/801-900

Webアプリケーションがデスクトップアプリケーションに比べ
ちょっとした操作ですら画面遷移があり操作性が悪い
ことを非同期通信で改善したAjaxは学びたい人が多いはず
しかし、書店でのAjaxの書籍はないに等しい状況。
2chですらまともにスレが機能してない。
グーグルマップなどで使わてるのに知名度なさすぎ。
テンプレで扱ってください。
321Name_Not_Found:2011/04/06(水) 01:30:41.30 ID:???
Ajaxと言っても具体的にはJSかサーバサイド言語の話だから
それぞれの該当スレでやればいいんじゃね
322Name_Not_Found:2011/04/06(水) 01:37:43.86 ID:???
jQueryスレを分断するかでもめた問題と似てるな。
jQueryと同じでどちらに質問してもらってもいいけど、回答は任意って形に落ち着くんじゃないかな。
323Name_Not_Found:2011/04/06(水) 02:50:59.24 ID:???
>>316
ありがとう!奥が深い…。
324Name_Not_Found:2011/04/06(水) 02:51:24.23 ID:???
書籍ってそんなに少なかったっけかなぁ・・・
一時期のブームみたいなもんで結構出た気がするんだが
325Name_Not_Found:2011/04/06(水) 03:06:47.21 ID:???
function neet(){
処理
};において
onclick="neet()"はonclick="neet(null)"と同じですか?
326Name_Not_Found:2011/04/06(水) 06:35:58.41 ID:???
違う
327Name_Not_Found:2011/04/06(水) 07:00:54.42 ID:KuwScXA/
>>317,320
アマゾンでAjaxで検索したら545件ヒットしたぞ
Ajaxって言葉が何を指すのかっつーのもアレなんだけど
まあでもXHR自体はそんなに難しいわけじゃないしね

読んだXMLのばらし方や、HTMLの処理の仕方とか、事後処理の方がメインになりそうだけど
やることによってJS全般の話になるから、単独スレを維持できるほどの話題じゃないのかと
わからんことがあったら個別にこのスレで話せばいいんでないかい?
328Name_Not_Found:2011/04/06(水) 08:15:36.23 ID:???
Ajaxの場合、サーバ側の処理はこっちでは扱わないから。
クライアント側での処理はXHRだしここで普通にやってるでしょ。
テンプレに何入れるという話なんだかよくわかんないな。
329Name_Not_Found:2011/04/06(水) 08:28:10.76 ID:???
>>317
ここで質問してはいかんという意見はなかったし、質問するのは問題ないんじゃない?
質問用スレは敷居を高くしても仕方がないし、スレが機能不全に陥るのでなければ、なるべく間口を広くとったほうがよい。
330Name_Not_Found:2011/04/06(水) 09:53:28.40 ID:586ACnDX
var cnt = xxx;
cnt = cnt ? ++cnt : 1;

このコードってどういうことなのでしょうか?
一瞬=じゃなくて==の誤植かなとも思ったのですが、
もしそうでなくても、分かりません。

コメントにはcntが空でない場合インクリメント、
空の場合に1を代入とあります。
331Name_Not_Found:2011/04/06(水) 09:55:25.30 ID:???
コメントの通り
332Name_Not_Found:2011/04/06(水) 10:00:37.15 ID:???
>>330
2行目を書き直すと
if (cnt) {
 cnt = ++cnt;
}
else {
 cnt = 1;
}
「三項演算子」でググれば例がたくさんでてくるので見てみたらいいよ

三項演算子はキーワード知らないとググりようないから定期的に質問が出るな
何かしたらの言語の文法やってる人なら知ってる内容だけど
333Name_Not_Found:2011/04/06(水) 10:02:38.53 ID:???
と思ったけど>>330は三項演算子を知ってる上で
(cnt == cnt) ? ++cnt : 1;
と勘違いしたってことかな?

自分で書く時にはcnt = ++cntってやらずcnt = cnt + 1ってやるから違和感はあった
334Name_Not_Found:2011/04/06(水) 10:35:26.12 ID:???
ttp://www.bitem.jp/
で検索フォームに入力するとキーワードが出てくるのですが
これはどのような技術でできるのでしょうか?
335Name_Not_Found:2011/04/06(水) 10:42:28.43 ID:???
一般的にはインクリメンタルサーチっていう
そのサイトのソース見るならsuggestってクラスになってる
336Name_Not_Found:2011/04/06(水) 11:10:53.42 ID:4o+XyLMb
インクリメンタルサーチって
入力した端から検索実行していくって仕組みのことじゃないん?
入力した端から検索候補が出てくるのをサジェストって言うのはそうだと思う
337Name_Not_Found:2011/04/06(水) 11:22:25.00 ID:???
これjavascriptじゃ無理だろ
サーバがjavaで動いててローカルプログラムで検索候補を出してるんだと思う
338Name_Not_Found:2011/04/06(水) 11:24:05.11 ID:???
検索候補をJSON化しておけばJSだけでも可能だと思う。
339Name_Not_Found:2011/04/06(水) 11:38:02.58 ID:???
Ajax
340Name_Not_Found:2011/04/06(水) 11:46:40.89 ID:???
>>309
コードまで書いて頂いて本当にありがとうございます。
頭がいい方では無いので、勉強するとなるとかなりの時間がかかりそうですね。
頂いたコードを元になんとかやってみます。

>>310
回答ありがとうございます。
uriの両端に空白がある場合は
src=" http://blogimg/ero.jpg "
src="%20http://blogimg/ero.jpg%20"
になると言う事でしょうか?
この状態から、さらに%20を取り除く処理をしたらどうなるのでしょうか?

ただ>>307さんが仰る通り複眼を使っているままでは出来ないみたいです。
341Name_Not_Found:2011/04/06(水) 11:49:20.14 ID:???
教えて君は調べる努力をしましたか?
342Name_Not_Found:2011/04/06(水) 12:30:32.73 ID:???
>>293
これを実行すると急速に位置更新にかかる時間が増えていきます
もし処理に余裕が有りすぎる場合は矩形の個数を増やして試してみてください
<html><head><script>
onload=function (){var dl=1000//矩形の個数
var D=[];for(var i=0;i<dl;i++){document.body.appendChild(D[i]=document.createElement("div"))}
var OP=document.getElementById("OP");var bw=document.body.clientWidth-12;var bh=document.body.clientHeight-12
var F=function (){
var V=[];for(var i=0;i<dl;i++){V[i]="left:"+Math.floor(Math.random()*bw)+"px;top:"+Math.floor(Math.random()*bh)+"px;"}
var T=(new Date()).getTime()
for(i=0;i<dl;i++){D[i].setAttribute("style",V[i])}
OP.innerText=((new Date()).getTime()-T)+"[ms]"
setTimeout(F,100)}
F()}
</script><style>
div{position:fixed;width:10px;height:10px;background-color:red;border:2px solid blue;}
div#OP{left:0px;top:0px;z-index:1000;background-color:white;width:auto;height:auto;}
</style>
</head><body><div id='OP'>Wait...</div></body></html>
343Name_Not_Found:2011/04/06(水) 12:45:03.80 ID:4o+XyLMb
>>340
>uriの両端に空白がある場合

ああ、それは別扱いだなあ
超大雑把にかくと、こんな感じで削れるかと

src.replace(/^¥s*|¥s*$/g,"")
344Name_Not_Found:2011/04/06(水) 13:29:04.09 ID:???
>>342
再現しない…だけど、var Vとvar Tの宣言をvar Fより上に移して
みたらどうかな。
345Name_Not_Found:2011/04/06(水) 13:31:55.87 ID:???
>>343
いいかげん複眼RSSっていうのがどういうものか確認してから云々しろよ。
これはウェブアプリケーションで、サーバー側(おそらくPHP)でRSSを処理してから、クライアントに転送している。
そのサーバー側の処理であるURIの画像が取りこぼされているわけ。
だから、複眼RSSを使っているかぎりクライアント側ではどうしようもない。
346Name_Not_Found:2011/04/06(水) 13:35:44.98 ID:???
>>344
Net Front 3.4で確認した?
オレのIE 8やChromeでも再現しなかったが、質問者は最初からブラウザを指定している。

質問者には悪いが、Net Front固有問題かもしれないし、もしかしたらデバイス依存かもしれないから、そうそうポイントをついた解答がでるとは思えない。
また、これは邪推だが、業務上のトラブルのようにも見えるので、もしそうならあまり感心しない。
347Name_Not_Found:2011/04/06(水) 13:51:14.19 ID:???
net frontなんて業務以外で確認する奴いねえから仕事だな
348Name_Not_Found:2011/04/06(水) 14:03:16.08 ID:586ACnDX
>>333
はい、三項演算子は見たことはあったのですが、
論理式?(真の場合の処理):(偽の場合の処理)
と理解していたので、最初のctn=ctnが論理式じゃないので
単純にctn==ctnの書き違いかなって思ってしまいました。
で、それだとしても意味不明だなと。
なぜ、>>332のような意味になるのでしょうか?(>>332なら理解出来ます。)
>>332ならctn?++ctn:1となるのかなぁって思ったんですが・・・。
349Name_Not_Found:2011/04/06(水) 14:11:56.16 ID:???
cnt = cnt ? ++cnt : 1;
cnt = (cnt ? ++cnt : 1);

こうすると分かりやすいかな
cnt = cnt !== 0 ? ++cnt : 1;
350Name_Not_Found:2011/04/06(水) 14:29:51.00 ID:???
>>348
変数一つで、「ctn」という式なんだよ。「++ctn」も式、「1」も式。
そして、三項演算子を使った「ctn ? ++ctn : 1」もまた式だから値を返す。

例えば、「var x = true ? 'a' : 'b';」なら、xには'a'が入る。
例えば、「var y = false ? 0 : 1;」なら、yには1が入る。
例えば、「var hoge = 100: var z = hoge ? --hoge : ++hoge;」なら、zには99が入る。
351Name_Not_Found:2011/04/06(水) 14:50:25.36 ID:???
代入は式の右から評価される
cnt = cnt ? ++cnt : 1;
の場合は
cnt ? ++cnt : 1;
の結果が
左辺のcntに入る

なので>348でctn=ctnを理論式としないで
cnt = (cnt ? ++cnt : 1; )
と解釈してみて

ただのcntが理論式なのはcntが定義されているかどうか、
もしくは代入された値が(undefinedとかnullとかfalse)かどうかを理論値で評価していると言う意味
352Name_Not_Found:2011/04/06(水) 14:52:49.08 ID:586ACnDX
>>349
ああ、なるほど。やっと分かりました。
どうしてもcnt=cntをセットで考えてました。
ありがとうございました。
353Name_Not_Found:2011/04/06(水) 14:55:25.07 ID:586ACnDX
>>351
そうですね。演算の優先順位なんて表で見てると分かっていると感じでしたが、
実際こういうのに出くわしたときに判断出来ないのでは意味がないですね。
括弧をつけてくれたらもうそれだけで分かるのですが。
354Name_Not_Found:2011/04/06(水) 15:26:41.52 ID:???
asp.netでTreeViewを使用しているのですが、
これが吐いているHTMLに対してDOMで操作したいんです。

なぜか普通にgetElementsByTagName等で、吐かれている要素にアクセスしようとすると、
nullで取得できないのです。タグ名ミスではありません。

そこで試したのは、吐かれているツリーのイベントからthis.parentNode.parentNode。。。で
一番上のノードまで辿ると、このドキュメントのbody、headとは別の要素の
body、headがあり、headの親ノードのnodeNameは"#document-fragment"
となっていて、その上のparentNodeはnullになっていました。
普通は、"#document-fragment"のノードの部分はHTML要素のはずですよね。

"#document-fragment"とは何者でしょうか。ここにアクセスするには
どうしたら良いのでしょうか。

ブラウザはIE8です。
355Name_Not_Found:2011/04/06(水) 15:36:58.78 ID:???
cntが途中でctnになってるぞ。
countの略だ。
356Name_Not_Found:2011/04/06(水) 18:18:03.77 ID:4o+XyLMb
>>354
おまえんちはグーグル先生にはぶられてんのか?
http://members.jcom.home.ne.jp/jintrick/Personal/documentFragment.html
357Name_Not_Found:2011/04/06(水) 18:58:27.49 ID:???
358Name_Not_Found:2011/04/06(水) 19:05:26.94 ID:???
auのT004という機種を使っているんですが
某サイトのコピペで

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
// 一定時間経過後に指定ページにジャンプする
mnt = 5; // 何秒後に移動するか?
url = "○○○"; // 移動するアドレス
function jumpPage() {
location.href = url;
}
setTimeout("jumpPage()",mnt*1000)
//-->
</SCRIPT>
</HEAD>

ということがしたくて試したところ、PCでは動作しますが、携帯では動作しませんでした
原因はなんでしょうか?auはjavaが動作しないのでしょうか?
359Name_Not_Found:2011/04/06(水) 19:15:42.89 ID:???
>>356
それとはなにか違うような気がします。

読んでみたところ、DocumentFragmentオブジェクトを作成し、
その中で作成したいDOMツリーを編集、構築し、
追加したいelementにDocumentFragmentをappendChildする。。
というようなもののようです。高速にDOMを弄れる?的な。
DocumentFragment自体は追加されないようです。

treeviewは、この手法を取っているのかもしれませんが、
window.document以下に、該当する要素が存在しないというのが
今回の問題点です。例えば、treeviewは<A>タグを吐いているのは、
parentNodeで辿っている際に確認しましたが、
document.getElementsByTagName("A")で0件となります。
360Name_Not_Found:2011/04/06(水) 19:35:46.91 ID:???
JavaScriptで文字列を圧縮・解凍するAPIはありませんか?
WebStorageに圧縮したデータを入れたいです
361Name_Not_Found:2011/04/06(水) 19:44:28.07 ID:???
deflate jsとかでググれば出るだろう
362Name_Not_Found:2011/04/06(水) 19:44:36.48 ID:???
363Name_Not_Found:2011/04/06(水) 19:47:44.54 ID:???
>>359
document.…だとdocumentにある要素しか取得されない
fragment = document.createDocumentFragment();
fragment.getElement…
でいい
364360:2011/04/06(水) 19:49:43.26 ID:???
>>361-362
どうもありがとうございます
早速検証してみます
365Name_Not_Found:2011/04/06(水) 20:37:50.34 ID:???
JQueryのjquery-1.5.2.min.jsのファイルって、サイトでは29KBと書かれてるけど
保存すると80KBくらいになる。やり方が悪いのかな?
366Name_Not_Found:2011/04/06(水) 20:41:12.03 ID:???
29KBはgzip圧縮転送した場合
367208:2011/04/06(水) 20:59:18.48 ID:PTWJP2tn
>>232
遅くなりました。いちおうできました。
http://p.tl/BdoB

理解してるのかしてないのか・・・不安ですが。変えてる内に多少ぐちゃぐちゃなコードになってしまいましたが。
-----
var fn = {
color: [
func.........., func.........., func..........
]
}
-----

-----
function Fn() {
this.color_0_ = func..........
thsi.color_1_ = func..........
}
-----
と変え、Element.prototype = new Fn();としました。

コンストラクタ関数とnew演算子の使い方など、理解も曖昧だったので大変勉強になりました。
有難う御座います。
368Name_Not_Found:2011/04/06(水) 21:16:32.14 ID:???
>>358
これ↓使えばauでもjavasriptが動くみたいだが、正規のユーザーなんだからカスタマーサポートに電話して聞くのが簡単かつ確実じゃない?
http://www.au.kddi.com/service/kino/pc_site_viewer/index.html

カスタマーサポートのお姉さん、あんちゃんに気後れしているようでは立派な社会人になれないよ。
369354:2011/04/06(水) 21:42:09.75 ID:???
>>363
これは名前からしてDocumentFragmentを新規に作成する関数な気がするのですが・・
実際のソースでやってみましたが、fragment.getElement〜は取得できませんでしたし、
fragment.childNodesはnullでした。


これを使ってdocumentから取得できるのかを試しにやってみましたが、
dfのnodeNameは"#document-fragment"となっていたので
これを使って作成していることは間違いないようですが、
やってみた限り、documentからも以下のコードでは参照できました。

var df = document.createDocumentFragment();
var span = document.createElement("span");
span.appendChild(document.createTextNode("test"));
df.appendChild(span);
document.body.appendChild(df);
alert("span要素は"+document.getElementsByTagName("span").length+"件です。");
370Name_Not_Found:2011/04/06(水) 22:01:02.61 ID:???
371Name_Not_Found:2011/04/06(水) 22:07:30.29 ID:???
document-fragment ・・・
もしかしてですが HTC とか使ってます?
372354:2011/04/06(水) 22:11:25.08 ID:???
>>371
デバッガで見てみたら、treeview.htcというのが勝手に読み込まれていました。
使っているようです。
373Name_Not_Found:2011/04/06(水) 22:41:48.20 ID:???
>>354
そのうまく動かないページのモックアップを公開して、uriを示せる?
そっちのほうが多くのひとが検討してくれると思うんだけど。
374Name_Not_Found:2011/04/06(水) 22:49:35.66 ID:???
>>372
このあたりか?
http://msdn.microsoft.com/ja-jp/library/ee823453%28v=cs.10%29.aspx
TreeView HTC は W3C DOM とは似て非なるものと思ったほうがいいと思う。IE しか使えないしね。
375Name_Not_Found:2011/04/06(水) 22:52:26.80 ID:???
TreeView に関してはこっちにもまとまってるな
http://msdn.microsoft.com/ja-jp/library/ee825581%28v=CS.10%29.aspx
376Name_Not_Found:2011/04/06(水) 23:06:12.03 ID:???
>>373
このtreeviewはasp.netのサーバコントロールなので、
そうなるとIISが動かないとなのでちょっと難しいです。

>>374-375
ありがとうございます。参考にします。


純粋なJSから外れてきたので、あとは自力でどうにかしようと思います。
ありがとうございました。お騒がせしました。
377Name_Not_Found:2011/04/07(木) 00:31:24.69 ID:???
>>372
昔ちょっとHTCいじって遊んだだけなんでうろ覚えなんですが、
HTCによるカスタムエレメントは、設定によっては
それぞれ独立したdocumentツリー(document-fragment)を持っていて、
通常は外部からその内容にアクセスする事は(HTC側で用意している場合を除き)
できない仕組みだったような気がします
378Name_Not_Found:2011/04/07(木) 00:38:58.12 ID:???
>>377
なるほど…。カプセル化という観点から変なことはさせないというのは正しいかもですが、
困った独自拡張ですね・・・
379Name_Not_Found:2011/04/07(木) 01:05:20.30 ID:???
>>354
> "#document-fragment"とは何者でしょうか。ここにアクセスするにはどうしたら良いのでしょうか。
#document-fragment から getElementsByTagName は使えないのかな。
ownerDocument で #document-fragment を参照できない?
380Name_Not_Found:2011/04/07(木) 06:07:39.55 ID:???
>>346,347
個人的なものです
NetFront3.4はdocomoやSoftBankのフィーチャーフォンで搭載されています
これらではCanvasが使えないので一部のゲームを作ろうとしたときにあのような方法を取るしかないのです
残念ですがどうもNetFrontの仕様のような感じなんですね
しかし、他のブラウザでは大丈夫だということは次期バージョンでは解決されるかもしれないのでそれに期待しておきます
どうもありがとうございました

(できればNetFront4.1で確認して貰いたいです)
381Name_Not_Found:2011/04/07(木) 11:54:54.83 ID:???
>>379
document.ownerDocumentはnullでした。
DocumentFragmentノードのownerDocumentは、上記のdocumentが入っていたので、
document配下にDocumentFragmentノードが居ることは間違いないようなんですが。

DocumentFragmentノードはnodeTypeが11のようなので、document.body以下から
再帰で全ノードのnodeTypeを調べましたが、nodeType=11はありませんでした。
結論として、やはり参照できないようです。
382Name_Not_Found:2011/04/07(木) 12:51:57.62 ID:???
嘘乙!!!!!!!
383Name_Not_Found:2011/04/07(木) 13:01:55.04 ID:???
>>381
ownerDocumentについて調べた方がいい。
http://www.y-adagio.com/public/standards/tr_dom2_core/core.html#node-ownerDoc
https://developer.mozilla.org/ja/DOM/element.ownerDocument

> document.body以下から 再帰で全ノードのnodeTypeを調べましたが
「#document-fragment から getElementsByTagName は使えないのかな」といわれているのに何でdocumentから走査するかな…。
384Name_Not_Found:2011/04/07(木) 13:04:38.21 ID:VWy5iwP6
javascriptでphpのsleepみたいなのってどうやるのでしょうか?
sleep(1000)のように関数を作って1秒待機みたいにしたいのですがjavascriptじゃ無理ですよね?
phpで時間を出力して、それをajaxで取得して1秒たつまでwhileで無限ループする方法ぐらいしかないですかね
385Name_Not_Found:2011/04/07(木) 13:10:28.74 ID:???
>>384
> javascriptでphpのsleepみたいなのってどうやるのでしょうか?
できてもやるな。
386Name_Not_Found:2011/04/07(木) 13:11:28.86 ID:VWy5iwP6
なぜ?
387Name_Not_Found:2011/04/07(木) 13:18:23.26 ID:???
>>386
1. マルチスレッドがない。
2. 画面が反応しなくなって、ユーザーが戸惑う。
3. 場合によってはブラウザがエラーか警告のようなメッセージを出す。
4. もっとよい方法がある。
5. 愚かしく醜い。
388Name_Not_Found:2011/04/07(木) 13:21:43.31 ID:???
sleepはsetTimeout()すりゃいいだけ
389Name_Not_Found:2011/04/07(木) 13:47:35.91 ID:???
なるほどsetTImeout()で実装してみます
390Name_Not_Found:2011/04/07(木) 13:51:54.71 ID:???
>>383
一番最初の書き込みを良く読んでいれば分かることですが、
要は、そのDocumentFragmentを取得する方法を聞いていたんですが…

>>354が最初の質問ですが、ここでDocumentFragmentを参照できているのは、
treeviewのイベントの中でのみです。必ず1度はクリック等をしないと、
treeview内の内容のチェックなりができない みたいな仕様はありえないですよね。
例えば、treeview外のボタン押下時になんらかの処理をする…と考えると。

当然、DocumentFragmentさえ取得できてしまえば、getElement〜等は使えます。
391Name_Not_Found:2011/04/07(木) 15:20:56.56 ID:???
便利なjqueryプラグインを5つ以上おしえて
392Name_Not_Found:2011/04/07(木) 15:24:58.60 ID:???
393Name_Not_Found:2011/04/07(木) 15:33:55.58 ID:???
ランキングあったのかっ!オラ知らなかったぞ!
394Name_Not_Found:2011/04/07(木) 17:15:55.90 ID:kIdBbHmX
androidのchrome liteでwindow.innerWidth/innerHeightって正常にとれますか?
拡大/縮小に関わらず常にhtmlのサイズが取れるんですが、
何か解決方法があれば教えてください。
395Name_Not_Found:2011/04/08(金) 11:04:13.46 ID:UnG9sy8x
例えば、<span id=s>文字(数値)</span>
この文字を取得する場合どうすればいいのでしょうか?
document.getElementById('s').…???;
396Name_Not_Found:2011/04/08(金) 11:13:29.90 ID:Ul/RBSR7
20110324を2011月3月24日にして表示する方法を伝授してください
397Name_Not_Found:2011/04/08(金) 11:27:40.35 ID:???
>>395
document.getElementById('s').firstChild.nodeValue か
document.getElementById('s').innerHTML のどっちでも行けると思う。
398Name_Not_Found:2011/04/08(金) 11:45:20.86 ID:???
>>396
function f(s){return Number(s.slice(0,4)) + '年' + Number(s.slice(4,6)) + '月' + Number(s.slice(6,8)) + '日'}
399Name_Not_Found:2011/04/08(金) 11:49:03.93 ID:???
先頭がゼロなのに対処しなくてイイの?
400Name_Not_Found:2011/04/08(金) 11:55:13.80 ID:???
slice使うのが遅そう
401Name_Not_Found:2011/04/08(金) 11:58:35.35 ID:???
javascript:alert(100%60);で何も表示されません
javascript:alert(100/60);だと表示されます
javascriptでは%で余りは出せないのでしょうか?
402Name_Not_Found:2011/04/08(金) 11:59:27.33 ID:???
細かいこと間がなくていいなら自分は正規表現でやってしまうわ
d.toString().replace(/^(\d{4})(\d{2})(\d{2})$/, function(match, y, m, d){
return y + '年' + m + '月' + d + '日';
})
403Name_Not_Found:2011/04/08(金) 12:03:27.45 ID:???
>>401
アドレスバーに入力したんでしょ?%を参照だと思っただけじゃね?
javascript: alert(100%2560)
で実行してみて
404Name_Not_Found:2011/04/08(金) 12:06:57.94 ID:???
javascript:t=20110324;alert(t%100);ってうったんですがだめでした
405Name_Not_Found:2011/04/08(金) 12:18:43.93 ID:???
javascript:alert(100 % 60);
406Name_Not_Found:2011/04/08(金) 12:18:54.38 ID:???
>>404
君は人の話をきいたほうが良いと思うんだ。

ためしに「javascript:alert('100%60');」とやってみろ。
「100`」と表示されたダイアログがでるだろ?

これは、アドレスバーでは「%60」がURIエンコード文字だと解釈されていることを示している(「`」のASCIIコードは0x60)。
逆にいえば、アドレスバーで「%」を認識させるためには「%25」としなければならない。

結論>>403
407Name_Not_Found:2011/04/08(金) 12:19:38.78 ID:mSGqger9
>>404
URLエンコードでググれって
javascript:t=20110324;alert(t%25100);
が正解

%25が「%」
408406:2011/04/08(金) 12:19:53.54 ID:???
オレが悪かった。>>405が賢かった。すまん。
409Name_Not_Found:2011/04/08(金) 12:25:21.51 ID:mSGqger9
>>405
ぎゃふん
410Name_Not_Found:2011/04/08(金) 13:02:14.26 ID:???
ありがとうございます
空白と%25は勉強になりました
411Name_Not_Found:2011/04/08(金) 13:04:48.74 ID:???
>>401
こうがいいな
javascript:t=20110324;y=parseInt(t/10000);m=parseInt(t/100) % 10;d=t % 100;alert(y+'年'+m+'月'+d+'日');
412Name_Not_Found:2011/04/08(金) 13:15:58.08 ID:???
10-12月は?
413Name_Not_Found:2011/04/08(金) 13:17:12.02 ID:???
え、2つの質問繋がってたのか
414411:2011/04/08(金) 13:18:39.52 ID:???
>>412
問題ない
415Name_Not_Found:2011/04/08(金) 13:21:10.62 ID:???
どこが問題ないんだよw
そんな書き方するぐらいなら変数に入れる必要すらないな
416Name_Not_Found:2011/04/08(金) 13:24:18.14 ID:???
javascript:t=20110324;alert(parseInt(t/10000)+'年'+parseInt(t/100) % 10+'月'+t % 100+'日');
417Name_Not_Found:2011/04/08(金) 13:25:59.01 ID:???
質問混ざってるw
10-12大問題だろw
418Name_Not_Found:2011/04/08(金) 13:31:27.28 ID:???
エラーコンソールしか見ない人なんでしょ。
419Name_Not_Found:2011/04/08(金) 13:34:08.49 ID:???
parseInt(t/100) % 10
じゃなくて
parseInt(t/100) % 100
じゃないの?
420Name_Not_Found:2011/04/08(金) 14:12:15.33 ID:???
function f (time) {
 var day = time % 100;
 var month = (time % 10000 - day) / 100;
 var year = (time - time % 10000) / 10000;
 return year + '年' + month + '月' + day + '日';
}
f(20111010);
421Name_Not_Found:2011/04/08(金) 14:27:31.85 ID:???
parseIntなんかを第2引数を省略して教えると、8進数のバグとかやらかしそうw
この例では問題ないけど。
422Name_Not_Found:2011/04/08(金) 14:29:46.21 ID:???
parseIntは必ず第2引数を入れるようにしてるなぁ。警告出してもらいたいくらい。
423Name_Not_Found:2011/04/08(金) 14:59:22.39 ID:???
8進数って誰得なわけ
424Name_Not_Found:2011/04/08(金) 15:01:53.43 ID:???
parseIntを整数化に使ったりするから間違いを起こすねん
425Name_Not_Found:2011/04/08(金) 15:05:35.06 ID:???
>>423
タコ
426Name_Not_Found:2011/04/08(金) 15:50:22.10 ID:???
NHKという神聖な領域にまだこの人のページがあるってどういうことですか?100文字以内にまとめなさい
ttp://www.nhk.or.jp/digista/curator/osanai.html
427Name_Not_Found:2011/04/08(金) 17:18:27.06 ID:???
>>426
JavaScriptとどんな関係がありますか?100文字以内にまとめなさい。
428Name_Not_Found:2011/04/08(金) 17:23:34.65 ID:???
>>427
Naoシフトも知らない若造ですね?
429Name_Not_Found:2011/04/08(金) 17:51:27.73 ID:???
何の人か思い出せなかったがそれか
430Name_Not_Found:2011/04/08(金) 18:07:12.32 ID:mSGqger9
>>428
なつかしいなおいw
431Name_Not_Found:2011/04/08(金) 18:33:57.16 ID:???
そんな祭あったんだねw
432Name_Not_Found:2011/04/08(金) 20:42:01.76 ID:???
Data URI Schemeからイメージを作成したいのですが、
IE8で確認したところポインタが無効ですとかいうエラーが出てしまいます。
どうしたらいいのでしょうか?

function changeImage() {
var foo = document.getElementById("foo");
var after = "data:image/png;base64,略";
var obj = new Image();
obj.src = after;
obj.onload = function() {
foo.src = obj.src;
}
}

<img id="foo" src="before.png" onclick="changeImage()">
433Name_Not_Found:2011/04/08(金) 21:46:10.34 ID:???
IE8で試したけどそのコードでフツーに表示される。もう画像ファイル使えってことじゃ!
IE7だったってオチは・・似てるし。
434Name_Not_Found:2011/04/08(金) 21:57:14.44 ID:???
jQueryやprototype.jsのスライドエフェクトで、
例えばスライドアップというエフェクトがあり、
エフェクトの高さを操作しある要素を消すといった場合に、
エフェクトが終了してから一瞬元の大きさに戻り、消える、という現象が起こります。
この原因は何故なのでしょうか?
435Name_Not_Found:2011/04/08(金) 21:59:06.21 ID:???
png だからね。サイズが大きすぎるんじゃ?
436Name_Not_Found:2011/04/08(金) 22:04:45.24 ID:???
>>434
コードとブラウザ。
437Name_Not_Found:2011/04/08(金) 22:18:26.76 ID:NjltqHd+
指定した座標にある要素を取得するにはどうすればいんだろう?
全部の要素の表示領域を走査するのは重くなるし。。
438Name_Not_Found:2011/04/08(金) 22:21:56.04 ID:NjltqHd+
elementFromPointがあるんだな。すんまそーん。
https://developer.mozilla.org/en/DOM/document.elementFromPoint
439Name_Not_Found:2011/04/08(金) 22:30:40.21 ID:???
それかbodyにリスナ追加して、event.targetとか。
440Name_Not_Found:2011/04/09(土) 00:32:40.66 ID:???
いま流行りのトレンドはこれか?http://goo.gl/cDXq1
441432:2011/04/09(土) 02:58:21.31 ID:???
>>433 >>435
レスありがとうございます。
>>435さんのおっしゃる通りサイズの小さい物で試したらエラーはでませんでした。
IEではサイズ制限のようなものがあるのでしょうか?
参考になるドキュメントや何か回避する方法があれば教えていただけませんか?
442432:2011/04/09(土) 05:57:44.29 ID:???
ブラウザの種類を増やして、サイズ変えたり書き方変えたりして調べたところ、
全てのケースで期待通りだったのがFirefoxで、
Chromeは大きすぎるイメージではどうも無理っぽく、
Operaは20kb程度でも、適当なところで改行して文字列を繋げてやらないと無理っぽく、
IEでは少しサイズが大きくなるだけで(20kb)無理なようでした。
どうしてもImageオブジェクトを作成する必要があるのですが、
大きな画像(といってもせいぜい100kbで640*480以下)のData URI Schemeから、
どのブラウザでもImageオブジェクトを生成する方法はありませんでしょうか?
443Name_Not_Found:2011/04/09(土) 06:44:08.67 ID:???
>>442
dataURIって小さい画像向けに開発されたものだから、大きな画像は諦めるしかない。
http://msdn.microsoft.com/en-us/library/cc848897%28VS.85%29.aspx
> Data URIs cannot be larger than 32,768 characters.

Imageオブジェクトを作る理由ってなんだ?
444432:2011/04/09(土) 07:15:10.33 ID:???
>>443
どうもありがとうございます。
その説明だと30kbぐらいなら平気そうですね。
20kbでだめだったのはなぜなんだろう・・・

>Imageオブジェクトを作る理由ってなんだ?
引数にImageオブジェクトを渡すルーチンを使用したいからです。
具体的にはCanvasのdrawImageメソッドです。
445432:2011/04/09(土) 07:16:56.86 ID:???
すみません訂正です。
>その説明だと30kbぐらいなら平気そうですね。
base64は元のサイズの30%ほど増しとのことなので、
もっと少ないですね。
それでも20kbは下回りませんが。
446Name_Not_Found:2011/04/09(土) 09:11:47.12 ID:???
>>440
「流行りのトレンド」って…。
447Name_Not_Found:2011/04/09(土) 09:22:24.14 ID:???
>>444
var img = new Image(); img.src = URL;
とか、隠しフレームなどに画像を読んでgetElemntById()などで
Imageを取り出すとかでは駄目なの?
448Name_Not_Found:2011/04/09(土) 09:25:01.38 ID:dRIzeTjK
要素の画面上の座標を取得するにはどうすればいいですか?(ドキュメント座標ではありません)
event.clientX/clientY みたいなプロパティです。
449432:2011/04/09(土) 10:03:17.18 ID:???
>>447
杞憂だとは思うのですが、ゲームを作っていて画像をかなり使う予定です。
全体の容量としてはそんなに多くはないのですが、数が多いため、
新しいセッションでまた始める場合、
再読込の必要がある可能性もあるので、サーバの負荷を心配しています。
画像はブラウザが勝手にキャッシュしてくれるとは思うのですが、
コントロールができないので、いまいち信頼できなくて、
Data URI Scheme形式ならクライアント側にJavaScriptで任意に保持取り出しもできるので、
画像ではなくData URI Schemeを使おうかなと思った次第です。
心配するほどアクセスがあるわけではないですが、
万が一許容負荷や転送量を超えてサーバを停止されても困るので、予防措置といったところです。
450Name_Not_Found:2011/04/09(土) 10:17:06.55 ID:???
>>449
GIF自体、フォーマットによってかなりサイズが変わるから、GIFのフォーマットを研究してみるのはどう?
451Name_Not_Found:2011/04/09(土) 10:24:55.50 ID:???
>>449
これ使えよ!転送量の問題は解決できるぞ。
http://csssprites.org/
googleの検索画面なんかも同じような手法で再現されてる。
http://www.google.co.jp/images/srpr/nav_logo39.png
452432:2011/04/09(土) 10:34:23.08 ID:???
>>450
アドバイスありがとうございます。
GIFは全然考えてませんでしたが、いじってみたいと思います。

>>451
ありがとうございます。
初期のリクエスト数を減らすためにすでに考慮しています。
関連性がないものまで統合してしまうと管理が大変なので、
どうしても多くなってしまいがちです。
453Name_Not_Found:2011/04/09(土) 10:44:08.49 ID:???
初心者スレから誘導されました。

jqueryのoembed pluginを使ってみたのですが、youtubeで展開されるURLとされないURLがあります。
例えば下記なんですが、なぜだかわかる方いますか?
http://www.youtube.com/watch?v=Lwwj3tvTuhY

最新のjquery.oembed.1.1.0.zipを利用しても同じ結果でした。
454Name_Not_Found:2011/04/09(土) 10:52:02.17 ID:???
利用しているjqueryのバージョンと動作確認したブラウザとバージョンを書く癖をつけましょう
455450:2011/04/09(土) 12:01:32.44 ID:???
>>452
ごめん。マジごめん。
PNGとGIFをいい間違えた。二回も!!

疲れているらしい。
でも、GIFを試してみるのも良いと思う。
456432:2011/04/09(土) 12:56:21.01 ID:???
みなさん色々アドバイスありがとうございました。
色々いじってたところ解決しました。
画像データをbase64encodeして、
JavaScriptの変数に入れ直した物をファイルで吐くようなプログラムをPHPで書いてたのですが、
その部分の改行コードがLFになってて、
改行コードをCR+LFで統一したら解決しました。
IEでも20kbのファイルで正常に表示されました。
さすがに200kbはだめでしたが、エラーはでなくなりました。
細かい画像だけData URIでキャッシュして、大きい画像だけとってくるようにしたいと思います。
しかし改行コードが混ざるだけで、こんなエラーが出るとは知らなかったです。
457Name_Not_Found:2011/04/09(土) 13:00:26.12 ID:???
>>456
改行は取り除くのがいいと思うよ。
458Name_Not_Found:2011/04/09(土) 14:54:18.58 ID:???
>>455
この類のイージーミスは、オナヌーのやり過ぎ。
これ、豆知識。
459Name_Not_Found:2011/04/09(土) 17:01:45.45 ID:???
2つの画像を交互に表示
var flag=false; function disp()
{setTimeout("disp()",5000);
var obj=document.getElementById("boy");
if (flag){obj.src="boy2.gif";}
else {obj.src="boy1.gif"; }
flag=!flag; }
window.onload=disp;
でvar flag=false;をflag=!flag;で反転させる系のプログラムは
最初にflag=trueまたはflag=falseにするのは何か基準があるのですか?
460459:2011/04/09(土) 17:04:52.61 ID:???
最初にflagにtrueかfalseを代入するときどっちでもいいと
思うのですが、trueからとかfalseからなどの決まりはあるのですか?
461Name_Not_Found:2011/04/09(土) 17:19:23.13 ID:???
>>459-460
決まりはないし、flagを使わなくてもいい。制作者の自由。
462Name_Not_Found:2011/04/09(土) 17:25:11.43 ID:???
> document.getElementById("boy");

ガチムチ系のにほひ…
463Name_Not_Found:2011/04/09(土) 18:22:07.16 ID:???
Ajaxについて教えてください。
下記サイトのonreadystatechangeのfunctionに引数を渡したいのですが
どう書けばいいでしょうか?
現在はグローバル変数を定義してそちらを使うようにしてるんですが
ダサくて。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060530/239467/
464Name_Not_Found:2011/04/09(土) 19:06:12.78 ID:???
>>463
そのページでいえば send() の引数を利用するのがいいんじゃないかな。
465Name_Not_Found:2011/04/09(土) 19:15:01.78 ID:???
onreadystatechange = function() { (function(引数) { })(); }
とかでも渡せそう。泥臭いが。まぁsend内のスコープのを参照できるので>>464のでいいけどw
466Name_Not_Found:2011/04/09(土) 19:16:51.27 ID:???
いやアホなこと書いてたw できねーなw
467Name_Not_Found:2011/04/09(土) 19:31:06.45 ID:???
function send(arg) {
onreadystatechange = funnction() {
 alert(arg); // これじゃだめなのか
}
}

あ、ちなみにonreadystatechangeに引数付けた場合に
何が来るかは知らないので確認してからね
468Name_Not_Found:2011/04/09(土) 19:32:44.90 ID:???
functionで関数作るのとprototypeで関数を作る違いはないと認識してよいでしょうか?
469Name_Not_Found:2011/04/09(土) 19:34:13.87 ID:???
いいえ
470Name_Not_Found:2011/04/09(土) 20:56:14.72 ID:???
>>468
何いってるのかよくわからない。コード書いて。
471Name_Not_Found:2011/04/09(土) 23:12:46.48 ID:???
472Name_Not_Found:2011/04/10(日) 00:33:57.27 ID:???
ななみんへのプロポーズ疑惑
http://codepad.org/mcV7WR8L
473Name_Not_Found:2011/04/10(日) 00:41:51.40 ID:???
誤爆?
474Name_Not_Found:2011/04/10(日) 10:28:29.09 ID:???
あるエレメントを包む方法ってありますか?

たとえば、
var tmp=document.createElement("div");
で要素作るじゃないですか?
この要素をあるdiv要素で包み込みたいんです。
↓こんな感じです。
<div class="wrap">
<div class="tmp">
</div>
</div>

tmp.innerHTMLにいれてもtmpの中しか書き換わらないし、困っています。

皆さんのお力をお貸しくださいませ
475Name_Not_Found:2011/04/10(日) 10:31:54.92 ID:???
wrapの方もcreateElementで作ってappendChildでtmpを追加すれば良さそうだけどそれだとダメなの?
476Name_Not_Found:2011/04/10(日) 10:42:51.57 ID:???
>>475
なるほど!
いけそうですね!ありがとうございました!
477Name_Not_Found:2011/04/10(日) 11:07:40.82 ID:???
createElementしたあといつもどうしてたんだろう?
478Name_Not_Found:2011/04/10(日) 11:40:19.01 ID:???
せめて自分で2〜3日考えてから質問しろよ
479Name_Not_Found:2011/04/10(日) 11:55:03.21 ID:???
>>478
そのレスをするのに2〜3日考えてみようとは思わなかったの?
きっとそのレスをする必要があったかどうかわかるはずだよ
480Name_Not_Found:2011/04/10(日) 12:20:05.33 ID:???
>>479
そのレスをするのに2〜3日考えてみようとは思わなかったの?
きっとそのレスをする必要があったかどうかわかるはずだよ
481Name_Not_Found:2011/04/10(日) 12:23:36.98 ID:???
オウム返ししかできないほどに図星をつかれたようだ
482Name_Not_Found:2011/04/10(日) 12:45:19.71 ID:???
まあでも不思議な話だよな。
createElement()をする発想があるのに、その後それをどうするつもりなのか。
appendChild()とセットだろうに。
483Name_Not_Found:2011/04/10(日) 13:31:23.47 ID:???
innerHTMLしか知らなかったんではなかろうかw

document.getElementById('wrap').innerHTML = document.createElement('div').outerHTML;
484Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/10(日) 13:42:08.58 ID:???
>>
>>amachang 不適切なブックマークを通報する 今粛々と民事刑事の方面で進めています。一応、すべて証拠として保存しなければいけないので、冗談でも今はこのスレに変なこと書き込まないでください。2011/01/28

http://hibari.2ch.net/test/read.cgi/prog/1291518728/
485はげくん:2011/04/10(日) 13:47:15.59 ID:???
>amachang 今粛々と民事刑事の方面で進めています。一応、すべて証拠として保存しなければいけないので、冗談でも今はこのスレに変なこと書き込まないでください。
>2011/01/28


http://hibari.2ch.net/test/read.cgi/prog/1291518728/

>1 :amachang撲滅振興協議会:2010/12/05(日) 12:12:08
> amachangが憎い・・・・amachangが許せない・・・・

> ククク・・・・クククククク・・・・・
> クックックックックックックッ・・・・・
> クー、クー、クー、クー、クー、クー・・・・・
>
> もう許せない。
> もはや沸き上がる滅意を抑えることが出来ない!!!
486Name_Not_Found:2011/04/10(日) 13:53:02.07 ID:???
>>484
引用元が間違ってるよ
http://2ch.xn--o9j0bk.gaasuu.com/entry/73269
487Name_Not_Found:2011/04/10(日) 14:18:40.55 ID:???
あちこちの板にたくさんマルチすんな
488Name_Not_Found:2011/04/10(日) 18:43:05.70 ID:ygrX8eRn
urlの末尾についているハッシュを無効化する方法をご教示ください。

/index.html#footer

というページを読み込むときに、
<div id="footer"></div>へ遷移しないでページの最上部で普通に表示したいです
location.hashという項目をいろいろググってみましたがうまくイメージできません
よろしくお願いします
489Name_Not_Found:2011/04/10(日) 18:48:49.61 ID:???
location.hash = "";
490Name_Not_Found:2011/04/10(日) 18:57:31.85 ID:ygrX8eRn
どうもありがとうございます。
urlに#が残ってしまうのですが
/index.html#

#をトルツメするにはどうしたらよいでしょうか?
491Name_Not_Found:2011/04/10(日) 19:18:16.68 ID:???
>>490
replace
492Name_Not_Found:2011/04/10(日) 21:38:41.42 ID:???
hashchange を preventDefault してもいけそう。
ハッシュ値を削除する理由が思い浮かばないけど、どういう状況なんだろう?
493Name_Not_Found:2011/04/10(日) 21:41:53.55 ID:???
document.location.href.replace(/#/$,'');

>492
サンプルpls
494Name_Not_Found:2011/04/10(日) 22:24:34.98 ID:???
アンカーで#topまで戻ったときにハッシュが付いてるとかっこ悪いから取りたいって事かじゃないかね
495Name_Not_Found:2011/04/10(日) 22:39:41.62 ID:???
document.location...
496Name_Not_Found:2011/04/10(日) 23:35:14.14 ID:+HBIE4jS
prototype.js の Element.hasClassName()のコードなんだけど、
RegExpオブジェクトの正規表現は '\\b' + className + '\\b' じゃ駄目なんですか?
マッチの結果としては同じものになりそうな気がするんだけど…気になって眠れません。

hasClassName: function(element, className) {
if (!(element = $(element))) return;
var elementClassName = element.className;
return (elementClassName.length > 0 && (elementClassName == className ||
new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
},
497Name_Not_Found:2011/04/10(日) 23:49:01.69 ID:???
class 名に使用できるのは、単語文字だけに限らないから、
class 名の両端が単語境界になるとは限らないし、
class 名の両端以外に単語境界が現れるかもしれない。
498Name_Not_Found:2011/04/11(月) 00:11:08.98 ID:76KlzRHl
>>497
即レスありがとうございます。
とても分かりやすいご説明ありがとうございます。
CSSと正規表現をもっと勉強しないと駄目ですね><
499459:2011/04/11(月) 02:55:03.14 ID:???
ライブラリについて質問
function getDivTop(div){
if(typeof window.crypto!="undefined" &&
typeof window.getComputedStyle!="undefined"){
return parseInt(div.style.top);
}else
return document.layers?
div.top:(div.offsetTop||parseInt(div.style.top)||div.style.pixelTop||0);}
レイヤの位置(Y軸方向)の取得 するそうなんですが
<div id="layer1" style="DISPLAY: none;POSITION:absolute;LEFT:80;TOP:40;">
</div>のときどんな感じで使うんですか?
500Name_Not_Found:2011/04/11(月) 03:04:58.59 ID:???
なんかのイベントハンドラに登録
501Name_Not_Found:2011/04/11(月) 10:16:25.79 ID:???
>>499
もっとくわしく頼みます
502Name_Not_Found:2011/04/11(月) 12:30:01.12 ID:???
外部ファイルのパス書くときに、意図的に type="text/javascript"を省略することってある?
結構しっかりしたとこが受注してる大手サイトとかjs解説系のブログでも見かけるんだけど
<script src="http://xxxxxxx/jquery.xxxx.js"></script>
忘れてるだけなのかなあ?
503Name_Not_Found:2011/04/11(月) 12:51:17.53 ID:???
>>502
HTML5 では省略可能だから省略するな。
504Name_Not_Found:2011/04/11(月) 12:59:31.36 ID:???
>>502
必要ない、HTML4でもデファスタで省略可、蛇足
WebGLやVBS使わないのなら書いただけ無駄、ソースの解読性も落ちる
HTMLで<br>を<br />って書くかより無駄
505Name_Not_Found:2011/04/11(月) 13:15:33.02 ID:/JE9niIp
>>504
スレ違いだが、要素の終了タグはないと困ることあるんじゃね?
XHTMLだとパースエラーになるんじゃ
506Name_Not_Found:2011/04/11(月) 13:19:08.31 ID:???
507Name_Not_Found:2011/04/11(月) 13:20:15.71 ID:???
>>505
だから「HTMLで」って書いたんじゃない?
508Name_Not_Found:2011/04/11(月) 13:34:19.37 ID:???
>>503
述懐なのか否定なのか判りにくい。
509Name_Not_Found:2011/04/11(月) 14:00:34.24 ID:???
>>508
HTML5 では省略可能
510505:2011/04/11(月) 14:19:28.14 ID:9ZItSFMG
>>507
ああそうか
すまんこ
511502:2011/04/11(月) 14:34:01.32 ID:???
xhtmlとhtml5では省略していい(すべき)ってことでいいのか?
512Name_Not_Found:2011/04/11(月) 14:58:55.49 ID:???
>>511
XHTML1.1 でもtype属性は必須。
http://www.w3.org/TR/xhtml-modularization/dtd_module_defs.html#a_module_Scripting
HTML5+XMLならtype属性を省略可能。
513502:2011/04/11(月) 15:00:23.09 ID:???
らじ。
514Name_Not_Found:2011/04/11(月) 15:05:57.23 ID:???
xhtml はガチガチすぎたから HTML5 はゆるくいきましょう宣言
515Name_Not_Found:2011/04/11(月) 15:12:14.65 ID:???
要するにアホが多いWeb屋にあわせたと言うことですね
516Name_Not_Found:2011/04/11(月) 15:12:44.00 ID:???
>>514
厳密な位で丁度いいよな。
機械処理にはそっちの方が都合がいい。
どうせ手で書かないんだし、手で書く奴は厳密さを楽しんでるしw
517Name_Not_Found:2011/04/11(月) 15:14:24.99 ID:???
仕様が厳密でもブラウザ側の実装があいまいだから
間違ってても普通に表示されるというのも原因な気がする
518Name_Not_Found:2011/04/11(月) 16:39:24.88 ID:???
xhtml は blockquote 直下にはブロック要素しか置けないとかのルールを知らない人が多い
そのルールに従ってなくても表示されるのがなぁ。。。
519Name_Not_Found:2011/04/11(月) 17:25:46.70 ID:???
HTML4 も blockquote 直下にブロックレベル要素しか置けない。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/text.html#h-9.2.2
個人的には何でもかんでも XHTML と表現する(XHTML1 しかないと思ってる)風潮も好きじゃないなあ。
520Name_Not_Found:2011/04/11(月) 20:11:46.79 ID:???
>>516
オレもゆるくする意味分からない派。
どうせ、W3Cのチェッカ通して出た指示に従って修正するんだから、むしろチェッカが厳格に動作、かつ警告・エラーメッセージが詳細になるように作ってくれたほうがよい。
521Name_Not_Found:2011/04/11(月) 20:22:28.14 ID:9ZItSFMG
>>520
容認できるかどうかはアレだけど

HTML4までは、リソース保存のためのデータ形式だったから厳密であるべきだったわけだけど
HTML5は、ウェブアプリケーションの上っ面構成ツールなので、見えりゃ何でもいい的な感じです

ってか、スレ違い甚だしいですなw
522520:2011/04/11(月) 20:49:54.35 ID:???
>>521
なるほどねー。WebCLの話とか聞くと、WWWの方向性について考えてしまうな。
そのうち、「クォータニオンによってモデル化することによりハードウェア最適化を助け…」(超適当)みたいなことを考えられないと、「JavaScriptが使える」といえなくなるのかしら。

なんとかJavaSriptの話に着地。
523Name_Not_Found:2011/04/11(月) 22:56:21.40 ID:???
window.onloadが呼ばれるタイミングってjsにも依存しますか?
例えばヘッダで重い処理をするjsが読み込まれていたらonloadが呼ばれるタイミングは遅くなりますか?
524Name_Not_Found:2011/04/11(月) 23:39:33.46 ID:???
ブラウザによる部分もあるけど
type属性にtext/うんたらって入れてるなら
textがどう読み込まれるかを解釈すればいいと思う
onload属性よりwindow.onloadのが重いイメージ
525Name_Not_Found:2011/04/11(月) 23:46:21.28 ID:???
>>523
window.onload は外部ファイルを読み込むものすべてに依存する。
defer属性つけていたら別だけど未対応ブラウザもあるから過信は出来ない。
526Name_Not_Found:2011/04/12(火) 00:20:07.34 ID:???
return parseInt(div.style.top);が
javascript lintでエラーが出ます。
return div.style.top;とするとエラーが出ません。
parseIntは文字列を数字に直しますが、div.style.top
に入った値を数字にすることは文法的に誤りなのですか?
527Name_Not_Found:2011/04/12(火) 01:16:38.27 ID:???
基数を指定しろ、という warning しか出ないな。
528Name_Not_Found:2011/04/12(火) 06:29:13.96 ID:???
>>526
FAQ >>3 のQ5/A5が関係あるとは思わないかね。
529Name_Not_Found:2011/04/12(火) 07:52:42.55 ID:???
なんでHTML5で仕様が柔らかくなるのか理解できないやつや、使われてもない意味ない仕様にシコシコ従ってるやつはHTMLを勘違いしてる
HTMLの各要素は「意味」なんだよ「機関」じゃない
HTMLが解釈されるときはそのまとまりの意味が解釈されるべきであって、決まったピースを組み合わせるようにして解釈すべきじゃないんだよ
ブラウザ側が意味が理解しやすいように仕様は決められているわけだが、無くても問題ない部分はHTMLの性質上省略してもいいんだよ
むしろそっちの方が「言語」として自然
HTMLはJavaScriptより英語や日本語に近い「言語」だ
それを忘れるな
530Name_Not_Found:2011/04/12(火) 07:58:08.11 ID:uRqARNN8
次。
531Name_Not_Found:2011/04/12(火) 11:00:48.27 ID:???
もう全部省略すればいい。<html>すら省略しても表示されるんだしw
532Name_Not_Found:2011/04/12(火) 11:18:00.84 ID:???
あるエレメントに情報を保存したいと思ってるんだけど、
使う予定のない、name属性にその値を保存しとくって方法ってどうですか?
値を保存する専用の属性とかがあれば教えて下さい。
533Name_Not_Found:2011/04/12(火) 11:20:48.04 ID:???
俺はrel=””に格納してる
534Name_Not_Found:2011/04/12(火) 11:40:38.45 ID:???
無い属性書いてもattributesで参照できるよ。
535Name_Not_Found:2011/04/12(火) 11:46:09.27 ID:???
>>533-534
ありがとうございます。

無い属性書いても大丈夫なのは知りませんでした。
やってみます!
536Name_Not_Found:2011/04/12(火) 11:48:31.72 ID:???
ってそれはパーサーの処理時間が増えるな
537Name_Not_Found:2011/04/12(火) 12:34:00.39 ID:???
ホームーページビルダー3使ってます
ジャバスクリプトを外部ファイルにして読み込む場合だけ自分でメモ帳で書きたいんですが

<html>
A
<head>
B
</head>
C
<body>
D
</body>
E
</html>
F

A〜Fのどこに挿入したらいいですか?
538Name_Not_Found:2011/04/12(火) 12:36:16.93 ID:???
べー
539Name_Not_Found:2011/04/12(火) 12:40:09.57 ID:???
>>537
そう言う釣りはもういいから
答え:E
はい、終了
540Name_Not_Found:2011/04/12(火) 12:50:31.03 ID:???
デカイ口をたたく割にはEを選んでる時点でお前は初心者
541Name_Not_Found:2011/04/12(火) 12:51:31.84 ID:???
>>540
そう言う煽りはもういいから
答え:E
はい、次の方
542Name_Not_Found:2011/04/12(火) 12:51:32.04 ID:???
マジレスするとF
543Name_Not_Found:2011/04/12(火) 12:54:41.08 ID:???
初心者の質問にちょっと毛の生やした初心者が答えるから荒れるのです
544Name_Not_Found:2011/04/12(火) 12:56:44.20 ID:???
まーたあのニコ生のやつがきてんのか
545Name_Not_Found:2011/04/12(火) 12:57:48.28 ID:???
>>539
その回答は釣りなのかマジで言ってるのかハッキリしてくれないか!
546Name_Not_Found:2011/04/12(火) 13:03:39.03 ID:???
本当に迷惑ですね
答えはC
547Name_Not_Found:2011/04/12(火) 13:07:17.51 ID:???
迷惑この上ないね。
外部スクリプトは出来るだけ早く読み込んだ方がいいんだよ。従ってAが正解。
548Name_Not_Found:2011/04/12(火) 13:08:45.83 ID:???
マジレスすると
他のスクリプトやDOM準備との順番を気にしなくていいならどこでもOK
549Name_Not_Found:2011/04/12(火) 13:08:46.06 ID:???
質問してる奴の自演が酷いな
550Name_Not_Found:2011/04/12(火) 13:16:00.86 ID:???
>AFってどこに挿入したらいいですか?
551Name_Not_Found:2011/04/12(火) 13:18:51.61 ID:???
>>532
HTML5 なら data-* 属性がある。HTML4 なら>>265
新しい属性を作るのはお勧めしない。HTML4 の仕様上動作が保証されてないからどんな不具合が起きても文句は言えない。
552Name_Not_Found:2011/04/12(火) 13:19:28.81 ID:???
>>549
おまえが本人つうオチ
553Name_Not_Found:2011/04/12(火) 13:20:58.04 ID:???
いつものかまってちゃんにレスする奴がまだいたとはな
554Name_Not_Found:2011/04/12(火) 13:27:03.55 ID:???
顔真っ赤になった>>539が連投してると思う
555Name_Not_Found:2011/04/12(火) 13:34:49.37 ID:???
>>526
JSLintは文法エラーだけを検出する訳じゃない。
…ってこれ何回目だ。テンプレに入れた方がいいのか?
556Name_Not_Found:2011/04/12(火) 15:32:25.05 ID:joiKeRZX
RPG作りたいんですけどマップって

a = [1,1,1,1,1,
1,1,1,1,1,
0,0,0,1,1,
]

みたいに1のところが通れて、0のところが通れない
みたいにして作るものなんですか?
もっといい方法ありましたら教えてください
557Name_Not_Found:2011/04/12(火) 16:22:12.34 ID:???
JavaScript以前の問題だから別スレへどうぞ
558Name_Not_Found:2011/04/12(火) 16:26:09.37 ID:???
ウケる
559Name_Not_Found:2011/04/12(火) 16:27:55.57 ID:???

また>>557-558の荒らしが着てますよ
560Name_Not_Found:2011/04/12(火) 16:54:42.15 ID:???
マップと同じ大きさのモノクロ16階調のGIFを用意して、その階調が高さを表現する
今居る座標から隣り合う座標へ移動する際、階調の差が2以内なら移動可能

高さが必要無ければ2bit GIFで良い

もし移動が8ドット単位なら、元のマップの8分の1の大きさで良い


あとはてめーで考えろカス
561Name_Not_Found:2011/04/12(火) 16:56:01.06 ID:???
質問です
-webkit-transformと-webkit-transitionで
針がアニメーションするアナログ時計を作ってみたのですが
例えば秒針の角度を秒数×6度から出すと
59秒から0秒になった時に逆回りのアニメーションが表示されます
これを回避する方法はないでしょうか
562Name_Not_Found:2011/04/12(火) 19:59:54.11 ID:???
<input type="file">
の参照ボタンあるとおもうんですが
このボタンをgetElementByIdで取得することはできないでしょうか?
563Name_Not_Found:2011/04/12(火) 20:05:18.33 ID:???
セキュリティ関係で_
564Name_Not_Found:2011/04/12(火) 20:09:48.76 ID:???
name属性付けての参照ならできた覚えがあるけど
565Name_Not_Found:2011/04/12(火) 21:33:44.24 ID:???
>>531
HTMLなら標準仕様で省略できるよ

>>532
属性じゃないけど、setUserDataとか
566Name_Not_Found:2011/04/12(火) 22:00:09.62 ID:???
>>561
そのまんまですが、 secondsが0と1の時に
 角度360→transition無効→角度0→transition再設定→角度6
やってみると描画タイミングが絡むので若干ややこしい処理になりますね。
角度を0に戻さず単純に 360, 366, 372,,, と増やしていく方法もいいかも知れません。

検索したらこんな簡潔な技が紹介されていました
http://www.paulrhayes.com/2009-03/an-analogue-clock-using-only-css/
  -webkit-transition: -webkit-transform 600000s linear;
  -webkit-transform: rotate(3600000deg);
600000秒かけて10000回転させるだけ。スクリプト殆ど不要。
567Name_Not_Found:2011/04/13(水) 01:50:14.95 ID:???
文字列を数字に直す場合evalとparselnt の違いってなんですか?
evalはJavascriptのコンパイラに渡し、コンパイルしたものを実行
するので結果実行速度が非常に遅くなるので使用しないって
Javascript Good partsに載っていました。
はevalとparselntの代用なのですか?
568Name_Not_Found:2011/04/13(水) 04:25:47.52 ID:???
eval は例外的
と覚えておけ
569Name_Not_Found:2011/04/13(水) 04:38:50.93 ID:???
570Name_Not_Found:2011/04/13(水) 05:57:22.38 ID:???
ったく

誰だよeval創った奴
571Name_Not_Found:2011/04/13(水) 07:18:29.17 ID:???
そのうちES5 Strictが主流になってevalは使えなく…ならないかな。
572Name_Not_Found:2011/04/13(水) 07:40:13.95 ID:???
eva便利すぎるw
573Name_Not_Found:2011/04/13(水) 08:02:37.14 ID:???
evalが無くなったらJavaScriptの大きな強みが1つ無くなるだろ
JavaScriptってのは固いシステム向けの言語じゃない
柔軟過ぎるくらいが調度いい
別に初心者がevalをやらためったら使いたがってもいいじゃないか
574Name_Not_Found:2011/04/13(水) 09:19:06.84 ID:???
javascriptプログラマってどの程度のサイト作れたらなれますか?
ざっくりでいいです。
もしくは、同等のレベルのサイトを教えていただけるとたすかります。
575Name_Not_Found:2011/04/13(水) 09:41:44.86 ID:???
javascript1本で食ってくには相当スキル必要だと思うが・・・
576Name_Not_Found:2011/04/13(水) 09:43:09.22 ID:???
577Name_Not_Found:2011/04/13(水) 10:13:29.10 ID:???
>>575-576
レベル高いですね。諦めます。ありがとうございました。
578Name_Not_Found:2011/04/13(水) 10:33:00.49 ID:???
evalが無いと無くなる強み(できなくなること)って何さ。
JSONだってevalするんじゃなく解析して取り込む方向でしょ。
good partsに従えとかは別に言わないんだけど厨房なコードは
批判されていいと思っている。
579Name_Not_Found:2011/04/13(水) 10:51:09.74 ID:???
ただの懐古趣味だろw
580Name_Not_Found:2011/04/13(水) 11:48:02.43 ID:???
読みこみ中のときのくるくるーっていうロード中の表示のやつって
jqueryに標準でついてますか?

それとも自分で画像を回してるだけですか?
581Name_Not_Found:2011/04/13(水) 11:59:46.35 ID:???
jqueryはスクリプトファイルです
画像は添付されておりません
582Name_Not_Found:2011/04/13(水) 12:14:11.03 ID:???
ロード中を知らせるのはいいんだが
それにわざわざ画像を使うのは理解できないわ
583Name_Not_Found:2011/04/13(水) 12:17:20.79 ID:???
あんなのどうやって作るかよくわかりません。
四角形なら作れますが、丸とか台形とかの図形って描けますか?
584Name_Not_Found:2011/04/13(水) 12:19:27.12 ID:???
勉強しろとしか言いようが無い
585Name_Not_Found:2011/04/13(水) 12:23:25.90 ID:???
586Name_Not_Found:2011/04/13(水) 12:27:40.08 ID:???
>>585
GIFだったんですか!?
やっぱりjavascriptだけだと無理がありましたかね。
ありがとうございました。
587Name_Not_Found:2011/04/13(水) 12:51:50.62 ID:???
>>586
いや無理じゃないけど
結構高度だよ(少なくとも面倒)
俺は画像で実装してるサイトしか知らん

>>582
同意
でもユーザからすれば画面の状態が認知し易いんじゃね?
普通にステータスバーでいいとは思うけど
588Name_Not_Found:2011/04/13(水) 13:34:02.94 ID:???
ロードアイコンとかいらんから普通に画像表示しろよと
589Name_Not_Found:2011/04/13(水) 14:46:16.97 ID:???
>>566
境い目で処理変えてみても不自然になるんですよね
分数も合わせてやると表示のタイミングによってはグルグル回るし

一瞬その手でいいかと思ったけど分針とズレるか

そこら辺は妥協するしかないかなー
590akiyan:2011/04/13(水) 16:27:06.21 ID:???
PHP使えばいいんじゃね?
591Name_Not_Found:2011/04/13(水) 17:25:08.40 ID:KXfN5Qvt
クリックでテーブルのソートをさせたいのですが
http://www.scriptiny.com/2008/11/javascript-table-sorter/

td2行で一組で動かしたいです。
---------------------------------
[番号][日付][タイトル][チェック]
---------------------------------
[番号][日付][タイトル][チェック]
[本文本文本文本文本文本文本文]
--------------------------------
[番号][日付][タイトル][チェック]
[本文本文本文本文本文本文本文]
--------------------------------
↑こういうの

修正するのはjs側のソースでしょうか、htmlでしょうか。
592Name_Not_Found:2011/04/13(水) 17:37:31.27 ID:???
>>591
希望がよくわからないけどHTMLもJSも修正する必要がある気がする。
593Name_Not_Found:2011/04/13(水) 17:40:06.36 ID:???
ソートくらい自分で組もうよ
594Name_Not_Found:2011/04/13(水) 17:41:54.77 ID:???
>>575
>>576
よくわからんがjavascriptで生きてくレベル?
ガンダムで例えてくれ
ついでにバキキャラで例えてくれ
595Name_Not_Found:2011/04/13(水) 17:45:14.82 ID:???
>>594
ガンダムスレに帰れ
596591:2011/04/13(水) 17:54:49.00 ID:KXfN5Qvt
>>592
番号順、チェック済みかどうか、でソートさせたいのです。

>>593
js弄った事なくて、、
ヒント頂けると助かります。
597Name_Not_Found:2011/04/13(水) 18:01:29.81 ID:???
>>591
行を意味するのはtdじゃなくてtrな
598Name_Not_Found:2011/04/13(水) 18:03:55.08 ID:???
>>596
JavaScript知らない人がヒントもらっただけで作れるような案件ではないと思う。
599591:2011/04/13(水) 18:04:36.26 ID:KXfN5Qvt
>>597
そうでした。。
1行目と2行目のtrをhtml側でどうにかまとめらないかなと思ったのですが
見当違いでしょうか?
600Name_Not_Found:2011/04/13(水) 18:05:38.29 ID:???
>>594
ザクレロ、千春
601Name_Not_Found:2011/04/13(水) 18:08:44.97 ID:???
>>599
1つのtd内に、2行1列のテーブルを入れたらいけるかも
602Name_Not_Found:2011/04/13(水) 18:17:45.99 ID:???
>>601
それでいけそうだな。
603591:2011/04/13(水) 18:21:09.31 ID:KXfN5Qvt
[th][th][th]
[td][td][td]
[  td  ]
[td][td][td]
[  td  ]

[td][td][td]
[  td  ]
これをひとつのテーブルにするという意味でしょうか?
そうすると一つの要素でしかソート出来なくなってしまうのですが、
すみません理解力不足で。
詳しくお願いします。
604591:2011/04/13(水) 18:25:38.13 ID:KXfN5Qvt
ええと2行目は<td colspan="5">です。
605Name_Not_Found:2011/04/13(水) 18:37:30.99 ID:???
>>603-604
面倒だからthead,tbodyは省略するけど、こういうこと。

<td>
 <table>
  <tr><th>タイトル</th></tr>
  <tr><th>本文</th></tr>
 </table>
</td>
606Name_Not_Found:2011/04/13(水) 18:39:00.89 ID:???
>>605
ごめん。本文もthになってたので訂正。

<td>
 <table>
  <thead><tr><th>タイトル</th></tr></thead>
  <tbody><tr><td>本文</td></tr></tbody>
 </table>
</td>
607Name_Not_Found:2011/04/13(水) 18:44:24.48 ID:???
colspan="5" でソートするってどういうことだ?期待する結果が全くわからない。
608591:2011/04/13(水) 18:45:49.41 ID:KXfN5Qvt
>>606
ありがとうございます。
[タイトル][タイトル][タイトル][タイトル][タイトル]
[ 本文 ][ 本文 ][ 本文 ][ 本文 ][ 本文 ]
になってしまうと思うのですが、
本文を連結させるのは不可能でしょうか?
609Name_Not_Found:2011/04/13(水) 18:49:32.09 ID:???
>>608
連結したら [日付] や [タイトル] の区別がつかなくなると思うんだけど、何を基準にソートしたいの?
610Name_Not_Found:2011/04/13(水) 18:53:15.84 ID:???
a
611591:2011/04/13(水) 18:56:04.80 ID:KXfN5Qvt
>>607
すみません、、

[要素1][要素2][要素3][要素4][要素5]←th

[要素1][要素2][要素3][要素4][要素5]┐
[あいうえおあいうえおあいうえおあ ]┘ひとつめ

[要素1][要素2][要素3][要素4][要素5]┐
[かきくけこかきくけこかきくけこか ]┘ふたつめ

[要素1][要素2][要素3][要素4][要素5]┐
[さしすせそさしすせそさしすせそさ ]┘みっつめ

thの要素をクリックで二行一組ソートさせたいのです。
612591:2011/04/13(水) 18:57:49.47 ID:KXfN5Qvt
>>609
1行目の日付順、タイトル順などを基準にソート、
本文はそれにくっついてます。
613Name_Not_Found:2011/04/13(水) 18:59:57.21 ID:???
>>589 ん、ダメですか?ちょっと書いてみました。
角度が減った場合に +360°しています。Hoursは省略。ChromeかSafariで。
<head><style type="text/css">
div { position:absolute; width:1px; height:300px;
  top:0px; left:150px; border:1px solid black;
  -webkit-transition:-webkit-transform 0.3s linear; }
</style></head>
<body><div id="Seconds"></div><div id="Minutes"></div><div id="Hours"></div>
<script type="text/javascript">
function setClock(name) {
  var prevDeg = 0;
  setInterval(function(){
    var hand = document.getElementById(name);
    var time = new Date()["get"+name]();
    hand.innerHTML = time + name;
    var deg = prevDeg - prevDeg%360 + time*6;
    if(deg < prevDeg) deg += 360;
    hand.style["-webkit-transform"] = "rotate("+deg+"deg)";
    prevDeg = deg;
  }, 1000);
}
setClock("Seconds"); setClock("Minutes");
</script></body>
614Name_Not_Found:2011/04/13(水) 19:01:22.68 ID:???
598に同意
丁度、同じ作りの既存ライブラリが無いと無理っぽい
615Name_Not_Found:2011/04/13(水) 19:21:23.98 ID:???
素人に付き合う奴らヒマ過ぎ
616Name_Not_Found:2011/04/13(水) 19:27:32.09 ID:???
テンプレ変えたから丸投げでも誰かが答えてくれるよ!
やったね!
617Name_Not_Found:2011/04/13(水) 19:29:57.69 ID:???
自分で調べて作れないなら金払って作ってもらえよ
1〜2万で1日で作ってもらえんぞ
618Name_Not_Found:2011/04/13(水) 20:50:10.41 ID:???
>>612
[タイトル]ってのは「タイトル」という名前のセルではなくて、ユニークな項目名が入るのね。
初めからサンプルを書いてもらえれば誤解しなかったんだけど。
HTMLでは無理なのでJSを自作してね。
619Name_Not_Found:2011/04/13(水) 21:20:04.61 ID:???
>>611
これって2行1組じゃなくて
[あいうえおあいうえおあいうえおあ ]とか
[かきくけこかきくけこかきくけこか ]とかだけソートすればいいんじゃね?
620Name_Not_Found:2011/04/14(木) 00:22:56.21 ID:???
<link>にアクセスするにはどうのようにすればいいのでしょうか?

<markers>
<marker name="名前">
<link href="リンク1" />
<link href="リンク2" />
</marker>
</markers>

var markers = xmlDoc.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++)
{
var name = markers[i].getAttribute("name");
var links;
// ここでlink href="**" を配列に入れたい
621Name_Not_Found:2011/04/14(木) 02:04:40.56 ID:???
そのコードを理解してるなら、できるじゃんw
622Name_Not_Found:2011/04/14(木) 02:05:32.44 ID:???
<div id="y2">
天上天下唯我独尊
</div>
idを取得して擬似的に天上天下唯我独尊と
書かれたy2レイヤーとして扱うのってWeb制作ではよくやるんですか?
623Name_Not_Found:2011/04/14(木) 06:40:19.79 ID:24gdBs3F
624Name_Not_Found:2011/04/14(木) 12:44:21.63 ID:oJGXVa2v
function read(){ return "abc"; }
var prot = function()
{
this.test = function(){ return read();}
var read = function(){ return "def"; };
};
var hoge = new prot;
alert(hoge.test());

とすると、"def"がアラートされると思うんですが、
hogeの中にread()がない場合、グローバルのread()が実行されてしまう訳ですが、
ローカルのread()だけを呼び出すように明示する方法はありませんか?
625Name_Not_Found:2011/04/14(木) 12:54:13.68 ID:???
prototypeで宣言しろよ
626Name_Not_Found:2011/04/14(木) 12:58:11.66 ID:???
そのローカルのreadがないのにreadを呼び出しちゃった時は
どうなればいいの?
627Name_Not_Found:2011/04/14(木) 12:59:53.56 ID:jn8Gb6a7
ローカルがないからグローバル呼ばれるのにローカルを呼びたいと言っている…。

628Name_Not_Found:2011/04/14(木) 13:10:36.96 ID:oJGXVa2v
レスありがとうございます。文章が変でした。

>>625
prototypeで宣言とはどういう事でしょうか、どこの事でしょう?
すみません。

>>626-627
エラーです。
ローカルのreadがなかった時にグローバルのreadが呼ばれるのが嫌なんです。
629Name_Not_Found:2011/04/14(木) 13:27:37.81 ID:???
エラーか…えーと…
わかったで!正解はこれや!

this.test = function(){ return (window.read != read && read)(); };
630Name_Not_Found:2011/04/14(木) 13:29:16.80 ID:???
this.read = function(){ return "def"; };
this.test = function(){ return this.read();}
631Name_Not_Found:2011/04/14(木) 13:35:34.52 ID:???
>>629
かなり凝った感じですねw

>>630
readはローカルスコープにしたいんです。
632Name_Not_Found:2011/04/14(木) 13:42:26.17 ID:???
あるいはローカル変数をオブジェクトにでもまとめて明示的に
  var local = {
    read: function(){ return "def"; }
  };
  this.test = function(){ return local.read();}
なんてことにしたらどやねん
633Name_Not_Found:2011/04/14(木) 14:09:41.79 ID:???
>>632
ありがとうございます。
やっぱりこれが良いのでしょうか。JavaScript難しいです。
634Name_Not_Found:2011/04/14(木) 14:41:01.83 ID:???
そもそもローカルスコープにないreadを呼び出す実装がおかしい
ローカルしか呼びたくないならローカルにあることが保証されているreadだけを呼び出すようにすればいい
635Name_Not_Found:2011/04/14(木) 17:19:10.14 ID:???
>>634
>ローカルしか呼びたくないならローカルにあることが保証されているreadだけを呼び出すようにすればいい
そうするためには、どう呼び出せばいいんでしょうか……?
636Name_Not_Found:2011/04/14(木) 17:22:07.68 ID:???
すみません。読み方が足りなかったです。
read();と書くからには、ローカルスコープにread()を定義しておけって事ですね(ですよね?)
ローカルスコープのread()だけを呼べるように明示することはないが、
きちんと実装していれば良い、というのが結論でしょうか。皆さんありがとうございました。
637Name_Not_Found:2011/04/14(木) 19:06:37.53 ID:???
質問です。

function _hoge() {
}

のように関数名の前にアンダーバーを付けてるコードを(色々な言語で)よく見ます。
コーディング規約的なものだと思いますが、どういう意味なんでしょうか?
638Name_Not_Found:2011/04/14(木) 19:24:05.16 ID:???
privateスコープとpublicスコープを区別する為にJSではそう付けてるなぁ俺は。
アンダーバー付いてたら直接呼ぶなよ!・・と。
639Name_Not_Found:2011/04/14(木) 19:37:21.82 ID:???
640Name_Not_Found:2011/04/14(木) 22:26:27.05 ID:???
Jquery の質問スレでも質問したのですが、人が少なそうなのでこちらでも質問させて下さい。
Jquery の slideToggle でコンテンツをおりたたみたいのですが、ブロック要素を float させていると開いたときにサイズがぴったり合わず、サイズオーバーしてガタついてしまいます。
例えば以下のような場合です。div や dl でも同様です。良い回避策はないでしょうか?
-- HTML --
<div id="toggle">Toggle</div>
<div id="body">
<ul>
<li>コンテンツ1<li>
<li>コンテンツ2<li>
<li>コンテンツ3<li>
<li>コンテンツ4<li>
</ul>
</div>
<script type="text/javascript">
//<![CDATA[
$(function() {
$(".toggle").click(function(){
$(this).next().slideToggle();
});
});
//]]>
</script>
-- CSS --
#body ul li {
float: left
}
641Name_Not_Found:2011/04/14(木) 22:44:53.48 ID:???
#body ul li{
float: left;
width: 200px;
display: block;
}

だとどうなる?
642Name_Not_Found:2011/04/14(木) 23:04:01.84 ID:???
>>641
すいません。自己解決しました。
slideToggle を実行する前に高さを設定するとサイズピッタリでアニメーションしました。
スレ汚しごめんなさい。

>>640 script 部分に追記
<script type="text/javascript">
//<![CDATA[
$(function() {
$(".toggle").click(function(){
// 高さを設定する
$(this).next().css('height', $(this).next().height() + 'px');
$(this).next().slideToggle();
});
});
//]]>
</script>
643Name_Not_Found:2011/04/14(木) 23:18:11.93 ID:???
>>640
まず、js中の".toggle"は"#toggle"だね。

ChromeとFirefoxでは問題なく動く。IE8でだけがたつく。
回避法としては、HTML上で<div id="body">の前に空のDIV要素<div />を入れ、それにともなってスクリプト中$(this).next()を$('#body')にかえる。

「IE8 jquery slideDown」とかでググルと関連する事象についてのページがある。
644Name_Not_Found:2011/04/14(木) 23:21:37.59 ID:???
>>642
その解決だと、少なくともオレの手元のIE8だとスライドしなくなるみたいだけど、それでよいの?
645Name_Not_Found:2011/04/14(木) 23:58:46.74 ID:???
javascriptのjavaの部分の発音ってジャヴァ?ジャバ?ジャヴア?
646Name_Not_Found:2011/04/14(木) 23:59:47.33 ID:???
ハバ
647Name_Not_Found:2011/04/15(金) 00:26:16.80 ID:???
ジェイブア
648Name_Not_Found:2011/04/15(金) 00:32:40.18 ID:???
ヤバ
649Name_Not_Found:2011/04/15(金) 02:39:23.86 ID:???
Javascriptで人の作ったプログラムを勉強に読んでるけど
return 式で式に改行いれてたり
ifを{}でくくってなかったり、規則違反がいっぱいあるな
650Name_Not_Found:2011/04/15(金) 03:00:48.32 ID:???
動けばいいんだよ
651Name_Not_Found:2011/04/15(金) 03:09:08.38 ID:???
>>650
言うと思った
確かに、無駄が多いとか、汎用性がないとか言ったところで
動かないことには話にならない。
例えばif式;
式;
式;
return 式;のときは

if{式};
式;
式;
return 式;のときと
if{式;
式;
式;}
return 式;のどっちか分かりずらいときあるから括弧は欲しい。
後で読み返すときに分からんようになるやん。
652Name_Not_Found:2011/04/15(金) 03:17:22.56 ID:???
そこらの本に書いてある事を一々いわなんでよろしい
653Name_Not_Found:2011/04/15(金) 06:55:31.83 ID:/fIcBuor
canvasと再帰でマウスカーソルに陰毛を生やすことに成功した

http://www.death-note.biz/up/p/20404.html
654Name_Not_Found:2011/04/15(金) 08:20:40.59 ID:???
>>638-639
ありがとうございます、調べてみます。
655Name_Not_Found:2011/04/15(金) 09:40:02.39 ID:ijDsTdny

俺は>>651
が分りづらいというかそもそも読めない。
656Name_Not_Found:2011/04/15(金) 09:42:41.43 ID:???
規約違反とか言う奴はstripモードでやれ
JavaScriptは基本一人で書くものだから自分が読めて動けば何も問題ない
WEBアプリ規模を多人数で作ろうとするときに初めて問題になる

というかWEBアプリ作ってるやつに朗報
docomoの夏からのガラケーがフルブラウザの機能を拡大するらしい
つまりNetFront3.4から4.0や4.1にバージョンupするとすると一部のHTML5が使えることになる
もしWEBアプリの主要なAPIに全部対応したらガラケーがガラケーじゃなくなるな
所詮ガラケーとスマホの違いなんてアプリの差しかないわけだから
657Name_Not_Found:2011/04/15(金) 10:19:31.80 ID:???
ストリップモード…?
658Name_Not_Found:2011/04/15(金) 10:29:28.58 ID:???
strict?w
659Name_Not_Found:2011/04/15(金) 10:42:14.93 ID:???
ドコモって最近はクッキー食えるの?
660Name_Not_Found:2011/04/15(金) 13:43:33.68 ID:???
ifを波括弧で囲わないのが規則違反とか情弱か
661Name_Not_Found:2011/04/15(金) 13:52:25.07 ID:???
情弱っていうかただのヴァカだろ
662Name_Not_Found:2011/04/15(金) 14:55:18.72 ID:W+CUKsOa
すみませんおまいらさまたちおしえてくださいおねがいします。
jqueryつかって、フェードさせたいので、初めてjsを書きました。

$(function(){
$('#navi a img').hover(
function() {
$(this).stop().animate({"opacity":0.1});
},
function() {
$(this).stop().animate({"opacity":1});
}
);
});

hoverしたら薄くなるのですが、、、逆に、imgを常にopacity0.3くらいにしておいてhoverしたら1にするには
どう書き換えたらいいでしょうか。おしえておくんなまし。
663Name_Not_Found:2011/04/15(金) 15:01:58.47 ID:???
すみません。。。自力でできました。。。

ためしにかいたのが間違ってて、ちょっとなおしたらOKでしたorz
664Name_Not_Found:2011/04/15(金) 15:03:19.04 ID:???
初めて書いていきなり質問って全く自ら学ぶ気なんてないな
665Name_Not_Found:2011/04/15(金) 15:37:06.28 ID:???
>>649
何の規則?
666Name_Not_Found:2011/04/15(金) 15:51:15.42 ID:???
>>663
どう治ったのか書けや便所虫
667Name_Not_Found:2011/04/15(金) 16:07:38.42 ID:???
>>664
書いてみたんだけど、エラーはいちゃって、見当違いのことやってんのかなって思ったんだす。
先生いないもんで聞く相手いなくてさ。サーセン。

>>666
$(function(){
$('#navibtn a img').css({"opacity":0.7});
$('#navibtn a img').hover(
function() {
$(this).stop().animate({"opacity":1});
},
function() {
$(this).stop().animate({"opacity":0.7});
}
);
});

これで正しいのかわかららんけどちゃんとブラウザでうごいたからだいじょうぶだべ。
668Name_Not_Found:2011/04/15(金) 16:27:25.65 ID:???
$(function(){

って ready を省略した形式なのね。
初めて知った
669Name_Not_Found:2011/04/15(金) 16:41:50.36 ID:???
$(function(){
}
のなかに書くとonload=と同じ動き
これ豆な
670Name_Not_Found:2011/04/15(金) 17:01:30.53 ID:???
onload と ready は同じ動きじゃないよ

前者は画像とか全て読み込むまで発生しない。
後者は DOM が構築された時点で発生。
671Name_Not_Found:2011/04/15(金) 17:15:28.95 ID:???
釣りにマジレスすんなよ
672Name_Not_Found:2011/04/15(金) 17:21:16.09 ID:???
document.write('<style type="text/css">\n'+'body{background-color: #ffccff;}\n'+'<\/style>');}
ってサンプルプログラムにあったんだけど
'<\/style>'って'</style>'でも動くけど\って何でつけてんの?
何か意味あるの?
673Name_Not_Found:2011/04/15(金) 17:36:19.56 ID:???
正規表現と混同してんじゃねーのと思ったけどtext/cssはそのままやん
674Name_Not_Found:2011/04/15(金) 17:36:38.81 ID:???
それ本当はシングルクオートじゃないだろ
675Name_Not_Found:2011/04/15(金) 18:17:30.91 ID:???
誤動作を防ぐため?とか勝手に思ってる。
</script>で強制終了?
676Name_Not_Found:2011/04/15(金) 18:25:44.95 ID:???
<script></script> の中に </ という文字列が出現してはいけないから
外部スクリプトなら関係ない
677Name_Not_Found:2011/04/15(金) 18:41:02.74 ID:???
678Name_Not_Found:2011/04/15(金) 18:42:21.79 ID:???
みすったもういい
679Name_Not_Found:2011/04/15(金) 18:51:39.33 ID:???
>>676
サンクス
680Name_Not_Found:2011/04/15(金) 19:03:12.82 ID:???
え、"</"でアウトなん?
681Name_Not_Found:2011/04/15(金) 19:21:43.33 ID:???
>>680
HTMLの中に書いたらアウト
682Name_Not_Found:2011/04/15(金) 22:35:22.45 ID:???
document.documentElementは
document.documentElement.clientWidthとかで使いますが
if(document.documentElement)〜という
プログラムがあるのでブラウザによって
document.documentElementで真と偽になるってことですか?
ie8とfirefoxは真になりました。
偽になるのは古いブラウザなどですか?
683Name_Not_Found:2011/04/15(金) 22:36:53.40 ID:???
明日はカレー
684Name_Not_Found:2011/04/16(土) 00:25:51.82 ID:???
うちはハヤシライスだぜ!
685Name_Not_Found:2011/04/16(土) 01:20:07.39 ID:IyuIJlyV
clickで開いて、mouseoutで閉じるのは可能ですか?

<SCRIPT language="JavaScript">
<!--
flag = false;
function pullDown() {
if(flag) smenu.style.visibility = "hidden";
else smenu.style.visibility = "visible";
flag = !flag;
}
//-->
</SCRIPT>
686Name_Not_Found:2011/04/16(土) 01:28:06.79 ID:???
>>681
</script>にだけ気をつけてればいいと思ってました
てことは if( hoge</fuga/.test(piyo) ) {...}
なんて書いてたとしたら文法違反になっちゃうのか
でも実際 </ だけで誤動作(正常と言えるけど)するブラウザあるのかな
687Name_Not_Found:2011/04/16(土) 02:38:25.20 ID:???
var Box = function(size){
this.size = size;
};

Box.prototype = { color: "red" };

var box = new Box(10);
//alert(box.color); // red
document.write(box.color+"<br>");


Box.prototype = { color: "blue" };
//alert(box.color); // red
document.write(box.color+"<br>");


var box2 = new Box(11);
//alert(box2.color); // blue
document.write(box2.color+"<br>");


Box.prototype.color = "yellow";
//alert(box.color); // red
//alert(box2.color); // yellow
document.write(box.color+"<br>");
document.write(box2.color+"<br>");
prototypeについて
なんか挙動が全然分からん教えてください
688Name_Not_Found:2011/04/16(土) 02:44:52.72 ID:???
>>685
可能

>>686
それ以前に、if (hoge < 0) でも
検証ツールを通したら、scriptタグの中に < なんか書くなよボケ って言われる
689Name_Not_Found:2011/04/16(土) 02:51:34.16 ID:???
>>687
newしたらprototypeの中身がコピーされて返されるってことじゃないの
仕様読んだことないんで実際どうかは知らんけど
690Name_Not_Found:2011/04/16(土) 03:03:30.17 ID:???
new Box(11); の11って何ですか?何を表してるのですか?
691Name_Not_Found:2011/04/16(土) 03:05:48.96 ID:???
>>690
1行目を読め
692Name_Not_Found:2011/04/16(土) 03:12:47.88 ID:???
var obj = { color: "red" };
var box = obj;
obj = { color: "blue" };
alert(box.color); // red
var box2 = obj;
alert(box2.color); // blue
obj.color = "yellow";
alert(box.color); // red
alert(box2.color); // yellow

難しく考えない。仕組みはいたって単純。
693685:2011/04/16(土) 03:13:44.77 ID:IyuIJlyV
>>686

大体何行くらいになりますか?
694Name_Not_Found:2011/04/16(土) 06:05:12.61 ID:???
本当は<や&なんて記号を使うのは好ましくない
script.innerTextとかで確認すれば解るけど全部自動でエンコードされてる
695Name_Not_Found:2011/04/16(土) 06:23:30.58 ID:???
696Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/16(土) 11:04:28.51 ID:???
var hash = { hoge: 'hoge', fuga: 'fuga' }

for (var i in hash) {
alert(hash[i]);
}


なんでこれhash.i じゃできねえんだ?
くそだな ごみじゃね?
697Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/16(土) 11:06:14.70 ID:???
hash.hogeで参照できるのにhash.iでできねえとかふざけてるな

hash{i}ならperlでいうハッシュでわかるがhash[i]でいいのか?配列みたいだが
698Name_Not_Found:2011/04/16(土) 11:15:39.08 ID:BdWthHQp
Perlの{} [] の使い分け、用途により色んな記号だらけ、いくない(笑)
ちなみに hash.i は hash['i'] と同等。 i と 'i' の違いは分かる
よね、Perlでも同じだから。おっとPerlでは $i だったな。
699Name_Not_Found:2011/04/16(土) 11:16:27.96 ID:???
どう考えても、ふざけてねぇだろw
700Name_Not_Found:2011/04/16(土) 11:41:54.88 ID:???
>hash.hogeで参照できるのにhash.iでできねえとかふざけてるな

超うける
701Name_Not_Found:2011/04/16(土) 11:49:07.72 ID:???
>>696
独り言は掲示板に書き込まずチラシの裏にでも書いとけよ、な
702Name_Not_Found:2011/04/16(土) 11:55:40.55 ID:???
>>696
JavaScript は雑魚が使う言語じゃなかったの?
君は Perl だけを一生使っていればいいよ
703Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/16(土) 13:26:39.15 ID:B/lGKijW
雑魚とか覚えてる時点で相当悔しかったようだなw
704Name_Not_Found:2011/04/16(土) 13:59:57.42 ID:???
↓これをそのまま文字として表示するにはどう打てばいいですか?
&lt;
<
705Name_Not_Found:2011/04/16(土) 14:00:30.88 ID:???
エスケープすればいいよ
706Name_Not_Found:2011/04/16(土) 14:01:48.33 ID:???
全角で打ってますが&lt;を半角で打ちたいんです。
そのまま打つと変換されちゃうので。
707Name_Not_Found:2011/04/16(土) 14:04:22.06 ID:???
document.body.appendChild(document.createTextNode('<'));
708Name_Not_Found:2011/04/16(土) 14:05:33.24 ID:???
変換されちまった
document.body.appendChild(document.createTextNode('&lt;'));
709Name_Not_Found:2011/04/16(土) 14:11:04.80 ID:???
&amp;lt;
710Name_Not_Found:2011/04/16(土) 14:27:44.38 ID:???
>>707-709
ありがとうございました
711Name_Not_Found:2011/04/16(土) 14:29:29.59 ID:???
テキストボックスの文字数を取得してるのですが、
onkeypressだと日本語に変換中の時(アンダーバーが出てる時)は、
イベントを拾ってくれません。

日本語を変換中にキーボードが押下されたかを調べるにはどうすればよいでしょうか?
712Name_Not_Found:2011/04/16(土) 14:34:27.29 ID:???
ごめんなさい!解決したのでもういいです!
713Name_Not_Found:2011/04/16(土) 15:00:07.22 ID:???
変数に代入するときに {} で括るとオブジェクトになるの?
714Name_Not_Found:2011/04/16(土) 15:07:15.98 ID:???
>>713
なにその半可通な理解。ちゃんとJavaScriptの構文を勉強しなよ。
大した量じゃないんだからさ。
715Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/16(土) 15:29:09.72 ID:B/lGKijW
いちいち変数使うとき+ xxx +みたいにやってごみみたいだな
${xxx}や$xxxみたいにできればいいのによ

+ +で連結するのめんどくせえんだけどどうにかならないの?
$("#img").append("<a href='"+k.a[i]+"'>"+k.a[i]+"</a><br>");

これを<a href="${k.a[i]}">${k.a[i]}</a><br>
くそだなほんと
716Name_Not_Found:2011/04/16(土) 15:49:44.17 ID:???
相変わらず自分の無知を棚に上げるんだな
717Name_Not_Found:2011/04/16(土) 15:53:03.07 ID:???
パーラーなんてそんなもんよ
パチンコすることしかとりえがないのよ
718Name_Not_Found:2011/04/16(土) 16:14:18.71 ID:???
>>685,693
プルダウンメニューをmouseoutで閉じる | OKWave
http://okwave.jp/qa/q6671283.html
719Name_Not_Found:2011/04/16(土) 16:24:20.60 ID:???
http://cou929.nu/data/google_javascript_style_guide/#id33
jsファイル名に _ よりも - を使用する理由は何でしょうか?
720Name_Not_Found:2011/04/16(土) 16:29:17.40 ID:???
テキストにマウスを当てたら
ポップアップテキストを表示させたい者です。

OS:Win7 64bit
ブラウザ IE7 もしくは Sleipnir

で、まずここのページを検索でhitさせて目を通しました。
ttp://www.phoenix-c.or.jp/~s-moon/sub417.htm
メモ帳コピー、html保存で確かにポップアップ文字はできました。

そこで私が質問したいのは上記の
ttp://www.phoenix-c.or.jp/~s-moon/sub417.htm
では普通になんら問題なく文字がポップアップします。

私が作成したメモ帳はIEで開くと
【情報バーのヘルプ】が上に出て
ActivXをインストールしますか?云々…のバーが毎回でるのです…

この情報バーが出ないようにするためにはいかがすればよろしいでしょうか?
よろしくお願い致しますm(_ _)m
721Name_Not_Found:2011/04/16(土) 16:38:14.62 ID:???
何でActiveX使ってないのに出て来るんだよ
722Name_Not_Found:2011/04/16(土) 16:41:49.11 ID:POOcrT1J
>>721
すみません…自分でも調べてみますが
サイト通りにコピー貼り付けして
htmlファイルを作成してクリック…しているだけなのですが…。

ちょっと私もいろいろ引き続きやってみます。
723Name_Not_Found:2011/04/16(土) 16:43:35.79 ID:???
ローカルでテストしてる?アップロードしてテストしてる?
ローカルでテストしているならアップロードしてからテストしてみて
それで違う結果が得られたら答えはその中に
724Name_Not_Found:2011/04/16(土) 16:46:43.24 ID:POOcrT1J
>>723
ローカルでテストしてます。
早速アップロードしてみます!!
725Name_Not_Found:2011/04/16(土) 16:51:53.14 ID:POOcrT1J
fc2ブログにアップロードしたら
情報バーでませんでした><
有難うございましたぁぁ><;;

テストしない私は情けなくてだめだめですね;;有難うございました><!
726Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/16(土) 17:00:20.99 ID:B/lGKijW
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
727Name_Not_Found:2011/04/16(土) 17:05:25.01 ID:???
>>719
ドメイン名がアンダースコア使えないからじゃね。知らんけど
728Name_Not_Found:2011/04/16(土) 17:08:45.88 ID:???
>>1を嫁
729Name_Not_Found:2011/04/16(土) 17:10:29.88 ID:???
>>727
ドメイン名にハイフンもRFC違反だった気がする
730Name_Not_Found:2011/04/16(土) 17:14:24.48 ID:N02FN3o6
自分のタブが前面で開かれている間のみ
スライドショーをするなどの処理をしたいと考えているですが
タブが前面で開かれている/開かれていないの判断ってjsでできますか?

mobilesafariとchromeliteで動くものを考えているのですが、
PC用のブラウザで動作するコードでも試してみますのであれば教えてください。
731Name_Not_Found:2011/04/16(土) 17:49:48.29 ID:???
テキストボックスの文字を
var area=document.getElementsByTagName("textarea");

var tmp=area[0].value.length;

var lengthelement=document.getElementById("strlength");

lengthelement.innerText=tmp;

こんな感じに関数を作って、keydownイベントが発生するたび
表示させてるんですが、
1文字目を入力したときはなぜか数字が0になってしまいます。
2文字目を打つと1になってしまうんですが考えられる原因は何でしょうか?
732Name_Not_Found:2011/04/16(土) 18:05:08.78 ID:???
keypressかkeyupじゃダメなの?
733Name_Not_Found:2011/04/16(土) 18:13:24.88 ID:???
じゃあ明日中目黒ドンキ前に集合か
734Name_Not_Found:2011/04/16(土) 18:24:34.46 ID:???
keypressでも同じようなことがおこってしまいます。

keyupは論外です。
735Name_Not_Found:2011/04/16(土) 18:29:12.17 ID:???
>>734
>論外です。

帰れよ
736Name_Not_Found:2011/04/16(土) 18:39:37.58 ID:???
setTimeout
737Name_Not_Found:2011/04/16(土) 19:16:59.95 ID:???
>>731,734
理由:keydownで入力確定してないから。keyupが論外なら諦めなさい。
738Name_Not_Found:2011/04/16(土) 19:50:11.65 ID:???
ヴァカだろ死ねよ!!
739Name_Not_Found:2011/04/16(土) 20:14:48.65 ID:???
女の子がそんな言葉使うなよ。
740Name_Not_Found:2011/04/16(土) 20:35:05.21 ID:???
>>729
そんなことはないと思うけど
741Name_Not_Found:2011/04/16(土) 20:58:01.24 ID:???
一つのページに作れるエレメント数の限界ってありますか?
742Name_Not_Found:2011/04/16(土) 22:58:39.82 ID:???
自分で試してみたら?
743Name_Not_Found:2011/04/16(土) 23:37:33.74 ID:???
>>730
できますよ
ヒント:スクロールバー
744Name_Not_Found:2011/04/16(土) 23:41:58.37 ID:???
ヒントとかうざいからさっさと答えかけよ
745Name_Not_Found:2011/04/17(日) 01:09:21.72 ID:???
>>730
モバイルはわかりませんがとりあえずPC用ブラウザなら、
onblurで停止、onfocusで再開
とかでなんとかなるんじゃないでしょうか
746Name_Not_Found:2011/04/17(日) 01:10:05.55 ID:16WL+vrJ
>>743
ちょっとわからないので詳しく教えて貰えませんか?
747Name_Not_Found:2011/04/17(日) 01:12:06.64 ID:???
>>745
ありがとう。
試してみます
748Name_Not_Found:2011/04/17(日) 01:22:30.56 ID:???
thisがイマイチ使い方が分かりません
教えてください
749Name_Not_Found:2011/04/17(日) 01:51:23.54 ID:???
質問が漠然としすぎるのも困る
750Name_Not_Found:2011/04/17(日) 01:55:28.50 ID:???
最近はonLoad="〜"を使用せずwindow.onload=〜を
使うようになってきたって本当ですか?
751Name_Not_Found:2011/04/17(日) 01:57:13.01 ID:???
せやな、同じだけど
752Name_Not_Found:2011/04/17(日) 02:44:05.08 ID:???
onChange じゃいけんのん?
753Name_Not_Found:2011/04/17(日) 02:49:38.99 ID:???
<html><head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<script type="text/javascript">
//lesson2.htmlを改造して1秒ごとに関数onButtonClick()を呼び出した。
var xmlhttp;
function httpHandler(){
if(xmlhttp.readyState == 4 && xmlhttp.status== 200) {
document.getElementById("date").innerHTML=xmlhttp.responseText;}
}
function onButtonClick(){
try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
document.getElementById("hantei").innerHTML=("Msxml2.XMLHTTP");}

catch(e) {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
document.getElementById("hantei").innerHTML=("Microsoft.XMLHTTP");}

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = httpHandler;
xmlhttp.open("GET", "lesson2.php");
xmlhttp.send(null);}
window.onload = function() {
timerID = setInterval("onButtonClick()", 1000);}
</script></head><body>
<div id="hantei"></div>
現在時刻は<span id="date">・・・</span>です<br/>
</body></html>
754Name_Not_Found:2011/04/17(日) 02:54:12.96 ID:???
753の続き
Microsoft.XMLHTTPは動作速度がよいわけではなく、
より性能のよい(パフォーマンスのよい)Msxml2.XMLHTTPがあり
Internet Explorer 6以降で利用できるとサイトに載ってので
IETesrでやってみるとie6〜8でMsxml2.XMLHTTPでした
しかし、ie5.5ではMicrosoft.XMLHTTPのはずがMsxml2.XMLHTTPでした。
これはietserののバグですか?
それともie6以前でもMsxml2.XMLHTTPが利用可能なんですか?
755Name_Not_Found:2011/04/17(日) 03:54:37.04 ID:???
keydownの人、ヒントを書いたのに。setTimeout(hoge, 0)で別スレッドで実行するようなイメージで
呼べば、イベント内で同期しないような感じになるから、正常にカウントされる。
されない場合があるのかどうかは知らんが。内部どうなってんのか分からんし。


>>753
ActiveXオブジェクトは、ブラウザに内臓されてるようなものじゃないし、
PC内に入っていてActiveXが呼べるなら使えるんじゃないの?
756Name_Not_Found:2011/04/17(日) 04:08:17.00 ID:???
ActiveXオブジェクトはプラグインみたいなものなんですか?
757Name_Not_Found:2011/04/17(日) 04:12:06.07 ID:???
ggrks!そう。
758Name_Not_Found:2011/04/17(日) 07:04:31.34 ID:???
"hantei"が"hentai"に見えた
759Name_Not_Found:2011/04/17(日) 07:05:59.04 ID:???
自己紹介はいいから
760Name_Not_Found:2011/04/17(日) 08:36:17.04 ID:T/e8+Km9
以前、本とか扱ってるシステムの仕事で
HANTEI_manga、HANTEI_novel、HANTEI_video、…って変数作ったら
コード見た発注元の会社の人に怒られたことあるなあ

すぐに向こうの勘違いだと気づいて、お詫び電話掛かってきたんだけど
気まずかったw
761Name_Not_Found:2011/04/17(日) 08:51:59.57 ID:???
というつくり話だったのさ
762Name_Not_Found:2011/04/17(日) 11:38:08.27 ID:???
docomo夏モデルのフルブラウザ
ttp://up.fileseek.jp/3h9K47dB

webkitベースということでNetFrontLifeブラウザかと思ったがなんか違うっぽい
まあ最低Canvas2Dは満足に使えるようになるだろうからだいぶWEBアプリ作りが楽になるね
ガラケーってよくよく見てみたらジャイロとかコンパスとかiPhone並に積んでる機種結構あるから
案外今のAndroid以上にHTML5と相性がいいのかもしれないね
っていうかHTML5に完全対応すればガラパゴスじゃなくなるね
フィーチャーフォン

ところで立体視対応のCanvasモードはないのだろうか
3D対応の端末がこれからどんどん出てくるし、3DSやらで表示させるのにもいいと思うのだが…
763Name_Not_Found:2011/04/17(日) 12:27:32.01 ID:???
753
ミスった
下から10行目のxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
がいらんかったな
lesson2.phpの中身はこれ
<?php
print date("H:i:s");
?>
phpでたった3行で時刻表示できんだな。
764Name_Not_Found:2011/04/17(日) 13:33:49.91 ID:???
?>いらない
765Name_Not_Found:2011/04/17(日) 14:25:18.69 ID:???
>>753
Msxml2.XMLHTTPに対応しているかどうかは、
MSXML3に対応する製品がインストールされているか否かが問題であって、
IE6以前かどうかとは1対1の関係ではないらしい。

http://support.microsoft.com/kb/269238/ja

>>763
時刻表示させるだけなら、そんな面倒臭いことしなくていいよね。
単なる一例ならちゃんとそう書こうね。

<html>
<head><script type="text/javascript">
function hoge() {document.getElementById("date").innerHTML = new Date();}
setInterval(hoge, 1000);
</script></head>
<body>現在時刻は<span id="date">・・・</span>です</body>
</html>
766Name_Not_Found:2011/04/18(月) 13:48:37.61 ID:???
>762
>立体視対応Canvas
これ俺も欲しいと思うんだけど
こういうのってどこに言ったらいいの?
767Name_Not_Found:2011/04/18(月) 14:32:04.54 ID:???
W3の年会費払って加入すればどこに言えばいいのか判ります
年会費は3万程度なので一般的な収入の方なら問題ないですね
768Name_Not_Found:2011/04/18(月) 14:51:50.27 ID:???
ワンダー3とな
769Name_Not_Found:2011/04/18(月) 16:32:35.47 ID:G7nYpevP
質問です。
複数のチェックボックスでその中の幾つがチェックされているか
を取得するにはやはりforでやるしかないでしょうか?
770Name_Not_Found:2011/04/18(月) 16:45:06.92 ID:???
まるで他の方法がイメージできてるような聞き方じゃないか。なにを使いたいんだい?
771Name_Not_Found:2011/04/18(月) 16:47:35.40 ID:???
for文以外に方法があるなら
わしもしりたい
772Name_Not_Found:2011/04/18(月) 16:48:09.32 ID:???
>>769
jQueryでセレクタをうまく使ってlengthでできる。
http://jsbin.com/exati4/2/edit
773 忍法帖【Lv=1,xxxP】 :2011/04/18(月) 16:48:17.25 ID:???
しか、なさげだよなぁ。

IEでXHTMLならXMLパーサーに読み込ませてselectSingleNodeでxpathで
イケそうな気もするが、コストがどうなんだろう…っていう。
774 忍法帖【Lv=1,xxxP】 :2011/04/18(月) 16:54:03.23 ID:???
ほー簡潔だ。
775Name_Not_Found:2011/04/18(月) 17:00:27.82 ID:???
>>769
どういう理由でそう言った疑問がわいたのか知らんが
見習いたいもんじゃ
776Name_Not_Found:2011/04/18(月) 17:01:07.48 ID:3xjLOpg/
図書館APIの
ttp://calil.jp/doc/api_ref.html
の結果例にもあるような

callback({
"session": "11a285036112525afe32b1a3d4c36245",
"books": {
"4334926940": {
"Tokyo_Setagaya": {"status": "OK", "reserveurl": "http://libweb.tokyo.jp/123",
"libkey": {"玉川台": "貸出可", "世田谷": "貸出中", "経堂": "蔵書なし"}}
},
"continue": 1
});

の結果を$.getJSONを利用してうまく取得したいのですが、
booksの中の4334926940以降がうまく読み取れない。どうしたらいいのですか?
777Name_Not_Found:2011/04/18(月) 17:04:23.12 ID:???
これは興味深い。
階層構造へアクセスするメソドはJSONでも同じだぜ?
778Name_Not_Found:2011/04/18(月) 17:07:46.62 ID:???
>>772
for文なんだが・・・
779Name_Not_Found:2011/04/18(月) 17:11:35.24 ID:???
Canvas APIの質問はこちらで大丈夫ですか?
780772:2011/04/18(月) 17:17:33.53 ID:???
>>778
jQueryの内部実装でfor文を使っている、ということがいいたいの?
そういう意味なら、そりゃ使っているでしょうね。
781Name_Not_Found:2011/04/18(月) 17:20:01.60 ID:???
回答:forでやるしかありません
782Name_Not_Found:2011/04/18(月) 17:23:12.18 ID:???
>>776
それ、たぶん、帰ってきているデータがJSONではない。
{ "session": ... "continue": 1 }の部分がJSONというフォーマットで、それを含めたcallback(...)の部分はJSONではなく、「Javascriptの文」。

だから、
1. jsonではなくテキストとしてとって、evalで実行してしまう
2. http://api.calil.jp/check?appkey={あなたのアプリキー}&isbn=4834000826&systemid=Aomori_Pref&format=json をsrcに指定したScriptタブをドキュメントに挿入する

のどちらかで「Javascriptの文」を実行することを意図したAPIだろう。
783 忍法帖【Lv=1,xxxP】 :2011/04/18(月) 17:23:34.55 ID:???
じゃぁ、なにを意図したかだな。冗長だなーと思ったのか、コストなのか。
784Name_Not_Found:2011/04/18(月) 17:26:52.92 ID:3xjLOpg/
>>782

回答ありがとうございます
「Scriptタブ」での方法気が付かなかった

ちょっとやってみます 
785782:2011/04/18(月) 17:59:16.94 ID:???
あ、分かっていると思うけど「Scriptタブ」は「Scriptタグ」の誤記ね。
すまんかった。

>>783
インタラクティブ性を気にするのなら、あらかじめ各チェックボックスのchangeイベントにカウンタを操作する動作を仕込んどいて、個数を使いたいときはのカウンタの数値を使うのがスマートだろうな。
チェックを変更するごとにちょっとしたコールバックが走るので、トータルの計算コストはユーザーの操作に依存して増える可能性があるけど、この場合にそこまで気にするのはバカげているだろう。
786Name_Not_Found:2011/04/18(月) 18:11:58.97 ID:???
>>762
document.querySelectorAll(':checked')
こんなのは?
これのlengthでなら・・・
checkedセレクタ自体がCSS3からだから古いブラウザは無理だけど・・・・
787Name_Not_Found:2011/04/18(月) 18:13:30.22 ID:???
>>786のアンカ間違ってた・・・>>762じゃなく>>769
788Name_Not_Found:2011/04/18(月) 18:33:02.22 ID:???
excanvasって書き方次第で動くときと動かない時があって不便だな
処理を関数化したのがいけないのかよくわからないけど
1つずつ書かないとうまく動かない・・・
コードは長くなるし読みづらくなるし困ったにゃー
789Name_Not_Found:2011/04/18(月) 19:15:41.49 ID:???
html内のselectタグを数えれば?
for文使わずに正規表現でw
790Name_Not_Found:2011/04/18(月) 19:22:01.63 ID:???
>>789
バカ?
791Name_Not_Found:2011/04/18(月) 20:53:53.77 ID:JCreChEk
>>789
selectじゃなくてinput type="checkbox"な
それは勘違いだろうが、htmlコードからそれを抜いたところで
checkedかどうかはわからんぞ?
792Name_Not_Found:2011/04/18(月) 21:17:38.96 ID:???
name属性とか使って配列で返してくれたりしたら便利そうだよね
getElementsByName('hoge')[0].checkdみたいにさ
selectなんかもそうだけど、もうちょっとフォーム周りのアクセスが容易になったらいいなとは思う
793Name_Not_Found:2011/04/18(月) 21:27:00.85 ID:JCreChEk
えっ
794Name_Not_Found:2011/04/18(月) 21:39:22.75 ID:???
おい、HTML5対応ブラウザと非対応のブラウザを判別ってJavascript
でどうやるか教えろオッサン
795Name_Not_Found:2011/04/18(月) 21:41:26.17 ID:???
>>792

796Name_Not_Found:2011/04/18(月) 22:16:58.20 ID:JCreChEk
<section>とか作ってみればいいんじゃね?
797 忍法帖【Lv=1,xxxP】 :2011/04/18(月) 22:27:09.51 ID:???
無いものを呼べよ
798Name_Not_Found:2011/04/18(月) 23:38:54.07 ID:???
定義済みオブジェクトと予約オブジェクトってどう
違うんですか?
799Name_Not_Found:2011/04/19(火) 07:02:36.84 ID:???
168 名前:Name_Not_Found[sage] 投稿日:2011/04/02(土) 19:35:03.68 ID:???
$("a[rel='example1']").colorbox();をする実行タイミングの問題だろ
それにしてもdocument.writeとかもうちょっと何とかした方が・・・
jsajax.com/Articles/scrollablemenulinks/775
のソースはうんこだから参考に全面的に書きなおせ
800Name_Not_Found:2011/04/19(火) 07:30:51.11 ID:???
半島のかたでしょうか?
ニホンゴでおねがいします
801Name_Not_Found:2011/04/20(水) 13:11:44.00 ID:???
>>794
ブラウザのバージョン取得
802Name_Not_Found:2011/04/20(水) 14:10:21.14 ID:???
>>794
機能テストじゃダメなん?
803Name_Not_Found:2011/04/20(水) 15:00:40.59 ID:???
仕事ではなく趣味でGreasemonkeyとか簡単なスクリプトをちょっと書いたりしたいんだけど、
javascriptを、そこまで深くではなくても良いから、基礎的に学びたい場合のオススメの本とか無いですかね?

一応シッカリした作りのモノが良いのだけど、何というか情報系の学生が最初に手をつけるような感じので。
多言語はCの基礎的な部分のみ、くらい
804Name_Not_Found:2011/04/20(水) 15:02:46.55 ID:???
こんな本ありますか?

これでどうですか

これ良さそうですね、ありがとう

いえいえ

作者の自演乙w
805Name_Not_Found:2011/04/20(水) 15:11:50.26 ID:???
見えない敵と戦ってるみたいですが、どうしました?何か嫌なことでもありました?病院紹介しますよ
806Name_Not_Found:2011/04/20(水) 15:24:52.67 ID:???
たしかにjsだけ特化してちゃんと書かれた書籍ないね
ニッチすぎるとかいうことは置いといてもさ
807Name_Not_Found:2011/04/20(水) 15:30:15.72 ID:???
808Name_Not_Found:2011/04/20(水) 16:18:27.54 ID:???
replaceの、置換前の文字に日本語(2バイト文字)がある場合、どうやって指定すればいいんでしょうか?

var hensu = document.evaluate('//text()',document,null,7,null);
for(var i=0; i<hensu.snapshotLength; i++)
 hensu.snapshotItem(i).nodeValue = hensu.snapshotItem(i).nodeValue.replace(/置換前文字列/ig,"tikango");

と指定しても置換されなくて・・・(tikanmae等だと置換される
809Name_Not_Found:2011/04/20(水) 16:51:51.67 ID:???
>>808
置換にそういう制限はない筈だけどな。
文字コードは何にしてる?
810Name_Not_Found:2011/04/20(水) 18:14:42.91 ID:???
"置換前文字列".replace(/置換前文字列/ig,"tikango")
を試してみればええのに
811Name_Not_Found:2011/04/20(水) 18:38:35.78 ID:???
>>804
毎回サイ本薦めればいいんじゃね?
テンプレに入れてもいいと思う
812Name_Not_Found:2011/04/20(水) 19:26:38.42 ID:???
>>808
>>809も指摘しているように文字コードに原因がありそう。
エスケープすれば文字コードは関係ないけど、jsファイルの Content-Type を指定してもいいと思う。

var str = '\u7F6E\u63DB\u524D\u6587\u5B57\u5217';
str = str.replace(/\u7F6E\u63DB\u524D\u6587\u5B57\u5217/ig, 'tikango');
alert(str);
813Name_Not_Found:2011/04/20(水) 21:34:50.12 ID:???
サイ本はぶ厚くて高いし、初心者には無理があるでしょ。
常にというのはどうかなー。
814Name_Not_Found:2011/04/21(木) 04:30:32.36 ID:???
var json2 = ['{name:"山田",age:30},{name:"鈴木",age:28}'];
var employees = eval("("+json2+")");
document.getElementById("debug").innerHTML += "<br>employees[1].name="+employees[1].name+"<br>";
(employees[1].name=鈴木と表示される)

eval("("+json2+"");はevalは文字列をコードとして解釈するのでevalによって
employees=({name:"山田",age:30},{name:"鈴木",age:28});という挙動
になると思うのですが、
var employees=({name:"山田",age:30},{name:"鈴木",age:28});とすると
エラーがで何も表示されません。
何故なんですか?evalでは文字列の"("は[に変換されるのですか?
815Name_Not_Found:2011/04/21(木) 09:06:07.31 ID:3eyhqsQX
>何故なんですか?evalでは文字列の"("は[に変換されるのですか?
なりません、あなたが勘違いしているかお使いの実装が腐ってるだけ

var json2 = ['{name:"山田",age:30},{name:"鈴木",age:28}'];
var employees = eval("("+json2+")");
employees[1].name //エラー
employees.name //鈴木

({name:"山田",age:30},{name:"鈴木",age:28})は{name:"鈴木",age:28}と等価、そうなるわけがない
816Name_Not_Found:2011/04/21(木) 09:08:27.05 ID:???
>>814
つかそのコード自体動いてないよ。書き込む前にテストくらいしてよ。
var json2 = ['{name:"山田",age:30},{name:"鈴木",age:28}'];
じゃなくて
var json2 = '[{name:"山田",age:30},{name:"鈴木",age:28}]';
なんと違うの?
817Name_Not_Found:2011/04/21(木) 09:12:10.73 ID:???
>>814
まずはevalをalertに取り替えて評価される文字列を確認するべきだな。次に、
あなたはemployeesに何が入って欲しいと思っているのか、それは
あなたが書いたこととなぜ一致していないのかを確認するべきでしょ。
そういう基本ができるようにならないといつまでも教えてクンだよ。
818Name_Not_Found:2011/04/21(木) 19:31:00.44 ID:???
814
なんか読み違えてました。
var employees = eval("("+json2+")"); は
var employees=([{name:"山田",age:30},{name:"鈴木",age:28}]);
と解釈されて動きますが、
var employees = eval(json2);でも動くのに
var employees = eval("("+json2+")");として()を付けのは何故ですか?
819Name_Not_Found:2011/04/21(木) 19:36:36.45 ID:???
>>818
括弧をつける必要はない。括弧が必要だと思う根拠は?
820Name_Not_Found:2011/04/21(木) 19:42:53.69 ID:???
>>819
Javascriptに本に載ってたソースに括弧がありました。
何故括弧が欲しいのかが説明はなかったです。
821Name_Not_Found:2011/04/21(木) 19:43:41.26 ID:???
>>818
全体的に意味不明。そもそも何で配列リテラル使ってるの?
822Name_Not_Found:2011/04/21(木) 19:47:32.13 ID:???
キーは文字型にしないとダメなんじゃ
823Name_Not_Found:2011/04/21(木) 19:49:10.62 ID:???
>>821
このソースの例は
JSONを使用することでオブジェクトの配列を生成することができます。
って本に載ってました。
824Name_Not_Found:2011/04/21(木) 19:53:43.03 ID:???
>>823
それ配列じゃないから!オブジェクトだから!
著者はいろいろ勘違いしているから、その本は参考にしない方がいいよw
825Name_Not_Found:2011/04/21(木) 20:04:17.66 ID:???
var text = '[{"name":"山田","age":30},{"name":"鈴木","age":28}]';
var array = JSON.parse(text);
console.log(array);
826Name_Not_Found:2011/04/21(木) 20:10:42.21 ID:???
>>822
確かに。

eval('{age:10}'); // 10
JSON.parse('{age:10}'); // SyntaxError: Unexpected token ILLEGAL
827Name_Not_Found:2011/04/21(木) 22:54:42.52 ID:???
>>814はどこへ?
828Name_Not_Found:2011/04/22(金) 00:03:18.85 ID:???
814
それで結局
var employees=[{name:"山田",age:30},{name:"鈴木",age:28}];
って書き方は何て言うのですか?
829Name_Not_Found:2011/04/22(金) 00:11:24.50 ID:???
だからそんな書き方はしないって何度言えばわかるんだ。名称なんかあるわけない。
830Name_Not_Found:2011/04/22(金) 00:13:02.98 ID:???
>>829
825が正しい書き方なんですか?
831Name_Not_Found:2011/04/22(金) 00:35:15.64 ID:???
>>830
何を期待するか、で「正しい書き方」は変わる。

var text = JSON.stringify([{"name":"山田","age":30},{"name":"鈴木","age":28}]);
var array = JSON.parse(text);
console.log(text);
console.log(array);
832Name_Not_Found:2011/04/22(金) 00:51:25.22 ID:???
>>830
↓を期待するなら>>814が正しい書き方。

var object = JSON.parse('{"name":"鈴木","age":28}');
console.log(object);
833Name_Not_Found:2011/04/22(金) 01:03:27.73 ID:???
eval() の引数にオブジェクトリテラルを使用できない理由はこれ。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/12_Statements.html#ExpressionStatement
834Name_Not_Found:2011/04/22(金) 01:09:16.73 ID:???
今それは関係ねーだろ
835Name_Not_Found:2011/04/22(金) 01:14:24.47 ID:???
> var employees = eval("("+json2+")");として()を付けのは何故ですか?
836Name_Not_Found:2011/04/22(金) 01:19:13.27 ID:???
こういうことか。

eval('({age:10})'); // {age:10}
eval('{age:10}'); // 10
837Name_Not_Found:2011/04/22(金) 06:51:05.91 ID:???
コーディングスタイルで引数や配列を作成する際
カンマのあとに空白を開けてる人は多いと思いますが
空白を開けるのは面倒なので
あとでエディタの置換機能でカンマをカンマ+空白に置き換えてるのですが
こんなご苦労な処理バカバカしいですか?
838Name_Not_Found:2011/04/22(金) 06:52:48.62 ID:???
eclipseでも使えよw
839Name_Not_Found:2011/04/22(金) 07:01:10.43 ID:???
{name:"鈴木"}が他のものと一緒に配列になっている場合は()は不要だが
単独のときに()が無いと予想しづらい挙動をするから読者がドツボに嵌まらないようにつけてるのだろう

それにしてもJSON.parseなんて限られた環境やライブラリ使用下でしか使えないメソッドは特に初心者は使わないように
こういう便利ものをむやみやたらに使えば使うだけ難しい事を何とか今分かる範囲で処理しようとする応用力が付かないし
いざ使えなかったり使いづらい環境で困る
今回の例だと携帯
ライブラリを読み込ませるのは重たくなるから不可
evalで十分
840Name_Not_Found:2011/04/22(金) 07:07:12.63 ID:RrgfB448
>837
等幅フォント使えばスペースなんていらない
特に携帯で書いてるとスペースは見づらくなるだけ

一応断っておくがマジだから
嘘だと思うのならやってみ
841Name_Not_Found:2011/04/22(金) 08:01:01.86 ID:???
やってみたら嘘でした
842Name_Not_Found:2011/04/22(金) 11:23:22.45 ID:0AVlaTXu
var aaa = 123;
var bb = 456;
var c = 789;

みたいなのは、無性にイコールの位置を揃えたくなる。
そして揃える。無駄だけど。
843Name_Not_Found:2011/04/22(金) 11:33:05.66 ID:???
そろえりゃいいじゃん
エディタが面倒見てくれるの使えば手間でも何でもない
844Name_Not_Found:2011/04/22(金) 12:14:02.27 ID:???
>>839
> それにしてもJSON.parseなんて限られた環境やライブラリ使用下でしか使えないメソッドは特に初心者は使わないように
これはevalにこそいえることなんじゃ?初心者は>>567のように勘違いする可能性がある。
845Name_Not_Found:2011/04/22(金) 15:57:52.97 ID:???
>>837
"," が ", " になっちゃうけど良いの?
感心しないなぁw


>>840
そもそもスクリプト書いてる奴でプロポーショナルを使ってるチンカスは居ないやろ〜
あと等幅フォントでもカンマの後に半角スペース1つ入れると見やすいよ。
846Name_Not_Found:2011/04/22(金) 18:06:39.94 ID:???
JSON.parse は標準仕様だろ……
847Name_Not_Found:2011/04/22(金) 18:11:38.20 ID:???
>>846
JSONを使えないブラウザがあるから、不特定多数相手の使用は避けた方がいいですが
848Name_Not_Found:2011/04/22(金) 18:13:42.56 ID:???
json2.js使え
849Name_Not_Found:2011/04/22(金) 18:51:33.11 ID:???
>>839
重たくなるのがNGならevalなんて使っちゃ駄目だろ。
携帯ならサーバサイドでやることを第一に考える。あるいはJSONPでいい。
個人的にはスマートフォンでなければJSONを使う気がしないけど、最近の携帯はそうでもないのかな。
850Name_Not_Found:2011/04/23(土) 00:15:31.08 ID:???
>>848
それって、中でeval使ってるやん。
直接eval使った方が手っ取り早い
851Name_Not_Found:2011/04/23(土) 14:45:33.96 ID:???
function onButtonClick(){
sendRequest();
}
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた 
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
852Name_Not_Found:2011/04/23(土) 14:46:19.09 ID:???
続き

document.getElementById("date").innerHTML=("Error");}
window.onload=onButtonClick;
</script>
</head>
<body>
<div id="hantei"></div>
hello.phpの中身は<span id="date">・・・</span>です<br/>
</body>
</html>

onload関数が呼び出されるのは読み込みが完了したときなので
readystateプロパティやstatusプロパティを確認する必要がない
と本に載っていましたが、hello.phpがサーバーにないときでもonload関数
が呼び出され、xmlhttp.responseTextでnot Foundが<span id="date">・・・</span>
に表示されます。onload関数が呼び出されるのはxmlhttp.readyState == 4で
xmlhttp.status== 200のときだけでなくxmlhttp.statusがなんな値でもonload関数が呼び出さ
れるということですか?onload関数が呼び出されるのは読み込みが完了というのは
xmlhttp.statusがステータスコードを取得したときと考えていいですか?
853Name_Not_Found:2011/04/23(土) 14:48:19.04 ID:???
851の訂正
function onButtonClick(){
sendRequest();
}
function sendRequest(){
xmlhttp = new XMLHttpRequest();{
var xmlhttp;
xmlhttp.onload = function(){
document.getElementById("hantei").innerHTML=("new XMLHttpRequest()");
alert(xmlhttp.status);//hello.phpがサーバーにないと404と出る
if(xmlhttp.status== 200){//xmlhttp.statusの状態によって分けた 
processRequest(xmlhttp);}
else {processRequest2(xmlhttp);}
}
xmlhttp.open("GET", "hello.php");
xmlhttp.send(null);}
}
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
854Name_Not_Found:2011/04/23(土) 15:55:23.87 ID:???
>>851-853

意味不明すぎる。

とりあえず、
> function sendRequest(){
> xmlhttp = new XMLHttpRequest();{
> var xmlhttp;


> function sendRequest(){
> var xmlhttp = new XMLHttpRequest();
の間違いなんだよな?
(三行目消し。二行目の{も消し。var 挿入)

そして、いっていることは再現しない。
オレの環境では、404コードが変わり、ちゃんと"ERROR"が表示される。
http://jsbin.com/ozuvo4/2/edit
(少し手を加えた)

他にも言っていることがよく分からんが、とにかく
> hello.phpがサーバーにないときでもonload関数
> が呼び出され、xmlhttp.responseTextでnot Foundが<span id="date">・・・</span>>
> に表示されます。

というのは再現しない。
855Name_Not_Found:2011/04/23(土) 16:25:57.20 ID:???
彼の疑問に回答してもレスはありません
856Name_Not_Found:2011/04/23(土) 16:38:08.18 ID:???
>>854
xmlhttp = new XMLHttpRequest();xmlhttp.onload = function(){中身};
「onload関数が呼び出されるのは読み込みが完了したとき」
だからxmlhttp.status== 200は省略可能って本に書いてあったが、
xmlhttp.status== 200のときだけでなく
xmlhttp.status==404のときもxmlhttp.onloadが実行されるから
xmlhttp.onload = function(){if(xmlhttp.status== 200){中身}};
って書いたほうがいいじゃないの?って言いたかった。
857Name_Not_Found:2011/04/23(土) 19:02:20.82 ID:anI3meNR
なんでこうなるのか教えてくれー

var foo = "0";
(function() {
 alert(foo); // undefined
 var foo = "0";
})();
858Name_Not_Found:2011/04/23(土) 19:13:40.22 ID:???
巻き上げられるから
859Name_Not_Found:2011/04/23(土) 19:27:16.55 ID:???
無名関数内で
var foo = "0";
があるから
860Name_Not_Found:2011/04/23(土) 19:47:00.62 ID:U7OlVJVv
タグクラウドって、投稿時にはその投稿にあうタグをチェックするのが普通だけど
ピッタリ来るタグがない時は自分でタグを追加しなきゃいけない …という状況について質問です

1)記事本文を入力する
2)タグをさがす、、けど良いタグがない!
3)タグを追加するボタンで追加フォームがタグ候補群の下に開く(同一ウィンドウ)
4)テキストフィールドにタグを入力、送信
5)画面遷移はなしで、さっきのタグ候補群の最後に「新しいタグが追加されて表示される」
6)そいつをチェックして、記事を投稿

この流れで3〜5のフローを実現したいんですが、ajaxですよね?
どういうキーワードで調べたら良いんでしょうか?
あるいはこんな機能をもったプラグインみたいなものありますか?
ご意見お願いします
861Name_Not_Found:2011/04/23(土) 20:14:19.13 ID:???
>>857
var foo = "0";
(function() {
 // この時点で foo が関数スコープにundefined値で存在する
 alert(foo); // undefined
 var foo = "0"; // これはただの代入式(変数の初期化ではない)
})();

呼出された関数の文脈に入る前に関数宣言、仮引数、変数宣言(初期値undefined)でメモリが確保されるです。
862Name_Not_Found:2011/04/23(土) 20:59:16.55 ID:vWUGB5na
位置行削るとなんか変

var foo = "0";
(function() {
    // この時点で foo が関数スコープにundefined値で存在する
    alert(foo); // undefined
})();
863Name_Not_Found:2011/04/23(土) 21:03:27.15 ID:???
864Name_Not_Found:2011/04/23(土) 21:15:07.45 ID:???
>>862
undefined にならないぞ?
865Name_Not_Found:2011/04/23(土) 21:20:59.94 ID:vWUGB5na
関数スコープができた時点で
「var foo」で、変数オブジェクトのプロパティfooが値undefinedでセットされる

関数が実行されて、「alert(foo)」の時点では値はundefined、
「var foo = 0」で、初めて代入式が発火

って理解であってます?
866Name_Not_Found:2011/04/23(土) 21:21:07.26 ID:???
Hoistingもテンプレに入れた方がいいのかね
867Name_Not_Found:2011/04/23(土) 21:21:30.64 ID:vWUGB5na
>>864
うん。>>861を位置行削っただけだから
868Name_Not_Found:2011/04/23(土) 21:29:26.04 ID:???
>>861のとおりなら>>862もundefinedが返る気がするんだが
869 忍法帖【Lv=1,xxxP】 :2011/04/23(土) 21:32:39.25 ID:???
ボタンを押すとあらかじめ決められた単語から3つランダムで出力するものを作りたいです
例えば「あ」〜「ん」の51音からランダムで3つ出力して「し」「ま」「え」など
ボタンを押すたびにランダム出力するものを作りたいのですが教えていただけないでしょうか
870Name_Not_Found:2011/04/23(土) 21:36:36.48 ID:???
>>865
合ってる。>>857の例でいえば下記と同じ。

var foo = "0";
(function() {
 var foo;
 alert(foo); // undefined
 foo = "0";
})();

全ての変数は関数が呼び出されたときに undefined で実体化(初期化)される。
だから「関数冒頭で変数を宣言したほうがよい」とよくいわれる。
871Name_Not_Found:2011/04/23(土) 21:38:58.54 ID:???
>>869
配列に単語を格納してMath.randomで要素を特定する。
872870:2011/04/23(土) 21:41:45.03 ID:???
全ての変数じゃなくて関数内の変数だった。

>>867-868
スコープチェーン。
873Name_Not_Found:2011/04/23(土) 21:43:38.20 ID:vWUGB5na
>>870
超わかりやすいですありがとう
あと>>857置き去りでごめんなさい
874857:2011/04/23(土) 21:59:07.13 ID:???
振り返ると、そこにはスリップストリームに入っている俺の姿が

理解したありがとう
875Name_Not_Found:2011/04/23(土) 23:40:42.47 ID:???
最近 JavaScript に興味持って、このスレを見てるんですけど、
>>870 さんの書き込みにある
(function() {})();
という書き方が、なぜそうゆう書き方をしてるのか理由が知りたいです。

jQuery なども、似たような書き方を積極的にしてますよね?
876Name_Not_Found:2011/04/23(土) 23:56:46.31 ID:???
なぜって関数作って実行してるだけじゃない
877Name_Not_Found:2011/04/24(日) 00:01:53.59 ID:???
>>875
JavaScriptではグローバルスコープから変数にアクセスできないようにする(つまりグローバルを汚染しない)には関数スコープを作らなければならない
ある処理をまとめて関数スコープに入れるのに即時関数、無名関数、クロージャとも呼ばれる「(function() {})();」というので囲む
「(function() {})();」の代わりに「(function() {}());」でもいいし「+function() {}();」などでも良い

昔のFirefoxのGreasemonkeyやOperaのUserJS用にUser Scriptを書く時によく使われてるよ
878Name_Not_Found:2011/04/24(日) 00:40:18.82 ID:???
>>875
名前をつけるまでもない関数を無名関数、匿名関数と呼ぶ。
グローバル名前空間を汚さない為に使われることが多いが、クロージャを理解するとそれだけがメリットではないことを理解できると思う。

[JavaScript] 猿でもわかるクロージャ超入門 3 無名関数 - DQNEO起業日記
http://dqn.sakusakutto.jp/2009/01/javascript_2.html
JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)
https://dev.mozilla.jp/2010/05/js-blockscope-and-namespace/
879Name_Not_Found:2011/04/24(日) 01:44:58.02 ID:???
MozillaのJavaScript解説ページを見ると
クロージャは使うなと書いてあるよね。
880Name_Not_Found:2011/04/24(日) 02:01:20.36 ID:???
>>879
マジで? URIくれ。
881Name_Not_Found:2011/04/24(日) 02:12:57.50 ID:???
使うなじゃなくあんま使うな、なんじゃないの
cssの独自プロパティもそんなこと書いてあったと思う
882Name_Not_Found:2011/04/24(日) 02:21:38.05 ID:???
ここの、メモリ効率を考慮する あたりかな。無名関数でも当てはまるかどうかはシラネ

https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Functions
> このように効率が悪いので、可能な限りクロージャを避けてください。
> すなわち、可能な限り関数を入れ子にするのは避けてください。
883Name_Not_Found:2011/04/24(日) 02:50:43.70 ID:???
>>879
>>882
自分も理解しきれていない部分があるが
厳密に言えば「即時関数=クロージャ」ではないらしいよ
まぁ即時関数をクロージャと呼ぶ人もいるからそこら辺は曖昧なんだけど…

「関数の中に定義した内部関数が外側の関数(エンクロージャ)のローカル変数を参照できる仕組みをクロージャと呼んでいます(正確にはもっと小難しい説明になるのですが,JavaScriptではそれだけのことです)。」
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0005

だから関数ネストは非効率なのかもしれないけど
即時関数の使用は良いんじゃないの
どのみちletがクロスブラウザで使用できない限り
ローカルスコープの生成にはそれぐらいしか方法が無いみたいなんだから
884Name_Not_Found:2011/04/24(日) 03:17:24.67 ID:???
>>882
ほんとだ、書いてある。でも…

> この場合、inside のクロージャは result に保管されています。

って書いてあるけど、なんで?
直前のコードでresultには数値8が入っているだろ。

いや、ちょっとコードを変えればresultにクロージャが入るし、それが入ればメモリ効率が悪いっていう結論も理解できるよ。
でも、これはなんらかのミスだよね?
オレ、何か勘違いしている?
885Name_Not_Found:2011/04/24(日) 03:25:33.41 ID:???
>>884
そういうときは英語版を見るんだ
そっちだとちゃんとしたサンプルになってる
886Name_Not_Found:2011/04/24(日) 03:55:37.16 ID:???
クロージャの解説の方にはこうあります
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Working_with_Closures
>クロージャが必要とされていないのにいたずらに関数を他の関数の中に作成するのは、
>スクリプトのパフォーマンスに悪影響を及ぼすのであまり賢いやり方ではありません。

まあ必要な時に使えばいいんじゃないでしょうか
887Name_Not_Found:2011/04/24(日) 04:42:58.01 ID:x3WhTIHP
DOM の書き換えをハンドリングする方法ってありますでしょうか?

Ajax で読み込んだページの一部を埋め込んで,
埋め込んだ部分をさらに Ajax で非同期に書き換えたいのですが...
888875:2011/04/24(日) 05:40:32.56 ID:???
>>877-886
この流れと、参考 URL でちょっとだけ理解できた気がする。

クロージャって、使いようによってはオブジェクトみたいに使えるのね。
てゆか、そのもの?

889Name_Not_Found:2011/04/24(日) 13:56:46.46 ID:???
JavaScriptでは関数がオブジェクトそのもの
だから関数を変数に代入もできる
むしろJavaScriptではクロージャがない
890Name_Not_Found:2011/04/24(日) 15:42:12.58 ID:Obgl/h6o
ものすごく初心者な内容の質問なんですが
初心者スレが見当たらないので
じゃっかんスレ違いかもしれませんが、こちらで質問させてください。

http://amenti.usamimi.info/treemenu.html
↑このサイトにあるような感じの
メニュー項目をクリックするとサブメニューがスライドして現れるような
折りたたみ式のメニューを作りたいのですが、うまくできません。
クリックしてもサブメニューが出てきません。
ちなみに自分が作ってるのはこれです。↓
http://nightlykioku.nobody.jp/JavaScript_menu_test.html

たぶん、if関数を使って、CSSのスタイルのdisplayの値を切り替える感じだと思うのですが
どこが間違ってるのか、色々ググって調べたのですが、もう自分の力では分かりません。
お手上げです降参です(´;ω;`)

心優しいJavaScripterの方々、どうかお力を貸してください。
よろしくお願いします。
あ、サイト内容については何も言わないで下さい(´・ω・`)
あくまで、JavaScriptの質問なんです!
891Name_Not_Found:2011/04/24(日) 16:17:13.68 ID:???
質問するなら、問題が発生する箇所の最小限のソースを書けよ。
892Name_Not_Found:2011/04/24(日) 16:21:44.00 ID:???
>>890
× SubMenu(kakonikki_list)
○ SubMenu('kakonikki_list')

"kakonikki_list"はgetElementByIdの引数にする文字列。
これで一歩は前進する。
893890:2011/04/24(日) 19:19:29.74 ID:???
>>891
すみませんでした

>>892
すげーーー!!!神ですか?
さすが心優しいJavaScripterは格が違った。
シングルクォーテーションで囲んだら、ちゃんと動作するようになりました!
ありがとうございました!助かりました!
894Name_Not_Found:2011/04/24(日) 19:38:44.67 ID:???
もっと、何か、こう、さ。
ドーパミンが脳内にじょぼじょぼ溢れ出る様な質問来ないかなぁ。
895Name_Not_Found:2011/04/24(日) 19:40:36.39 ID:???
JQueryって使えますか?
896Name_Not_Found:2011/04/24(日) 20:08:27.93 ID:???
あなたは神を信じますか?
897Name_Not_Found:2011/04/24(日) 20:10:26.22 ID:???
どぱー
898Name_Not_Found:2011/04/24(日) 20:26:14.33 ID:???
>>894
WebGLでオレの嫁を表示する方法を教えてください。

>>895
オレは好き。
jQuery以外にも選択肢はあるけど(はず)、この手のライブラリのどれかを使わずにクロスブラウザサイトをつくろうなんて、面倒くさすぎる。
899Name_Not_Found:2011/04/24(日) 20:29:02.05 ID:???
jQueryとかJSFWを使いながらクロスブラウザに対応できてなかった事例とかある?
900Name_Not_Found:2011/04/24(日) 20:34:30.92 ID:???
JQuery とhtml5.js で最強ですか?
901Name_Not_Found:2011/04/24(日) 22:05:43.80 ID:???
もう900か。テンプレ変更提案とかありますか?変えたばっかりだから
しばらく同じで行くのでいいと思っているけど…
902Name_Not_Found:2011/04/24(日) 22:10:27.76 ID:???
俺はYUIをつかうぜー
903Name_Not_Found:2011/04/24(日) 22:14:59.08 ID:???
このスレでテンプレが改悪されてから質問者のレベル&回答者への配慮の低下が著しいな。
次スレからは、まともでない質問が湧いてこないように、削られたテンプレ部分を復活させて


1 Name_Not_Found sage 2011/02/25(金) 00:25:09.23 ID:???
━━━本スレに書く事を許される者は以下の通り━━━━━
 一、正しい(validな)HTMLとは何か知っており書ける者
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレhttp://hibari.2ch.net/test/read.cgi/hp/1295265321/
[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
      (閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/
      (閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/
[必読]ガイド https://developer.mozilla.org/Ja/JavaScript
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-7
904Name_Not_Found:2011/04/24(日) 22:16:56.12 ID:???
別にいんじゃね?教えるのけっこうおもしろいし

気になるなら上級者専用を立てなよ
905Name_Not_Found:2011/04/24(日) 22:41:50.11 ID:???
なにその箇条書き 

馬鹿過ぎる
906Name_Not_Found:2011/04/24(日) 22:42:35.61 ID:???
>>900
最強です
907Name_Not_Found:2011/04/24(日) 23:45:47.01 ID:???
改善案は >>292,299,317-329 あたりかな。
908Name_Not_Found:2011/04/24(日) 23:54:07.44 ID:???
> 一、質問を分かる日本語できちんと説明できる者
> 一、トラブルを再現する最小限のサンプルを貼れる者

この辺が出来ない奴が多すぎる。努力ぐらいはしろよと
909Name_Not_Found:2011/04/25(月) 00:01:52.66 ID:???
テンプレを書き換えてみた。(自助努力を促す文面はややきつめにしてる)
http://codepad.org/lmHm7vbX
910Name_Not_Found:2011/04/25(月) 00:10:37.73 ID:???
おつ。ところで前スレの過去ログ誰か持ってる?
part85のログをあげる準備をしておこうと思ったがpart84のログがあがってないことに今気づいたw
911Name_Not_Found:2011/04/25(月) 00:20:04.50 ID:???
>>910
持ってたからうpした
912Name_Not_Found:2011/04/25(月) 00:29:57.91 ID:???
>>909
乙ですが、1行が長すぎるとちょっと読みにくい。
913Name_Not_Found:2011/04/25(月) 00:44:10.97 ID:???
>>912
一行を短くしてみた。(注釈部分はあえて長くして自動改行に任せてる)
http://codepad.org/mskvQxyY
914Name_Not_Found:2011/04/25(月) 01:20:00.81 ID:???
> 一、質問を分かる日本語できちんと説明できる者
> 一、トラブルを再現する最小限のサンプルを貼れる者

こんなはずかしいことを掲げているスレを他に知らないw
ものすごくはずかしいね

似たような問題はあってもみんな大人の対応してるのに
ここの自治規範はお役所より低レベル
915Name_Not_Found:2011/04/25(月) 01:28:01.23 ID:???
function slide(i){
中身}
<a href="#" onClick="slide(3); return false">
onclick="関数名()"ならよく見ますが
<a href="#" onClick="関数名(); return false">
のrerurn falseって何ですか?
916Name_Not_Found:2011/04/25(月) 01:31:12.89 ID:???
>>915
デフォルトアクションの無効化。event.preventDefault でぐぐってみ。
917Name_Not_Found:2011/04/25(月) 01:32:59.94 ID:???
>>914
少なくとも2番目の項目はいいと思うんだけどなぁ。他の質問スレにも2番目の項目は入れて欲しいくらい
始めてこのスレ見た時に文字で説明しようとせずにサンプル貼ろうとしたのはこの箇条書きのおかげだし、
どの質問スレでも「問題が発生するサンプルちょうだい」ってレスはよく書き込まれる。

まぁ、今となって回答する側になってみたら当たり前のことだなと思うんだけど昔はそんなことも気付かなかったな
918Name_Not_Found:2011/04/25(月) 01:33:29.39 ID:???
>>914
ヒントもらっても初心者なのでJavaScriptを知りません。完成品下さい
ってアホも居たからな。

規律がないといくらでも荒れるぞ
919Name_Not_Found:2011/04/25(月) 01:49:28.13 ID:???
まあそこまでヒドいのは即レスで>>1に返すしかないね
920Name_Not_Found:2011/04/25(月) 01:58:06.41 ID:???
質問の枠なんてはめなくていいと思うけどな。
いまの>>1-2のような「質問者にとって回答してもらいやすい」ガイドラインで十分だと思う。

たしかに、どういう動作をさせたいのか良く分からない質問、問題が絞り込まれていない質問は答えにくい。
そして、何をしたいのか分からんが、こういうことをしたいなら…を使えばできるぞ、みたいな回答は質問した人にとって役に立たないことも多いだろう。
要は、効率的ではない。

でも、2ちゃんの質問スレで効率を求めるよりも、いろんな刺激があったほうが面白いと思うんだよね。
質問者には理解できなくても、他の人が「ほう、そういうライブラリがあるんだ」と勉強になれば、それでもいいし。
921Name_Not_Found:2011/04/25(月) 02:11:56.22 ID:???
ちらうら
オライリーのjavascriptパターンを買った
CrockfordさんのサイトとかYUIのブログ巡回に疲れた自分には良書だと思う
922Name_Not_Found:2011/04/25(月) 02:40:46.47 ID:???
>>916
こんな感じですか。
<script type="text/javascript">
function click01(){
alert("01");}
</script></head><body>
onClick="return false"でhref="〜"が無効にされる<br>
<a href="http://www.google.co.jp/" onClick="return false">onClick="return false"なのでhrefのグーグルが開かない</a><br><br>
<a href="http://www.google.co.jp/" onClick="click01()">01とアラートがでてグーグルが開く</a><br><br>
<a href="http://www.google.co.jp/" onClick="click01(); return false">01とアラートが出てグーグルが開かない</a>
</body>
923Name_Not_Found:2011/04/25(月) 09:23:57.58 ID:???
旧1(>>903)を復活させる派と短くしたまま派がいるので、
そのどちらかにするかは合意形成が必要だと思うが。
今スレの状況でいいと思うかよくないと思うかにほぼ対応
しているよね。洩れは短く変えた以上しばらくは現状派(今のとこ)。
目もあてられないひどさということはないと思うので。
924Name_Not_Found:2011/04/25(月) 11:22:35.09 ID:i7G9bgyf
旧1(>>903)は、高飛車すぎるというか、ふつうじゃないよね
925Name_Not_Found:2011/04/25(月) 12:13:03.58 ID:???
何度も言うが、あれじゃ堅すぎて回答側が子どもまるだしだよ
926Name_Not_Found:2011/04/25(月) 12:15:48.23 ID:???
あの規約をうたいたい奴って、普段の業務でどんだけ抑圧されてるかがわかる
927Name_Not_Found:2011/04/25(月) 12:23:21.96 ID:???
>>897
ふりーんだよカス!
928Name_Not_Found:2011/04/25(月) 12:39:30.42 ID:???
>>923-927までが同じ人物に見えて困る
929Name_Not_Found:2011/04/25(月) 12:55:06.79 ID:???
オマエまでが自演だろ
バレバレ
930Name_Not_Found:2011/04/25(月) 13:59:19.57 ID:???
違うよ じぇんじぇん違うよ
931Name_Not_Found:2011/04/25(月) 14:51:01.67 ID:i7G9bgyf
ここまで自演
932Name_Not_Found:2011/04/25(月) 14:52:58.96 ID:???
グスン
933Name_Not_Found:2011/04/25(月) 15:35:37.91 ID:???
遊ぶのは構わないんだけど、意味のあることも一緒に書いてくれないとレスの
無駄遣いすぎると思われ。復活派に聞きたいけど、本スレで旧1があれば
問題なかったと思われるような質問はどれとどれよ?エビデンスって奴? :-)
934Name_Not_Found:2011/04/25(月) 15:41:47.32 ID:???
>>922
そう。ちなみに>>915のような書き方は推奨しない。
アコーディオンメニューならスクリプトオフで全コンテンツが見えるようにすればよい。だからa要素である必要はない。
スクリプトオフでは何も見えないのはユーザビリティの低いやり方だな。
935Name_Not_Found:2011/04/25(月) 15:59:20.01 ID:i7G9bgyf
>>933
すまんこ
>>1をリライトしてみた

━━━自ら学んでJavaScriptを書く人のためのスレです━━━━
 誰でも分かりやすい日本語で。書き込む前に一度読みなおそう
 >>2-4のテンプレ、FAQ、過去ログ、関連資料も読もう
 JavaScriptとJavaは別物だと何度言えば(ry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

以下三つは>>2に回すべきかと

 一、ユーザに迷惑となるスクリプトを書くのはやめよう
 一、正しい(validな)HTMLとは何か知っており書ける者
 一、トラブルを再現する最小限のサンプルを貼れる者
936Name_Not_Found:2011/04/25(月) 16:08:02.85 ID:???
正直「日本語できちんと説明できる」とか「誰でも分かりやすい日本語」とかは要らないと思うんだよな。
始めに「〜な意図で下のようなコードを書いたのだけど〜ってエラーが出るんですよ」と書いてあって
後はコードだけ並んでた方がよっぽど回答しやすい気がする。

むしろ日本語でわかりやく書こうと長文になってる質問は
「用語調べてこい」「よくわからん」「コード出せ」
って起こられるパターンが多いから可哀想だわ
937Name_Not_Found:2011/04/25(月) 16:13:56.67 ID:???
「いわなくてもわかる部分」と「いわないとわからない部分」の境界なんだよな。
旧テンプレは後者が強かったが、やりすぎると質問も回答も投稿しづらくなる。
938Name_Not_Found:2011/04/25(月) 16:23:44.61 ID:???
>正直「日本語できちんと説明できる」とか「誰でも分かりやすい日本語」とかは要らないと思うんだよな。

まったくだ。何度も言うがこんなこと規定してるほうが恥ずかしいわ
939Name_Not_Found:2011/04/25(月) 16:25:57.44 ID:???
> 一、正しい(validな)HTMLとは何か知っており書ける者
初心者は「正しい(validな)HTML」が何かわかってないと思うよ
http://validator.w3.org/ でエラーの出ないHTMLを貼ってください」とかわかりやすい指針が必要かと
940Name_Not_Found:2011/04/25(月) 16:41:46.47 ID:i7G9bgyf
>>938
じゃあ、こうで

━━━自ら学んでJavaScriptを書く人のためのスレです━━━━
 >>2-4のテンプレ、FAQ、過去ログ、関連資料も読もう
 書き込む前に一度読み直しましょう
 JavaScriptとJavaは別物です(キリッ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
941Name_Not_Found:2011/04/25(月) 16:43:59.14 ID:???
Validator のリンクを追加してみた。
http://fiddle.jshell.net/vSqKr/24/show/
正しい云々は一つ一つ指摘していくときりがないな。
HTML, CSS, JSON, ECMAScript の全てをテンプレで指摘するのは現実的ではない気が。
942Name_Not_Found:2011/04/25(月) 16:54:46.19 ID:???
テンプレを読む人は全部読むし読まない人は全く読まない
>>1はそのままで>>2に加筆修正するだけでいいと思うな
必要なら>>2に誘導すればすむし、>>1-2に分散してるとむしろ誘導しにくい
943Name_Not_Found:2011/04/25(月) 17:01:16.50 ID:i7G9bgyf
むしろ>>2>>1にするとか
944Name_Not_Found:2011/04/25(月) 17:03:49.53 ID:???
今まさにテンプレを読んでいる人に「テンプレを読もう」と注意喚起する要あるのかな?
読んでいない人にこそ指摘したいはずなんだけどw
945Name_Not_Found:2011/04/25(月) 17:10:52.16 ID:???
>>943
場所の問題じゃないと思うがな
946Name_Not_Found:2011/04/25(月) 17:21:26.64 ID:???
まったくだ
947Name_Not_Found:2011/04/25(月) 17:22:07.91 ID:???
>>1を読んだとしても長ったらしい>>2-4まで読むとは限らんから
>>1>>2-4ヨメと書くのは意味があるだろう
948Name_Not_Found:2011/04/25(月) 17:23:15.32 ID:???
FAQのリンク更新(>>941)と>>1にテンプレ嫁を追加してみた。議論が必要そうなものは保留してる。
http://codepad.org/uJgkmfNs
949Name_Not_Found:2011/04/25(月) 17:24:22.37 ID:ZYGQlr9U
>>1と現>>2は、目的は同じなんだよな
要は「ちゃんと質問しようぜ」って喚起してるって意味で

それが>>1になくなったのが、問題なんじゃないかな
950Name_Not_Found:2011/04/25(月) 17:28:51.00 ID:???
>>949
>>1を読んで>>2を読まない人」を考慮してるんだよな
そういう人は(自分にとって)必要な情報だけ読むから>>1に「ちゃんと質問しようぜ」があっても読み飛ばすと思う
951Name_Not_Found:2011/04/25(月) 18:54:33.32 ID:???
懸案事項はこの辺かな。

>>1>>2を入れ替えるべき
・書き込む前に一度読み直しましょう
・JavaScriptとJavaは別物です(キリッ
・正しい(validな)HTML
952Name_Not_Found:2011/04/25(月) 18:58:31.54 ID:???
だーかーらー

書き込む前に一度読み直しましょう

↑おかしいって。そういうアホも世の中には確かにいるけど、わざわざ掲げてるとこっちがアホみたいだ
953Name_Not_Found:2011/04/25(月) 19:00:07.42 ID:???
テンプレとかカスはどうせ読まないから議論が無意味
954Name_Not_Found:2011/04/25(月) 19:05:47.79 ID:???
テンプレ不要派は議論に参加しなくていい
955Name_Not_Found:2011/04/25(月) 19:33:07.11 ID:i7G9bgyf
>>952
テンプレから旧>>1を外したら
そういうアホが増えたね、って話だから…
956Name_Not_Found:2011/04/25(月) 19:53:47.61 ID:???
動かないサンプル貼る人とかね
957Name_Not_Found:2011/04/25(月) 20:05:52.71 ID:???
ジェイクエリーのスレってないの?
958Name_Not_Found:2011/04/25(月) 20:12:32.32 ID:???
959Name_Not_Found:2011/04/25(月) 20:16:57.23 ID:???
動かないサンプル貼る人は以前からいた
960Name_Not_Found:2011/04/25(月) 20:29:07.08 ID:???
そんなに増えたかな?
たいして変わってない気がするんだけど
961Name_Not_Found:2011/04/25(月) 20:36:45.14 ID:???
テンプレにあることで「回答してはいけない」風潮だったのが最近はそうでもない
それが古株には許せないのかもね
962Name_Not_Found:2011/04/25(月) 20:52:16.23 ID:???
<script type="text/javascript">
function aa(){ alert("Hello");}
</script>
onClick="aa"

onClick="aa"を押して10秒後や20秒後に遅れてalertを
出すなどはどうするんですか?
963Name_Not_Found:2011/04/25(月) 20:56:30.63 ID:i7G9bgyf
>>962
setTimeout


>>961
新参ですがそんな風潮あったんですかね
964Name_Not_Found:2011/04/25(月) 21:16:37.07 ID:???
JavaScript自体がブラウザ依存のユルユル言語だから
スレもそう堅苦しくならずにいけばいいんじゃないかと
965Name_Not_Found:2011/04/25(月) 21:38:41.97 ID:???
セミコロンとかなくても問題なくjavascriptが動くが
c言語でセミコロン忘れるとコンパイルでエラー出て
イラつくよな
966Name_Not_Found:2011/04/25(月) 21:45:11.13 ID:???
donnatenukinoshitsumonnwoshitemo,omaeragadoryokushitekaidokushitekotaerrebaiindayo.
967Name_Not_Found:2011/04/25(月) 22:23:36.79 ID:???
>>963
明らかに情報不足だなと思える質問はスルーされるのが当たり前だった
スレの進行速度も一日に2〜3レスぐらい
必要最小限のレスしかないのがふつうで長文レスはうざがられる
回答は上級者のみに絞られていて安易に回答出来ない雰囲気があった
968Name_Not_Found:2011/04/25(月) 22:25:15.40 ID:???
スレなんて時間とともに変化していくものだよ
969Name_Not_Found:2011/04/25(月) 22:31:24.29 ID:???
じゃあ馬鹿っぽいって叩かれてる項目抜いてこれでいいんじゃねーの

 一、正しい(validな)HTMLとは何か知っており書ける者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、トラブルを再現する最小限のサンプルを貼れる者
970Name_Not_Found:2011/04/25(月) 22:34:08.52 ID:???
>>969
>>948に「正しい(validな)HTML」を加えれば作れそうだな
971Name_Not_Found:2011/04/25(月) 23:13:42.58 ID:i7G9bgyf
結局

自ら学んでJavaScriptコードを書く人のためのスレです
テンプレ>>2-4

ってだけ書いとけばいいんでないかい?
972Name_Not_Found:2011/04/25(月) 23:52:39.63 ID:???
>>939,969 を反映してみた。
http://codepad.org/1XBEi0W4
973Name_Not_Found:2011/04/26(火) 00:08:15.20 ID:???
指定した外部サイトの文章に特定の文字が含まれているか自動で何回も検索するスクリプトを作りたいんですが
外部サイトの文章を取り込むにはどうすればいいんでしょうか?
974Name_Not_Found:2011/04/26(火) 00:11:49.06 ID:???
>>973
http://www.w3.org/TR/XMLHttpRequest2/
ただし、外部サイトが Access-Control-Allow-Origin でアクセスを許可している必要がある。
975Name_Not_Found:2011/04/26(火) 00:16:11.07 ID:???
全てのサイトで検索できるようにするにはjavascriptでは無理ですか?
976Name_Not_Found:2011/04/26(火) 00:19:31.09 ID:???
>>975
はっきりいって迷惑スクリプトの類だからJavaScriptでは許可されない。
スクレイピングは他人のサイトのいいとこ取りだからね。
977Name_Not_Found:2011/04/26(火) 00:23:47.90 ID:???
ありがとです、スクレイピングっていうんですね
まあ掲示板を監視したかっただけなんですができないようなのであきらめて他の言語にあたることにします。
978Name_Not_Found:2011/04/26(火) 00:33:28.76 ID:???
Windows なら JScript 使うと良いよ。
ファイルシステム使うなら VBScript の方が良いかもだけど。
979Name_Not_Found:2011/04/26(火) 02:02:11.67 ID:???
>>969
もう普通に敬語で書けば反発も少ないんじゃないのかね
もともとシャレで道場訓ぽく書かれたんだろうけど
「道場訓」の標記が消えてただの高圧的な文章になってるしw
980Name_Not_Found:2011/04/26(火) 08:08:44.80 ID:???
時間切れですね。次スレは現行と同一でしかたないと思うがいかが。
981Name_Not_Found:2011/04/26(火) 09:41:20.29 ID:???
時間切れにしても微調整ということで
http://codepad.org/1XBEi0W4
でいいんじゃまいか。しばらく待って異論なければこれで
(スレ建て規制食らってなければ)建てようと思うんでOK?
982Name_Not_Found:2011/04/26(火) 11:01:44.52 ID:???
そしてninja-状態か。
>トラブルを再現する最小限のサンプルを貼れる者
これだけはいれてくれw
983Name_Not_Found:2011/04/26(火) 11:31:33.56 ID:???
まだ言ってるよ
常識は書かなくていい。なぜなら常識を逸脱するやつはそんなの読まないから。
目を通すのは常識あるひとのみ。そしてそのひとらにナメられる
984Name_Not_Found:2011/04/26(火) 12:01:21.21 ID:???
>>981
再現性にも触れられているしそれでいいんじゃないか
985Name_Not_Found:2011/04/26(火) 12:44:50.16 ID:???
やっぱり洩れには建てられませーん。誰かお願い。>>981 で。
テンプレの議論は引き続きやるんでいいと思うんで。
無視してるわけではないのでそこんとこよろ。
986Name_Not_Found:2011/04/26(火) 13:08:54.95 ID:???
>>985
立てれそうだったので次スレ立ててみた
+ JavaScript の質問用スレッド vol.86 +
http://hibari.2ch.net/test/read.cgi/hp/1303790568/

テンプレ議論参加してなかったんですが、不備があったらごめんなさい
987Name_Not_Found:2011/04/26(火) 13:13:47.36 ID:???
ありがと!>>986
再現するサンプルだけど、テンプレに書いてあっても結局繰り返し
言う羽目になる(駄目な奴ほど書いてあっても無駄)という印象だった。
だからそういう奴に書けというかテンプレを指すかの違いでしかないよね。
988Name_Not_Found:2011/04/26(火) 13:32:03.86 ID:???
それを言ったらテンプレ自体要らなくなるだろアホか
989Name_Not_Found:2011/04/26(火) 13:44:38.41 ID:???
>>988
それはないね。FAQとかは「FAQにあるよ」と指摘する方がだいたい説明が
簡単だし、それ見た人がFAQを(少しは)読んで自力解決するようになるかと。
990Name_Not_Found:2011/04/26(火) 14:04:47.71 ID:???
常識はあるが質問の仕方を知らない人はテンプレを読むから無意味じゃない
991Name_Not_Found:2011/04/26(火) 14:05:06.40 ID:???
専ブラを使わない場合>>1と特定のレス以降が表示される
専ブラによってもそうだろう
>>1だけ読んで>>2-4とか読まない人は多いと思うが・・・
その為に>>1に書くということは悪くないと思うんだが
992Name_Not_Found:2011/04/26(火) 14:19:44.22 ID:???
>>990



テンプレがいらないんじゃない
jsと直接関係ない一般常識を書くのがバカバカしいだけだ
おまえの常識はダイジョーブかwww
993 忍法帖【Lv=4,xxxP】 :2011/04/26(火) 14:37:50.99 ID:???
それも一理あるが、常識の範囲内。
994Name_Not_Found:2011/04/26(火) 14:59:33.91 ID:???
>>992
一般常識がテンプレに必要とは一言もいってないんだが、おまえこそ大丈夫か?
995 忍法帖【Lv=4,xxxP】 :2011/04/26(火) 15:08:03.64 ID:???
常識ある人はそんな事ぐらいでナメたりバカにしたりしないから安心しろ
996Name_Not_Found:2011/04/26(火) 15:09:05.62 ID:???
「再現可能な最小限のコードを掲示する」は一般常識じゃないよな……
997Name_Not_Found:2011/04/26(火) 15:18:26.54 ID:???
釣りに混じれ酢
998Name_Not_Found:2011/04/26(火) 15:25:53.36 ID:???
本当は違うんだろうけど釣りってことにしとけw
999Name_Not_Found:2011/04/26(火) 15:27:03.56 ID:???
>>993
ちょっとなに言ってんのかわかんない
1000Name_Not_Found:2011/04/26(火) 15:27:44.36 ID:???
おまん
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。