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

このエントリーをはてなブックマークに追加
1Name_Not_Found
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
2Name_Not_Found:2013/01/25(金) 12:53:59.01 ID:???
■前スレ
+ JavaScript の質問用スレッド vol.104 +
http://toro.2ch.net/test/read.cgi/hp/1352506660/

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

■テンプレ案
http://jsfiddle.net/fH4cC/10/show/

■関連スレ
ECMAScript デス 4
http://toro.2ch.net/test/read.cgi/tech/1325448978/
【jQuery】JavaScript ライブラリ総合質問所 vol.2
http://toro.2ch.net/test/read.cgi/hp/1350728831/
WSH(・∀・)スレッド! Part 4
http://toro.2ch.net/test/read.cgi/tech/1243095768/ →消失中 (5も過去ログ倉庫)
【WHATWG】HTML5 Part4【W3C HTML WG】
http://toro.2ch.net/test/read.cgi/hp/1329529892/
Webサイト制作初心者用質問スレ part232
http://toro.2ch.net/test/read.cgi/hp/1357950586/
CSS初心者スレッド=12th=
http://toro.2ch.net/test/read.cgi/hp/1343429848/
Canvasについて語ろう
http://toro.2ch.net/test/read.cgi/hp/1305093769/
3Name_Not_Found:2013/01/25(金) 12:55:22.90 ID:???
■主要FAQ (全部は http://fiddle.jshell.net/vSqKr/33/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:2013/01/25(金) 12:56:54.84 ID:???
■各種仕様 ( http://fiddle.jshell.net/vSqKr/33/show/#Link も参照 )
◆ Standard ECMA-262
http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm (本家PDF版アーカイブ)
http://es5.github.com/ (ECMAScript 5.1 有志HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
◆ ECMAScript compatibility table
http://kangax.github.com/es5-compat-table/ (ECMAScript 5)
http://kangax.github.com/es5-compat-table/es6/ (ECMAScript 6)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://dom.spec.whatwg.org/ (DOM Standard (DOM4))
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/cssom/ (CSSOM)
http://www.w3.org/TR/cssom-view/ (CSSOM View Module)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://xhr.spec.whatwg.org/ (XMLHttpRquest)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
◆ MSDN Library
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
5Name_Not_Found:2013/01/25(金) 14:09:48.98 ID:???
>>2の■テンプレ案の最新
http://jsfiddle.net/fH4cC/17/show/
6Name_Not_Found:2013/01/25(金) 14:15:35.92 ID:???
あれーまた違ってましたか。なんで見落としてしまうのかなー。すみません。
7Name_Not_Found:2013/01/25(金) 19:16:35.06 ID:???
https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener
これみたら一つ上のカテゴリーが


MDN>Document Object Model (DOM)
ってなってて
それがhttps://developer.mozilla.org/en-US/docs/DOM
なんだけど
実際にここからどう辿っていったらaddEventListenerのページまでたどり着けるんですか?
8Name_Not_Found:2013/01/25(金) 19:40:34.25 ID:???
9Name_Not_Found:2013/01/27(日) 13:00:37.16 ID:CMosoWs7
かなりの初心者ですがよろしくお願いします。

遅れてやってくるマウスストーカーを作りたかったのですが
ストーカーさせたい要素がマウスに近づかず、元の位置から5px程度しか
マウスに合わせて動かなかったり、マウスを動かすと一度だけ位置が
数px更新されるだけでとまってしまったりします。
変数を中の関数から出してみたりいろいろ試しましたが解決しませんでした。

actionscriptのサンプルコードを改変したものです。
例えばmouseXをevent.clientXにという感じです。

原因と解決方法、ヒントなどが分かる方よろしくお願いします。
10Name_Not_Found:2013/01/27(日) 13:01:10.77 ID:CMosoWs7
これがコードです

window.onload = function() {
var velocity = 0.3,
speed = 5;


document.onmousemove = function (event) {
var mX = event.clientX,
  mY = event.clientY;
var cnvs = document.getElementById("canvas1");
var cnvsX = cnvs.style.left;
var cnvsY = cnvs.style.top;

var dX = mX - cnvsX;
var dY = mY - cnvsY;
var angle = Math.atan2(dY,dX);
cnvs.style.rotate = angle * 180 / Math.PI;
var vX = Math.cos(angle) * speed;
var vY = Math.sin(angle) * speed;
cnvs.style.left += (vX + "px");
cnvs.style.top += (vY + "px");
}
};
11Name_Not_Found:2013/01/27(日) 13:52:26.40 ID:???
すいませんHTMLも含めてコピペして動くものをおねがいできませんか
codepadとかideoneとかどっか別サイトにはってもらっていいので
12Name_Not_Found:2013/01/27(日) 14:31:44.39 ID:CMosoWs7
載せてみましたけど上手くいかないです

http://codepad.org/QPimE1DO
13Name_Not_Found:2013/01/27(日) 15:44:34.93 ID:???
全部直せとかいうのは断る。遅れて動くということは一番最近に
取得した位置まで「徐々に」近づいて行く動作をするための
setIntervalで定期的に動作するコードが必要だと思うけどいかが。
14リリン:2013/01/27(日) 19:19:20.17 ID:??? BE:235677593-PLT(45072)
window.onload = function() {
//var velocity = 0.3;

cnvs = document.getElementById("canvas1");

cnvs.style.position = "absolute";
cnvs.style.top = 0 + "px";
cnvs.style.left = 0 + "px";

document.body.onmousemove = function (event) {

var mX = event.clientX;
var mY = event.clientY;
var cnvs;
if(!cnvs){
cnvs = document.getElementById("canvas1");
}
var cnvsX = cnvs.style.left;
var cnvsY = cnvs.style.top;

cnvsX = cnvsX.replace("px",'');
cnvsY = cnvsY.replace("px",'');

cnvs.style.position = "absolute";

var dX = mX - cnvsX;
var dY = mY - cnvsX;

cnvs.style.left = dX + "px";
cnvs.style.top = dY + "px";
}
}
15リリン:2013/01/27(日) 19:19:51.96 ID:??? BE:349152285-PLT(45072)
それっぽく動いたけど、あとは座標の調節と+-の操作うまいことやっちくりー
16Name_Not_Found:2013/01/28(月) 11:35:36.87 ID:???
スレの始まりでは前スレ終わったかどうか見てから書き込んでよ

>>7
https://developer.mozilla.org/en-US/docs/DOM
(「Gecko DOM Reference」)

https://developer.mozilla.org/en-US/docs/Gecko_DOM_Reference
(「DOM element Reference」→「Methods」)

https://developer.mozilla.org/en-US/docs/DOM/element#Methods
(「addEventListener」)
17Name_Not_Found:2013/01/28(月) 12:02:33.05 ID:???
ローカルルールのリンク先更新の人が最近迅速なので、次からは前スレ
がほぼ埋まってからリンク先更新を依頼するようにしませう。
18Name_Not_Found:2013/01/28(月) 14:17:04.67 ID:???
wikiつくってよ
19Name_Not_Found:2013/01/28(月) 14:19:00.97 ID:???
言いだしっぺの法則
20Name_Not_Found:2013/01/28(月) 16:21:50.93 ID:???
wikiとかいらんから日本語stackoverflow作ってよ
21Name_Not_Found:2013/01/28(月) 16:56:48.07 ID:???
無料サイトでよければQ&Aサイトつくれますよ
22Name_Not_Found:2013/01/28(月) 22:44:47.43 ID:???
そういや、このjsの質問スレの抜粋した内容のwebサイト
作るって言ってた人がいた気がしたがどうなったっけ?
23Name_Not_Found:2013/01/29(火) 00:14:50.64 ID:???
先生達 この問題を解決してください

もう先生たちの力しかたよれません。

ちなみに教えてgooに質問してますので問題の内容は教えての方をみてください

http://oshiete.goo.ne.jp/qa/7916158.html
24Name_Not_Found:2013/01/29(火) 01:12:41.80 ID:???
>>22
そんな人いた?
25Name_Not_Found:2013/01/29(火) 08:28:54.22 ID:???
>>20
http://qa.atmarkit.co.jp/
日本語版 stackoverflow
あまり流行ってはない感じ。
26Name_Not_Found:2013/01/29(火) 09:47:57.76 ID:???
質問。jQueryでイベントを貼ったDOMのキャッシュをjsで持って使いまわしたい。
しかし一度bodyから剥す(jQuery#empty)とイベントが発火しなくなる。

DOMを作ってイベントを貼る
var $el = $("<div>").html("<div>click me</div>");
$el.on('click', function(){console.log('clicked')});

DOMに貼り付けるとclickイベントはちゃんと動く
$(body).append($el);//=> クリックしてclicked

DOMに再度貼り付けるとclickイベントが消えている
$(body).empty();//DOMの中身を消す
$(body).append($el);//クリックしてもイベントが発火しない

環境はChrome Mac / jQuery1.9
jQueryで作ったDOMはそのままキャッシュしていると思うんだけど、違うんでしょうか
$el[0].onclick = function(){…}と定義すれば動くけど、それは<div onclick=… に書き換えてるからやりたいことと違う
27Name_Not_Found:2013/01/29(火) 10:43:06.31 ID:???
onとかliveとかの話?
28Name_Not_Found:2013/01/29(火) 10:47:12.59 ID:???
$.emptyの前に$el.detach();で消す
29Name_Not_Found:2013/01/29(火) 11:07:13.21 ID:???
>>28
あざっす!動きました。
removeやemptyはイベントハンドラも削除してたんですね
$(body).html('')でも消えてたんで焦ってたんですが
ドキュメントよく読めば書いてあるしもうちょっと調べればよかったです…
30Name_Not_Found:2013/01/29(火) 19:51:06.42 ID:???
>>>13 >>>14
ありがとうございます。
やっぱりif文チェックとかsetIntervalが必要そうですね。
べったりくっ付くマウスストーカーは楽勝なんですけど
早くクオリティ上げるよう勉強します
31Name_Not_Found:2013/01/29(火) 23:02:04.31 ID:???
オレはjavascript、html5、jQueryのサンプル公開してるwebサイト
をいくつか持ってるが、このスレの内容は一部改変して使ってる。
ほかに、プログラム本のソースコードとか他人が公開したコード
を一部改造して使ってる。ネットでプログラムのネタは山のようにあるな。
32Name_Not_Found:2013/01/30(水) 00:22:19.44 ID:???
何かのコピペ?
33Name_Not_Found:2013/01/30(水) 07:36:20.55 ID:???
>>31
品質が低そうだし、いつか著作権違反で訴えらそうだね。
34Name_Not_Found:2013/01/30(水) 07:38:30.11 ID:daUpsymW
この記事
ttp://kwski.net/jquery/1049/

を参考に、Chosenの導入を考えたのですが、
<script src="<layer highlight=・・・ </layer>.min.js"

の意味が理解できませんでした。
layerはページを分割するタグではなかったでしょうか?
それがjsファイルの指定の途中に出てきたり、
highlight= など不明な指定もあって混乱してしまいました。

ググってもなかなかこの説明をしているサイトを見つけられませんでした。
どなたご存知の方、このlayerタグの意味を教えてくださいませ。
3534:2013/01/30(水) 07:40:59.37 ID:???
す、すいません><
Firefoxのアドオンsearchwpが原因だったようです!
IEにしたら短いサンプルソースが表示されました・・・・。
面目ない!
36:2013/01/30(水) 10:02:26.93 ID:???
許しましょう!
37Name_Not_Found:2013/01/30(水) 23:24:44.65 ID:???
>>33
広く浅く一般的なことしか載せてないから訴訟はされないだろ。
たいしてアクセス数ないし
38Name_Not_Found:2013/01/31(木) 19:36:17.00 ID:/WuRKlyJ
document.getElementById("display").addEventListener("mousemove", movecheck_in);

function movecheck_in(p){
console.log("called func in");
document.getElementById("indicator").innerHTML = "x=" + p.clientX + "; y=" + p.clientY;
}

こういうコードにあるpっていうのはイベントオブジェクトというものですか?
この場合はpとしていますが、このpはどんな名前でもいいんでしょうか
39Name_Not_Found:2013/01/31(木) 20:28:31.53 ID:???
>>38
イベントオブジェクトだぜ。
p以外の名前でもいい。
pはeventとかevtとかの名前になってるサンプルコードが多いな
40Name_Not_Found:2013/02/01(金) 11:28:07.00 ID:???
>>37
バレる可能性が低ければ何をやってもいいと考える小悪党ですか。
41Name_Not_Found:2013/02/01(金) 15:32:20.95 ID:???
そういえばV8って実は日本語(というかUTF8)の変数通すから

(function(ちくわ大明神){
console.log(ちくわ大明神);
})('馬鹿めヤツは死んだわ');

とかもコンパイル通るんだよな
42Name_Not_Found:2013/02/01(金) 18:55:08.92 ID:???
>>40
プログラムの解説してるwebサイトとかサンプル公開してる
webサイトって似てるのばっかやんっと言ってみる
43Name_Not_Found:2013/02/01(金) 19:24:10.96 ID:???
一部例外除いて、プログラミング言語としてJSしか覚えてない人のJSは質が低い
俺が他人にJS教えるときは、ネットに落ちてるコード(とくにAJAX以前)は参考にするなと言っている

John Resig(jQuery), Jeremy Ashkenas(Backbone) あたりがモダンなJS書く印象
日本だとカヤック、サイボウズ、モジラ系の連中の一部がレベル高い感じ
44Name_Not_Found:2013/02/01(金) 20:01:01.70 ID:???
質の高いコードを書くことなんかより、
風呂場を清潔に保つことの方が難しいけどな。
45Name_Not_Found:2013/02/01(金) 21:04:17.35 ID:???
>>43
jQueryは参考にさせたくないコードの筆頭だと思うけどなー
46Name_Not_Found:2013/02/01(金) 21:13:00.44 ID:???
ライブラリのコードはショートコーディングが多かったり、
minify後に小さくなるようなテクニックを使ってたりするから、
一般のスクリプトを書く際の参考にはあんまりならなさそう

http://d.hatena.ne.jp/uupaa/20100730/1280502000
http://nanto.asablo.jp/blog/2013/01/28/6703606
47Name_Not_Found:2013/02/01(金) 21:17:50.51 ID:???
jQueryは目的上どうしてもメタプロ気味なリフレクション黒魔術しないといけないからなぁ
ライブラリの基礎部分はメタプロしてもいいけど、表にそれがはみ出るやつはダサい
48Name_Not_Found:2013/02/01(金) 21:21:02.78 ID:???
>>42
赤信号もみんなで渡れば怖くない、と考える小(ry
49Name_Not_Found:2013/02/01(金) 22:18:30.94 ID:kEqaL3ov
>>47
もう少しわかりやすく
50Name_Not_Found:2013/02/02(土) 01:06:58.13 ID:???
>>49
白鳥が水面下で足をバタバタさせるのはいいけど
水面に波を立ててはいけない
51Name_Not_Found:2013/02/02(土) 01:10:00.43 ID:???
>>50
そっちは大丈夫です
黒魔術云々の方
52Name_Not_Found:2013/02/02(土) 02:35:11.08 ID:???
jQueryのcore眺めてみたけど、こことか普通やんないしやられたらキレるわ、って感じだった

// Populate the class2type map
jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
class2type[ "[object " + name + "]" ] = name.toLowerCase();
});
53Name_Not_Found:2013/02/02(土) 03:20:00.25 ID:???
書いた人はどや顔してそう
54Name_Not_Found:2013/02/02(土) 08:12:58.12 ID:???
何で最初から配列にしてないんだろうな・・
55Name_Not_Found:2013/02/02(土) 14:42:39.25 ID:???
早いし後から追加したりが簡単じゃん
56Name_Not_Found:2013/02/02(土) 16:18:43.39 ID:???
for文の中で識別子エラーが出るんですが、これのどこが問題なんでしょか。

document.write("<span class='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");
57Name_Not_Found:2013/02/02(土) 16:42:19.78 ID:???
"</span>"
58Name_Not_Found:2013/02/02(土) 16:58:13.68 ID:???
最低限変数はalertなりで出力して確認したあと置換してここに張れ
59Name_Not_Found:2013/02/02(土) 17:35:29.17 ID:???
>>58
変数はアラートで確認しましたけど、問題はなかったです。
>>57
そこがおかしいんですかね?

消去法ではclass='s"+i+"'がおかしいようなんですけど。
60Name_Not_Found:2013/02/02(土) 17:38:55.47 ID:???
それと
i:35
snowmaxsize:30
snowletter:"*"
です。
61Name_Not_Found:2013/02/02(土) 17:51:16.25 ID:???
僕はエスパーじゃないのでわからないです
62Name_Not_Found:2013/02/02(土) 17:55:03.82 ID:???
どうすれば伝わりますかね。
63Name_Not_Found:2013/02/02(土) 17:58:13.97 ID:???
var i=35, snowletter="*", snowmaxsize=30;
document.write("<span class='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");

うちではIEでもfirefoxでもChromeでも普通にタグが追加される
64Name_Not_Found:2013/02/02(土) 18:00:19.10 ID:???
>>55
["A", "B", "C"] より "A B C".split(" ") の方が早いの?
追加は簡単だと思うけど
65Name_Not_Found:2013/02/02(土) 18:04:12.79 ID:???
>>63
こちらの環境がおかしいのかもしれないですね。
どうもありがとうございました。
66Name_Not_Found:2013/02/02(土) 18:27:41.86 ID:???
配列より文字列の方が早いのかな?
67Name_Not_Found:2013/02/02(土) 18:33:10.18 ID:???
(入力が)早いって事かもしれんぞ
68Name_Not_Found:2013/02/02(土) 18:38:37.60 ID:???
["A","B","C"]より"A B C".split(" ")の方が、
ガーベジコレクトなんかを含めたオブジェクト管理の負荷が少なそう
69Name_Not_Found:2013/02/02(土) 18:40:16.43 ID:???
変なコードには裏があるってね
70Name_Not_Found:2013/02/02(土) 19:40:10.36 ID:???
>>65
たとえ文字列の中でも「</」はそのまま書いたらだめよ。「<\/」にしてみ。
それが定石。
71Name_Not_Found:2013/02/02(土) 20:04:18.68 ID:???
>>70
これマジ? \\なら分かるが / は別にそのままでよくね?
72Name_Not_Found:2013/02/02(土) 20:08:53.05 ID:???
HTML中の<script>タグの中に直接書く場合ってことかな?
73Name_Not_Found:2013/02/02(土) 21:04:35.26 ID:???
>>71
scriptタグの中は、
<script>
この中には</が続いてはダメ
</script>
ってコーティングするルールがある。good partsとかに載ってる
コードも<\/ってなってるから読んでみな。
74Name_Not_Found:2013/02/02(土) 21:31:42.71 ID:8JmUaozm
流れぶったぎっての質問お許し下さい。
google map api v2でもv3でも良いのですが、
GIconまたはGMarkerを画像を使わずcssで描く方法はないでしょうか?
画像無しのアニメーションを作りたいのです。
75Name_Not_Found:2013/02/02(土) 21:45:39.85 ID:???
暇だったので script タグの中に </ があるかどうか調べる正規表現作ってみた

<script\b[^>]*>([^<]*<[^\/])*[^<]*<\/(?!script)

完璧ではないが( a = "</script" みたいなのは見逃す)
自分のコード調べてみたらいっぱい見つかったorz

データ専用の script タグ(例えば <script type=text/plain>)
の中でも </ はエスケープした方がいいのかな
76Name_Not_Found:2013/02/02(土) 21:50:04.55 ID:???
そもそもそんな長いコードは外部ファイルにすべきだろ
77Name_Not_Found:2013/02/02(土) 21:52:02.17 ID:???
htmlのiframeを
<iframe src="about:blank" data-src="http://www.hoge.co.jp/"></iframe>
のようにしておき、以下のコードで「iframeがwindowの中に入ったらiframeの中身を読み込む」こと(遅延ロード)をやりたいと思いました。
$(function(){
$(window).scroll(function(){
$("iframe").each(function(){
var self = $(this);
var windowhi = $("body").scrollTop();
var windowlow = $("body").scrollTop() + $(window).height();
var iframehi = self.position().top;
var iframelow = self.position().top + self.height();
if(self.attr("data-src") && (((windowhi < iframehi) && (iframehi < windowlow)) || ((windowhi < iframelow) && (iframelow < windowlow)))){
self.attr("src", self.attr("data-src")).removeAttr("data-src");
}
});
});
});
これでiframeを遅延ロードすることはできたのですが、iframeを読み込んだ後に「戻る」ボタンなどで前のページに戻ろうとすると、iframe読み込み前になるだけで前のページに戻りません。これを解決するにはどうすればいいでしょう。
(firefox:18.0.1 jQuery:1.7.2)
78Name_Not_Found:2013/02/02(土) 22:00:45.64 ID:???
>>75
JSの場合に</を<\/にエスケープしていいのはJS側で</に解釈してくれるからであって、
テキストの</を<\/に変換したら、そのテキストを読んで処理する側の対応が必要になるんじゃない?
79Name_Not_Found:2013/02/02(土) 22:21:01.37 ID:???
>>73
なるほどありがとう
80Name_Not_Found:2013/02/02(土) 22:35:20.07 ID:???
>>78
仰る通りで
読み込み処理が分散してなければ修正は難しいわけではないっすが
81Name_Not_Found:2013/02/02(土) 23:12:08.11 ID:???
質問です

function play()
{
playSound('音楽ファイル場所');
}
としていて音楽鳴らす
タイミングをplay();を指定しています。

最盛時の音量は数字で制御出来ることはできないでしょうか?

play();
volume(80);
みたいに数字ではふかのですかね?
わかる方教えてください。
82Name_Not_Found:2013/02/03(日) 00:07:42.17 ID:???
>>81
そもそもそんな質問する時点で、君は何もわかってない

おそらく HTML5 Audioを使っているものと推測するが

function playSound(){
audio = new Audio('file path');
audio.play()
}

となっているとエスパー
ならば、audio.play() の下に audio.volume = 0.5 などとする必要がある
そもそも元の関数を書き換えればいいわけでそのplay関数は不要
83Name_Not_Found:2013/02/03(日) 05:59:26.65 ID:HIMGfctU
jsで、インプットタグでアップされた画像からexif消してdataUrlに変換する方法ありませんか?
84Name_Not_Found:2013/02/03(日) 06:36:34.84 ID:???
アップロードしてる時点でJSでやる必要ない
はい次
85Name_Not_Found:2013/02/03(日) 14:15:29.96 ID:???
>>83
FILE API ( FileReader )で画像データを読み込んでから
readAsDataURL を使うと幸せになれる
86Name_Not_Found:2013/02/03(日) 18:04:53.63 ID:ccAQP894
質問です!
setTimeoutで再帰ループを2個作った場合、どちらが先に処理されるかという順番の保証はありますか?
また、処理内容がどちらも同じだったとして途中で順番が入れ替わるようなことも起こり得ますか?
87Name_Not_Found:2013/02/03(日) 19:02:25.64 ID:ZMlctaN2
シングルスレッドだから、第二引数で指定した時間が過ぎたら
処理の待ち行列に追加されるだけで順番とかは考慮されないんじゃないか?

以前、setTimeoutを乱発すると重くなってくるからって
ひとつに統合するのを書いた人いたよね?
88Name_Not_Found:2013/02/03(日) 19:48:08.35 ID:ccAQP894
>>87
やはりされてないと考えるのが普通ですよね
乱発すると重くなるのなら一つにまとめるようにして順番も決まるように書いてみます
89Name_Not_Found:2013/02/03(日) 22:10:19.00 ID:cutZwLLp
質問です。
javascriptを使ってジグソーパズルを作っています。
ピースの吸着のために座標と座標の距離を求める平方根を使おうと思っているのですが
ドラッグされているピースの座標の取り方がわからないので教えて頂けませんでしょうか。
90Name_Not_Found:2013/02/03(日) 22:14:46.43 ID:???
>>89
Element.getBoundingClientRect()
91Name_Not_Found:2013/02/03(日) 22:23:13.76 ID:???
>>90
要素の絶対座標ですか…すごくそれっぽいですね!
パズルと組み合わせることは難しそうですが努力します。ありがとうございました。
92Name_Not_Found:2013/02/04(月) 01:39:22.67 ID:???
(function($){
この中に正規表現で$を使う
})(jQuery)

において正規表現の$もjQueryオブジェクトに変わるのでしょうか?
93Name_Not_Found:2013/02/04(月) 01:46:55.87 ID:???
>>92
変わらない
94Name_Not_Found:2013/02/04(月) 08:53:08.01 ID:???
>>77がスルーされているみたいなので、よろしくお願いします。
95Name_Not_Found:2013/02/04(月) 14:21:53.98 ID:???
%をエスケープするにはどうしたらよいでしょうか
alert("\%31");
だとエラーが出てしまいます
alert("%2531");
とするのは正しいのでしょうか?
96Name_Not_Found:2013/02/04(月) 15:18:46.61 ID:???
alert('%31')
97Name_Not_Found:2013/02/04(月) 15:28:48.01 ID:???
alert("\%31");でも別にエラーはでない
何のためにエスケープ?
98Name_Not_Found:2013/02/04(月) 15:31:14.07 ID:???
エラー出たときは必ずエラーの内容を書いてくれ
99Name_Not_Found:2013/02/04(月) 16:50:42.24 ID:???
100Name_Not_Found:2013/02/04(月) 16:57:20.78 ID:???
101Name_Not_Found:2013/02/04(月) 18:24:54.47 ID:???
function foo(){
// 非常に長いコード
}
があるときに

foo . bind( thisObject ); を(何度も)使うのと比べて

funtion bar(){ foo . call ( this ); }
を別に用意して

bar . bind( thisObject ); を使った方が

メモリの消費量は節約できるんでしょうか?
102Name_Not_Found:2013/02/04(月) 20:17:14.21 ID:???
ループの中で無名関数使うとjshintに怒られるのってそういうことなのかな
103Name_Not_Found:2013/02/04(月) 20:20:52.21 ID:???
上のなし
104Name_Not_Found:2013/02/04(月) 20:38:06.04 ID:???
javascriptとHTML5でゲームを作るとかの質問ってこのスレにいいのでしょうか?
105Name_Not_Found:2013/02/04(月) 20:52:47.89 ID:???
>>104
このスレで合ってるけど、「〜を作りたいんですが、どうすればいいでしょうか」的な手取り足取り教えるスレでもないのでそこだけは勘違いしないよう願いたい。
106Name_Not_Found:2013/02/04(月) 20:54:03.01 ID:???
>>101
明らかに下記コードの効率が悪いと思うけど、なぜ下記の方がいいと思ったのかな
107Name_Not_Found:2013/02/04(月) 20:57:47.74 ID:???
JavaScriptとHTML5でRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はJavaScriptとHTML5でブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
JavaScriptとHTML5の基礎からすべてを叩き込んでくれませんか??
お願いします。
108Name_Not_Found:2013/02/04(月) 21:11:31.06 ID:???
あのさぁ…
109Name_Not_Found:2013/02/04(月) 21:14:01.70 ID:???
なぁに?
110Name_Not_Found:2013/02/04(月) 21:23:27.54 ID:???
>>107
>>105を読んだ上で質問してるのかな?
読解力を身に付けてから出直しておいで。
111Name_Not_Found:2013/02/04(月) 21:30:12.91 ID:???
嘘で固めた文章を信用する方もどうかしてると思う
112Name_Not_Found:2013/02/04(月) 21:39:28.10 ID:UA1BFfVR
>>107
必要な要素を全部オブジェクトにして
ユーザの操作などをイベントとして受け取り
オブジェクトのパラメータを変更して
HTMLノードとしてドキュメントに配置して
スタイルを変更して動かせばいいよ


これで85%ぐらいは叩き込んだから
必要なメソッドとか、残り15%はググって調べてくれ!
113Name_Not_Found:2013/02/04(月) 21:41:47.93 ID:???
教えてちゃんにやさしいな
114112:2013/02/04(月) 21:45:25.37 ID:UA1BFfVR
少し書き忘れた

アニメーションとか、時間をキーにして数値を変化させる場合は
setTimeoutかsetIntervalを使うといいよ
ユーザデータを保存したいときは、AjaxするかWebストレージとかに記録するといいよ

これで85%だな
115Name_Not_Found:2013/02/04(月) 21:54:11.56 ID:???
優し過ぎるわぁー
116きら ◆Kira.u9zNc :2013/02/04(月) 22:17:53.55 ID:XhGuvv3Y
kao["hoge"] = new Array("fuga");
をオブジェクト?(配列)にして、
document.write = "kao[document.ime_a.text.value][0]";
<FORM name="ime_a">
<INPUT type="text" name="text" value="fuga">
</FORM>
みたいな風に呼び出す方法を教えてください
117Name_Not_Found:2013/02/04(月) 22:21:20.13 ID:???
new Array()に文字列渡してるし、何がしたいのか全く分からん
118Name_Not_Found:2013/02/04(月) 22:21:33.37 ID:UA1BFfVR
>>116
ダブルクォートを外せばいいと思うけど
document.writeしたらformとか全部消えちゃうけどいいのかね

何をどうしたいのか、を5W1Hに気を使って
もう一度書いてみると、色々見えてくるかもしれないよ
119きら ◆Kira.u9zNc :2013/02/04(月) 22:26:39.61 ID:XhGuvv3Y
>>117
kao["hoge"]という変数を作って、kao["hoge"][0]を呼び出すと"fuga"が帰ってくるようにしたいんです
そのあと、
HTML↓
<FORM name="ime_a">
<INPUT type="text" name="text" value="fuga">
</FORM>
JS↓
document.write = "kao[document.ime_a.text.value][0]";
でページにfugaと記入されるようにしたいんです
どうすればいいですか?
120Name_Not_Found:2013/02/04(月) 22:37:27.06 ID:UA1BFfVR
>>117
それはいいなじゃね?
初期要素が1個だけ渡されて配列作ってるんでしょ
121Name_Not_Found:2013/02/04(月) 22:37:47.16 ID:???
>>106
bind() が呼び出される度に新たな function のインスタンスが生成されるので
本体のコードも一緒に複製されてしまうのだろうか?
と思ったわけです
(C++ のテンプレートから別々のオブジェクトコードが生成されるのと似た意味で)
122Name_Not_Found:2013/02/04(月) 22:43:29.68 ID:UA1BFfVR
>>119
何がわからないのかを書いてほしいなあ

<FORM name="ime_a">
<INPUT type="text" name="text" value="hoge">
</FORM>

<script type="text/javascript">
var kao = {};
kao["hoge"] = new Array("fuga");
document.write(kao[document.ime_a.text.value][0]);
</script>
123Name_Not_Found:2013/02/04(月) 23:35:12.17 ID:???
jsでゲームなら、JSの表現力を確かめるためにenchant.jsぐらい触ってみたほうがいい
その後Three.jsやCanvas使って計算速度に絶望するがよい
124Name_Not_Found:2013/02/04(月) 23:45:35.71 ID:???
var get_json=$.parseJSON(msg);でjson形式の文字列を
オブジェクト化してnullを抜き出す時に
get_json["a"])="null"になってしまいます。
get_json["a"])=nullにならないのですが、どうしたらいいのでしょか?
125Name_Not_Found:2013/02/04(月) 23:58:38.09 ID:???
パースしてる元のほうが間違ってるんじゃないの
JSON.parse(msg)でも同じ事起こるなら元の文字列を直す必要がある
あとget_jsonという動詞句の変数はよろしくないので
そこは json だか 文脈で判断するなら parsed のがいい
126Name_Not_Found:2013/02/05(火) 05:57:09.11 ID:???
127Name_Not_Found:2013/02/06(水) 05:09:13.87 ID:???
Javascriptが自在にコーティングできる男になったら彼女ができますか?
128Name_Not_Found:2013/02/06(水) 08:02:34.05 ID:???
そりゃもうアナタ決まってるじゃないですか
129Name_Not_Found:2013/02/06(水) 08:25:50.02 ID:???
アセンブラとCも完璧にしとけ
130Name_Not_Found:2013/02/06(水) 14:59:27.65 ID:W8A0vfvQ
もしものときに備えてマシン語を
131Name_Not_Found:2013/02/06(水) 18:36:57.47 ID:???
どうせ誤解されやすいのでJAVAも
132Name_Not_Found:2013/02/06(水) 20:11:33.95 ID:???
せっかくだしBrainfuckとWhitespaceも
133Name_Not_Found:2013/02/06(水) 21:09:35.82 ID:???
言語なんて何でも良い。アルゴリズムがわからないと異性へのアッピールに欠ける。
134Name_Not_Found:2013/02/07(木) 00:39:36.16 ID:???
マジレスするとHTML/CSSの勉強会は女の子多いよ
そして同じJSでもnodeとフロントエンドの勉強会じゃ女子比率が2割ぐらい違う
135Name_Not_Found:2013/02/07(木) 08:05:28.64 ID:PAW0yyn2
女の子多い勉強会ってなんだよ!

「じゃあ、ここで僕のインスタンスを君のなk
「言わせねーよ!?」

とかやるのかよ!
136Name_Not_Found:2013/02/07(木) 08:29:02.11 ID:???
質問いいですか?
137Name_Not_Found:2013/02/07(木) 10:25:24.45 ID:???
>>136
いつでもいいよ。
ここは質問スレなんだから。
138Name_Not_Found:2013/02/07(木) 11:17:10.51 ID:???
ファイルのダウンロードでは通常IEでは
ダウンロード後、開くかあるいはフォルダを指定して
保存するかを選ぶダイアログが出ますが
これをそのようなダイアログが出ないで
直に保存するフォルダを指定するダイアログが
出るようにすることはできますか?
JavaScriptならできるかもと思いまして質問しました。
よろしくお願いします。
139Name_Not_Found:2013/02/07(木) 12:29:59.67 ID:???
>>138
出来ません。
出来たらセキュリティ上の脆弱性になります。
発想が怖いんですが、最終的に何をしたいのですか?
140Name_Not_Found:2013/02/07(木) 13:15:42.78 ID:???
>>139
ですよねー。
ちなみにどのような脆弱性がありますか?
141Name_Not_Found:2013/02/07(木) 14:10:58.01 ID:???
マウスカーソルがウインドウから確実に外れた事を検知したいのですがどうしたらよいでしょうか
window.addEventListener("mouseout",function(e){
console.log("out",e);
});
でいいかなと思ったのですが、ウインドウ内で右クリック→そのままマウスをウインドウから外す とするとイベントが反応しませんでした。
142Name_Not_Found:2013/02/07(木) 15:42:11.63 ID:PAW0yyn2
>>140
お前のシステムフォルダに、俺様のファイルをぶち込んでやろうか!

※デーモン小暮の口調でお願いします
143Name_Not_Found:2013/02/07(木) 16:46:37.17 ID:???
>>142
勝手にダウンロードされるという意味ではなくて
フォルダを指定するダイアログを開きたいということなのですが。
144Name_Not_Found:2013/02/07(木) 18:57:59.18 ID:PAW0yyn2
「保存ダイアログが開くから、デスクトップに保存してくださーい」

「はい」ポチ

「では、デスクトップに保存された今のファイルを開きますー」

「先生、ファイルがありません」

「ん?さっきちゃんとデスクトップに保存した?」

「わかりません」

「じゃあどこに保存したの?」

「わかりません」



ていう光景を何度見てきたことか
145Name_Not_Found:2013/02/07(木) 19:50:05.91 ID:???
それって脆弱性になるの?
なんか違わないですか?
146Name_Not_Found:2013/02/07(木) 20:18:36.34 ID:???
すまん今日から始めたんだが

text = 1
function a(){
document.write(text) ;
text = text + 1 ;
}

setInterval("a()",1000);

これは無理?form作ってバリューに入れるしかない?
147Name_Not_Found:2013/02/07(木) 20:30:31.41 ID:???
完全に読み込まれた後にdocument.writeすると白紙になるってことならその通り
formじゃなく<div>でいいならコレ

document.getElementById("a").textContent = test;

<div id="a"></div>
148Name_Not_Found:2013/02/07(木) 20:45:03.22 ID:???
>>147
text = 1;
function a(){

document.getElementById("a").textContent = test;
text++;
}
// --></script>

<div id="a"></div>


<script language="JavaScript"><!--
setInterval("a()",1000);
// --></script>

すまんこれで何も表示されない何か違う?
149Name_Not_Found:2013/02/07(木) 20:54:25.75 ID:???
>>148
testはどっから来たんだよ・・
150Name_Not_Found:2013/02/07(木) 20:59:22.68 ID:???
ああtextだったのかwスマン
151Name_Not_Found:2013/02/07(木) 20:59:35.95 ID:???
>>143
その種の指定はOSやブラウザの環境設定の役割で
スクリプト側からはどうしようもない

前に保存したフォルダを優先的にファイルダイアログに
表示してくれるブラウザまたはOSも中にはあるが
サイトごとに優先的な保存先フォルダを個別に覚えてくれるような
細かい配慮までされてるブラウザはまだないかと

ダイアログに優先表示されるディレクトリに
予め許可済みの何種類かの総称的な保存先
(例えば「ダウンロード」「デスクトップ」「以前の保存先」)
を指定する機能くらいなら、あまりセキュリティ問題には
ならないかもしれないが、実装されるためには
それなりの需要と「総称的な保存先の種類」についての合意が
確立される必要があるだろうから、まだまだ先の話だろう
152Name_Not_Found:2013/02/07(木) 21:36:28.09 ID:???
textarea の位置を動的にすることってできますか?
上から 20% の位置、高さは 80% みたいに
ブラウザのウィンドウの大きさを変えると textarea の大きさも変わるようにしたいのですが。

どなたかよろしくお願いします。
153Name_Not_Found:2013/02/07(木) 22:12:12.67 ID:PAW0yyn2
>>152
スタイルシートの話はこのスレじゃないかもです
154152:2013/02/07(木) 23:46:41.38 ID:???
>>153

document.body.clientHeight を取得して onresize で textarea.style.top = どーたら
みたいなことをやったりしたんだけど全然うごいてくれないんだ。

css だけじゃたぶん無理、というか javascript が出来る人に聞いた方がいいかなと。
155Name_Not_Found:2013/02/08(金) 00:10:24.50 ID:???
俺はいつもこれ使ってる
Elastic - Dynamic Height Textarea Jquery Plugin | Unwrongest http://unwrongest.com/projects/elastic/
156Name_Not_Found:2013/02/08(金) 09:17:20.43 ID:???
>>152,154
それは↓とはどう違うの

textarea {
position: absolute;
top: 20%;
height: 80%;
}
157Name_Not_Found:2013/02/08(金) 14:09:17.79 ID:???
先生!javascriptのif文とかwhile文とかとつかったコーディングがうまく組めず、そろそろハゲてきそうなんです!

ここでコーディングの助言を乞うてもいいんでしょうか先生!
158Name_Not_Found:2013/02/08(金) 14:11:03.75 ID:???
向いてない
159Name_Not_Found:2013/02/08(金) 14:28:04.93 ID:???
>>158
だって最近勉強しはじめたんだものおおおおおお。
いいわけですよねすいません!

すごろく的なイメージで、0マス目からスタートして、10マス目まで歩を進めていく的な処理をさせたいんです!

ルールとして、移動は1マスずつで、1マス進む、進まない、1マス下がるというサイコロで移動をして、
10マス到達までにかかるターン数と過程を表示するみたいな文を組みたいのです・・・

だれかヒントだけでもください先生!
160Name_Not_Found:2013/02/08(金) 14:32:44.89 ID:???
向いてる人はそんなのは一日目で組めてしまう
つまり向いてない
161Name_Not_Found:2013/02/08(金) 15:05:10.79 ID:???
それ Excel でできるよ
162Name_Not_Found:2013/02/08(金) 15:24:40.41 ID:???
それアセンブラでできるよ
163Name_Not_Found:2013/02/08(金) 15:37:55.24 ID:???
>>160
ですよねー・・・自分の理解力のなさに泣けてきます・・・

>>161
Excelも素敵ですけど、javascriptで組んでサイトに組み込んだりしてみたいんです!

>>162
アセンブラ?ってなったので調べてみましたけどよくわかりませんでした!理解力のない俺氏ね!


まだ自分を諦めたくないので、もうちょっといろいろサイト等を漁ってがんばってみることにします・・・
みんなこんなのをさらって組めるんですよね・・・すげぇよ!ばかあああああ!
164Name_Not_Found:2013/02/08(金) 18:11:44.65 ID:???
フローチャートでもかいてみたら
165Name_Not_Found:2013/02/08(金) 20:04:36.51 ID:???
>>164

フローチャートググって書いてみました!迷路が完成しました!


これがちゃんと書けないと理解してないって事な気がしてきたので、がんばってみます!
166Name_Not_Found:2013/02/08(金) 20:14:35.72 ID:ABVKLaRh
>>159
ルールとかどうでも良いから

5W1Hに気をつけて(まあwhyはいらんかも知らんが)
始まりから終わりまでの一連の動作を書いてみて

そのゲームだかなんだかわからないけど、それのことを
まっっっったく知らない人が聞いても理解できるように
必要な要素を抜かさないように
167Name_Not_Found:2013/02/08(金) 20:34:29.32 ID:???
function foo(){ … }
var object = { … }
var bar = foo.bind( object )

となっていたときに (bind は Function.prototype の bind)

1) bar が bind で作成された関数なのか通常の関数なのか判別する
方法として
(typeof や instanceof Function の結果はチェック済みとして
:通常の関数と同じ)

typeof bar.prototype === "undefined" だけで十分ですか?

2)bar のみから foo や object を得る方法はありますか?
168Name_Not_Found:2013/02/08(金) 20:49:41.50 ID:???
>>167 訂正
typeof bar.prototype === "undefined" だけで十分ですか?
  ↓
b.prototype === undefined だけで十分ですか?

無駄に回りくどい書き方してすいません
169Name_Not_Found:2013/02/08(金) 21:45:23.62 ID:TUxXoB+R
スクロールバーを動かしたときに、スクロールバーの位置にあわせて<div>要素が移動するパララックスサイトを作ろうと思ったのですが、
スマホだと画面をスクロールさせて、しばらくしないと<div>要素が動いてくれません。
使っているスマホはXperiaAXで、かなり新しい機種かと思うのですが、なぜこれほど重いのでしょうか?
<div>要素は18個配置しています。
皆さんは速度的に幾つまでなら配置可能と考えますか?
170Name_Not_Found:2013/02/08(金) 22:21:54.10 ID:???
>>166
丁寧にありがとございます!

ゲームをつくるというわけではなく、確率が絡んだシミュレーターを作ろうと思ってたとこだったもので、
質問する際にわかりやすいかもしれないすごろく的な説明で質問をしてみたという感じでした!

要は、一連の動作のフローチャートを、他人が見ても理解できるように、必要な要素抜かさないように書き上げてみろってことですよね?

他の方の質問がおされすぎて、あたしの質問がしょぼい上にスレ違いな気がしてきました・・・
そうでしたら、ここでうだうだレスしてるのは板汚しになりそうなので潜りまする・・・
171Name_Not_Found:2013/02/08(金) 22:48:57.41 ID:ABVKLaRh
>>169
重いのではない

スマホのブラウザをスワイプして動かしているのは、viewportだから
viewportを動かし終わってから、スクロール位置がスコッと切り替わってる感じ
172Name_Not_Found:2013/02/08(金) 22:53:05.18 ID:ABVKLaRh
>>170
誰(どのオブジェクトやプロパティ)が
いつ(どのイベントで)
どこで
どのように
(なぜ)

などを、人に説明できるようにきちんと書いてみると、
意外と見えてくるものがあるから
173Name_Not_Found:2013/02/09(土) 00:19:16.21 ID:???
>>172
なるほろ!フローチャート書いたことないのでこっちのが考えを整理するのによさそですね!

見えて来いあたしのコーディング!
174Name_Not_Found:2013/02/09(土) 07:20:14.11 ID:???
うざい失せろ
175Name_Not_Found:2013/02/09(土) 10:54:54.14 ID:???
<!--[if IE]>
<script type="text/javascript">
document.createElement('header');
document.createElement('section');
</script>
<![endif]-->

これってhtml5に対応するためだと思うんですが、変数とかDOMに代入しないでいいんですか?
176Name_Not_Found:2013/02/09(土) 12:23:21.09 ID:???
いいんじゃないの 何か使うわけじゃないし
177Name_Not_Found:2013/02/09(土) 13:02:17.09 ID:???
これでいい理由はなんですか?これ意味あるんですか?
178Name_Not_Found:2013/02/09(土) 13:59:57.03 ID:???
古いIEでHTML5の新要素にCSS適用できるようにするハックみたいなやつじゃないかな

なんでこれで効くのかはマイクロソフトに聞いてください
179Name_Not_Found:2013/02/09(土) 14:37:19.90 ID:???
180Name_Not_Found:2013/02/09(土) 20:52:49.03 ID:???
181Name_Not_Found:2013/02/10(日) 12:34:44.19 ID:pPKYaLg4
多分jsじゃないかなぁということで質問したいんですが、
プロフィール情報とかの確認画面があって、ぱっと見はDBから抜き出したデータを
出力表示してるだけなんだけど、例えば年齢の数字部分をクリックするとそれが入力フィールドに
切り替わるようなトリックを時々見かけますが、あれはどうやってるんでしょうか
182Name_Not_Found:2013/02/10(日) 12:47:03.75 ID:???
>>181 こういうのですか
<!DOCTYPE html><html><head>
<title>???</title>
<script type="text/javascript">
function test() {
document.getElementById('d0').innerHTML = '<input type="text" value="111">';
}
</script></head><body>
<table border="2"><th><div id="d0" onclick="test()">111</div></th></table>
</body></html>
183Name_Not_Found:2013/02/10(日) 13:47:33.30 ID:???
onclick属性厨きめえ
184Name_Not_Found:2013/02/10(日) 14:03:07.84 ID:pPKYaLg4
>>182
そういうのなんですけど、それをスクラッチで何百こも書いてくのは現実的でないんで
何かそれ用のプラグインとかあるのかなぁと…
ないのかな〜

>>183
onclickだとどういう点でマズいんですか?
要素に直接onclick書いてくと修正が大変とかそういう意味?
185Name_Not_Found:2013/02/10(日) 14:45:02.60 ID:???
>>184
click ならバブリングするから document に定義してもいいし、querySelecorAll なりで該当要素全てに addEventListener してもいい
あと、click じゃなくて focus でもいいんじゃない?
186185:2013/02/10(日) 14:46:06.53 ID:???
click はキーボード操作に対応できないから focus の方が良いと見られる向きはある
187Name_Not_Found:2013/02/10(日) 17:40:40.83 ID:???
>>184
どうやってもいいんだけど、全部onclick書く替わりにロード時にまとめてつける
ようにすればいいんでしょ。あなたの最初の質問に「何百もある」という要件は
無かったから後出しになってることは認識してる?後出しな質問する奴は帰れ。
<!DOCTYPE html><html><head>
<title>???</title>
<script type="text/javascript">
function init() {
var s = document.getElementById('t0').getElementsByTagName('DIV');
for(var i = 0; i < s.length; ++i)
if(s[i].className == 'x') s[i].addEventListener('mousedown', test, true);
}
function test(evt) {
var s = evt.target.innerHTML;
evt.target.innerHTML = '<input type="text" value="' + s + '">';
evt.target.removeEventListener('mousedown', test, true);
}
</script></head><body onload="init()">
<table id="t0" border="2"><tbody>
<tr><th><div class="x" >111</div></th></tr>
<tr><th><div class="x" >122</div></th></tr>
<tr><th><div class="x" >123</div></th></tr>
</tbody></table></body></html>
188Name_Not_Found:2013/02/11(月) 06:08:00.47 ID:???
>>181
contenteditable 属性を付ければ楽だよ(古いブラウザは不可だけど)
だからトリック自体には js は不要
フィールド編集後の処理は必要だけど( onchange イベントとかで)

>>185
focusにはtabindex属性が要るかと

多数の contenteditable 属性が必要な場合はdocument 等で
clickイベントをキャプチャして event.target が目的の
フィールドなら(例えばtabindex属性が付いている、など)
contenteditable 属性を動的に与える、ようなやり方は考えられる
動的に与えてもブラウザがちゃんと反応してくれるのかどうか
確認してはいないが

>>183
onclick 等の属性ハンドラは使うのも説明するのも手軽だし
ライブラリ等による機能拡張を考えなくてよい所では
リスナ管理も簡単になる点で有用

>>187
184 は「常識的に」全部onclickしてるとは思えないと考えたのだろう

そもそも質問時には何が本質的なのかわかっていないか、
または、予測できない、したがって決めつけるべきではないのが
当たり前であって、それを帰れとは何様かと?
189Name_Not_Found:2013/02/11(月) 09:37:29.12 ID:???
私はESPじゃありませんので。じゃあESPのあんたが答えたげたらいいじゃん。
190Name_Not_Found:2013/02/11(月) 10:35:38.16 ID:???
先に回答されちゃったから怒ってるんだな
191Name_Not_Found:2013/02/11(月) 14:58:05.72 ID:???
答えられないのに出しゃばるから
192Name_Not_Found:2013/02/11(月) 15:05:02.33 ID:???
「何が分かっていないのか」を正確に把握するのは難しいかもしれないが、
せめて「自分がやりたいこと」と「自分が今できていること」くらい正確に書いてくれないと
的確に答えられないだろ

「自分がやりたいこと」を正確に書いてないのに、回答に対してそれは違う、実はこうだった
なんて後出しされたら不快に思うのも当然だと思うんだが
193Name_Not_Found:2013/02/11(月) 15:36:50.91 ID:???
曖昧なところがあるなら質問して聞けばいいのにそれを無視して先走って回答するからそうなる
194Name_Not_Found:2013/02/11(月) 15:39:30.39 ID:???
解答に対して「それだとこういう場合は問題ないですか」って言うのがあと出しなのか?
カリカリしすぎだろ
195Name_Not_Found:2013/02/11(月) 15:42:47.08 ID:???
底辺同士で喧嘩すんなよw
196Name_Not_Found:2013/02/11(月) 15:54:09.43 ID:???
>>195
うっせ、この底辺め
197Name_Not_Found:2013/02/11(月) 16:28:43.62 ID:x8DqGvhS
>>192
やりたいことをきちっと文書に出来るって大事だよなー
>>170はいいこと言ってる
198Name_Not_Found:2013/02/11(月) 16:29:45.61 ID:x8DqGvhS
>>172だった
すまんこ
199Name_Not_Found:2013/02/11(月) 17:34:41.23 ID:???
window.onload内でdocument.documentElement.clientHeightを参照すると、
ブラウザ立上げ時だけIE8で0に、element.offsetHeightも変な値(実際の高さと異なる値)になってしまいます。
window.onloadを抜けた後またはリロード時は正常な値が入っています。
IE7では起こらないんですが、この現象をご存知の方、また良い対処法ってあるのでしょうか。

ちなみに私の対応策としてonload内でsetTimeout(func,0);を呼び、func内で上記の値を取得するとうまくいくのですが、
それでもたまにエラーになります。"たまに"エラーになるというのが私をさらに混乱させています。
200Name_Not_Found:2013/02/11(月) 18:03:54.18 ID:???
>>199
http://stackoverflow.com/questions/11115179/jquery-ready-and-height-of-element/11116604#11116604
http://social.msdn.microsoft.com/Forums/eu/iewebdevelopment/thread/9242b9e5-5b03-469f-9924-66132ef3d80f

下のリンクが全く同じ症状を質問しているみたいだけど、回答は得られていないっぽい。
たぶん、IE 8は起動時にレンダリングが終わってないのに onload を発火させちゃうバグが有るんじゃないかと思う
setTimeout で100msくらい遅らせてみるとかしか対策が思いつかないなあ…
201Name_Not_Found:2013/02/11(月) 20:14:46.95 ID:???
>>200さん
ありがとうございます。バグですかね。setTimeout(func,100)でやってみます。モサいけどw
202Name_Not_Found:2013/02/12(火) 05:38:06.95 ID:???
英語力が低いんで自信ないけどMSDNの方では、
ローカル環境でなおかつExplorerで対象のhtmlファイルを
ダブルクリックしたときにこのエラーは起こると言ってる気がするので
サーバーにあげれば問題ないってことかな?
203Name_Not_Found:2013/02/12(火) 09:11:46.92 ID:pKoWgaHq
document.oncontextmenu = function(){ return false; }
で右クリックは無効になるけど、このあとに
document.oncontextmenu = function(){ return true; }
とやっても右クリックが有効にならないのは、なぜ?
204Name_Not_Found:2013/02/12(火) 10:49:54.21 ID:LfTNR9nK
別に右クリ自体をどうこうしてるわけではないんでないかい?
ちゃんとtrueを返していると思うよ
プログラムは書いた通りにしか動かんぜよ
205Name_Not_Found:2013/02/12(火) 14:18:07.93 ID:EC8VY/Jn
【競技体操】間違いを探せ!【ロリちゃん】
www.nicovideo.jp/watch/sm20051507
206Name_Not_Found:2013/02/12(火) 14:50:56.44 ID:???
パソコンの大先生ゆうすけがパソコン遠隔操作による脅迫で
威力営業妨害でタイーホされたが、
もしかしたら、このスレの質問に答えていた人の中に
ゆうすけがいたのかもしれんな。
207Name_Not_Found:2013/02/12(火) 14:58:44.29 ID:???
派遣先の港区のITって渋谷のとこでしょ(たぶん)
渋谷ではブラックが過酷過ぎて自殺者が続出したから労働監督署に徹底指導を受けてたんじゃなかったの?
208Name_Not_Found:2013/02/12(火) 17:47:10.03 ID:S3Du03Wn
>>207
社内では労基にバレないような勤怠管理の記入の仕方など
徹底指導されてたんだろうな
209Name_Not_Found:2013/02/12(火) 17:55:24.67 ID:FM/llzBD
ある関数に与えられた引数の元オブジェクトを知る方法ってありますか?

例えばfuncっていう関数があったとして
func(this.x);
と呼び出した場合、引数xを持っているオブジェクトthisを知る方法です。
210Name_Not_Found:2013/02/12(火) 17:57:38.70 ID:???
>>209
ない
211Name_Not_Found:2013/02/12(火) 17:58:04.78 ID:FM/llzBD
すみません、言葉が足りてませんでした。
func(this.x)よ呼び出したとして、このfunc関数内部でthisを知る方法があれば教えて下さい。
func(object.x)とした場合は、objectを扱いたい感じです。
212Name_Not_Found:2013/02/12(火) 17:58:37.52 ID:FM/llzBD
>>210
ありがとうございます。
すぐに返答が得られるとは思ってませんでした。
213Name_Not_Found:2013/02/12(火) 20:17:18.31 ID:???
インスタンスを触りたかったらインスタンスを渡すのが引数だw
214Name_Not_Found:2013/02/12(火) 20:56:19.18 ID:???
>>211
それやりたかったら、func(object)で渡して関数内でobject.xを拾えば良いのに…。
215Name_Not_Found:2013/02/12(火) 21:59:29.87 ID:r9oTZqWM
FirefoxのアドオンFireGesturesを使って、
FirefoxのJavaScriptをオンオフ切り替えるものを作るのは可能でしょうか

基本オフにしておいて、一時的にオンにしたい場合に手軽に切り替えられるように勉強を始めましたが、
そもそも出来なければ勉強しても目的は達成できないので

※FireGesturesとは、マウスジェスチャーに様々な動作を設定するアドオン
JavaScriptで記述して、任意の機能を追加できる
216Name_Not_Found:2013/02/12(火) 22:10:01.28 ID:???
>>215
javascript.enabled を false にすればいいんじゃないか
ただ、ここよりも
Firefox userChrome.js greasemonkeyスクリプトスレ22
http://anago.2ch.net/test/read.cgi/software/1354149497/
で聞いたほうがいいと思うけど。
217Name_Not_Found:2013/02/12(火) 23:13:15.43 ID:S3Du03Wn
>>215
>そもそも出来なければ勉強しても目的は達成できないので

いやいやいやいや
可能かどうかも学ぼうよ
218Name_Not_Found:2013/02/13(水) 00:56:19.50 ID:???
JSの変数を16進数でHTMLを使って、表示でしたいのですがどうすればいいのでしょうか?
219Name_Not_Found:2013/02/13(水) 01:33:56.02 ID:RiHmJBfG
toStringでどう?
220Name_Not_Found:2013/02/13(水) 08:23:37.48 ID:???
>>218
日本語で話してね
221Name_Not_Found:2013/02/13(水) 10:47:50.95 ID:???
C言語なら
printf("%x",a);
で、16進数表示が出来ますが、javascriptとHTMLを使った場合はどのようにすればよろしいのでしょうか?
222Name_Not_Found:2013/02/13(水) 11:05:37.37 ID:???
>>219がエスパーすぎる
223Name_Not_Found:2013/02/13(水) 11:38:45.06 ID:???
>>219
ありがとうございました
a=a+a.toString(16);
で出来ました。

桁数を揃えることってできますか?
224Name_Not_Found:2013/02/13(水) 11:40:38.56 ID:???
a=a.toString(16),
でした
225Name_Not_Found:2013/02/13(水) 11:50:36.88 ID:???
a="0000000000" + a.toString(16).right(10);
226Name_Not_Found:2013/02/13(水) 12:26:17.02 ID:???
何がどうHTMLなのか、高尚すぎて俺には理解できなかった・・・
227Name_Not_Found:2013/02/13(水) 12:37:30.05 ID:???
>>226
すいません
まだJSもHTMLもさわり始めてから、一日目なんで、どうゆう形でJSからHTMLにデータが渡されているかわからないもので、、、

桁合わせの件をもう少し詳しく教えていただけませんか?

また、先ほどのやり方で16進数に変換した時に、2の補数で変換されてしまい、マイナスの符号がついてしまいます。unsigedで変換できませんか?
228Name_Not_Found:2013/02/13(水) 16:04:44.71 ID:???
a=("0000000000" + a.toString(16)).slice(-10);

unsigedで変換したいならunsigedで渡せよ
229219:2013/02/13(水) 17:47:12.14 ID:RiHmJBfG
>>227
>>219が大雑把すぎた。toString()は文字列に変換するメソッドで

数値.toString(基数)

とするとその変換した文字列が返る。文字列なので

var a = 15, b = 15;
var aa = a.toString(16), bb = b.toString(16);
var cc = aa + bb;

とするとccは“ff”という文字列になっちゃう
toString()で変換されたのを数値として扱うには

parseInt(a.toString(16),16);

とかする必要がござんす
ちなみに0始まりは8進数、0x始まりが16進数
230Name_Not_Found:2013/02/13(水) 17:49:26.78 ID:RiHmJBfG
>>227
あと、HTMLとJSは、大雑把には独立していると考えて良くて
JSからDOMを通じてHTMLにアクセスして内容を書き換えたりする
231Name_Not_Found:2013/02/13(水) 18:00:43.76 ID:???
サーバーサイドもPhotoshopの自動処理も最近はRの簡易版みたいな統計処理ライブラリもあって色々出来て便利だわ
232Name_Not_Found:2013/02/13(水) 19:37:23.60 ID:???
>>228
unsigedじゃなく
unsignedだし、
そもそもJSにunsigned型はない。
233Name_Not_Found:2013/02/13(水) 19:50:10.04 ID:???
>>232
ケータイから打ったから、打ち間違いです。
なんで変数の中身を16進数で表そうとしたのにマイナスの符号が着くんだろう
234Name_Not_Found:2013/02/13(水) 20:00:59.71 ID:RiHmJBfG
>>233
具体的にやった内容を、その部分だけコードで書いてみてよ
235Name_Not_Found:2013/02/13(水) 20:50:21.44 ID:???
236215:2013/02/13(水) 21:06:10.57 ID:???
>>216
色々調べてみます
スレまで紹介していただいて、ありがとうございました
237Name_Not_Found:2013/02/13(水) 21:08:35.14 ID:???
>>235
すべてのビット演算でオペランドは符号付き 32 ビット演算に、ビッグエンディアンおよび 2 の補数形式で変換されます。
238Name_Not_Found:2013/02/13(水) 21:18:46.57 ID:???
これの上としたの違いってなんですか?
https://www.friendpaste.com/5DMie8v6e8APQUcmIM13wl
239Name_Not_Found:2013/02/13(水) 21:26:43.18 ID:???
コピペする方間違えてました
https://www.friendpaste.com/5FMgCNiiYI4MmcMjflvjvy
240Name_Not_Found:2013/02/13(水) 22:06:17.57 ID:SExWD56S
>>235
5行目が怪しい気がする
241Name_Not_Found:2013/02/13(水) 22:11:58.09 ID:???
>>240
temp=temp|000000001;を
temp=temp|0x00000001;に修正しましたが変化なしです。
242Name_Not_Found:2013/02/13(水) 22:12:36.82 ID:???
>>239の上としたで、結果が変わるのはなぜですか?
243Name_Not_Found:2013/02/13(水) 22:32:15.22 ID:???
右シフトすると一番左のビットに0が入るからマイナス符号ってことじゃないの。
244Name_Not_Found:2013/02/13(水) 22:44:55.39 ID:???
上だと
-80000000
下だと
80000000
になります。

>>243
一番左に0が、入ってもブラス符号ではないんでしょうか?

一応、temp=0x80000000>>>6;でもためしました
245Name_Not_Found:2013/02/13(水) 22:56:15.35 ID:???
マイナスを消すことは出来ました。
なぜかは、わかりませんが
temp=temp>>>0;
をすることによって、unsignedにできるみたいです。
>>238の違いについては何故そうなるかは、わかりませんが、、、
Cみたいに、変数の型が自分で扱える方が慣れているため、JSのように勝手に判別されるとよくわからなくなります。慣れればそっちの方が、楽なのかもしれませんが、、、
246Name_Not_Found:2013/02/13(水) 23:02:04.61 ID:???
逆だったw 一番左が1だとマイナスだから

1000 0000 0000 0000 0000 0000 0000 0000 >> 1



1100 0000 0000 0000 0000 0000 0000 0000

で -40000000
247Name_Not_Found:2013/02/13(水) 23:08:38.15 ID:???
>>246
論理シフトでもやってみました
248Name_Not_Found:2013/02/13(水) 23:11:27.83 ID:???
>なぜかは、わかりませんが
>temp=temp>>>0;

ES5 仕様( 11.7.3 Unsigned Right Shift Operator )では、
>>> は右シフトの結果を更に ToUint32 で変換する
と記されてるから、その方法は安心して使えると思う
249Name_Not_Found:2013/02/13(水) 23:15:50.87 ID:???
符号なしビットシフトしたとしてそのあと

0100 0000 0000 0000 0000 0000 0000 0000 << 1



1000 0000 0000 0000 0000 0000 0000 0000

で、これをtoString(16)すると-80000000っていうのはなっとくできるようなできないようなw
他の言語は良く知らないけど
250Name_Not_Found:2013/02/13(水) 23:24:29.81 ID:???
(0x40000000>>>0<<1).toString(16)
"-80000000"
(0x40000000>>>0<<1>>>0).toString(16)
"80000000"
符号付32bit整数へ変換する論理演算と、符号無32bit整数へ変換する論理演算があるのか
251Name_Not_Found:2013/02/13(水) 23:28:23.76 ID:???
>>249
2の補数は理解しています。
ですが、中身を16進数表示をしているつもりですので、プラスマイナスもないものだと
ちなみに、cではこんな感じです。http://ideone.com/RG5zFZ
252Name_Not_Found:2013/02/13(水) 23:30:28.30 ID:???
temp=temp>>>0
をしたことによって何が変わっているんですか?
変数の型が変わっているんですか?
253Name_Not_Found:2013/02/13(水) 23:37:08.54 ID:???
>>252
javascriptは変数に型は無いけど、変数の中身や式の結果には型があるってわけだ
254Name_Not_Found:2013/02/13(水) 23:41:25.37 ID:???
temp = 0x40000000|0x80000000;
window.alert(temp.toString(16) + " " + (temp >>> 0).toString(16));

// -40000000 c0000000

こんなことになるんだ。ビット演算おもしろいなー
255Name_Not_Found:2013/02/14(木) 00:10:16.96 ID:???
皆様のおかげで、ほぼ出来ました。というかこれがメインじゃないのでもうこれでいいかなとw
すぐできると思いましたが、実質丸一日ぐらいかかってしまいました。たった100行ちょっとなのにお恥ずかしいw
C言語と全然違いますね
http://jsbin.com/uzilor/5/
256Name_Not_Found:2013/02/14(木) 00:12:43.70 ID:???
多分何に使うかはわからないと思いますがw
257Name_Not_Found:2013/02/14(木) 00:14:12.23 ID:???
C言語をちゃんと理解してればjavascriptの奇妙な挙動もすぐ理解できるけどな
変数にいろんな型の値を格納できて、演算子の適用前後に暗黙のキャストが入ってるだけ
258Name_Not_Found:2013/02/14(木) 15:46:22.66 ID:u005m3O/
機能なんかのソフトを更新してからjavascriptが無効になってますとでてきます。
スクリプトを有効にしたりして、やれと書いて或ことをやったのですがなにも変わりません
どうすればいいのでしょうか?教えてくださいますようお願い申し上げます
259Name_Not_Found:2013/02/14(木) 16:22:38.31 ID:???
とりあえずスレ違い
何使ってるかは知らんがブラウザのスレ行け
260Name_Not_Found:2013/02/14(木) 20:28:34.10 ID:2Ge8Tenm
ユーザがフォームに入力した数値をonChangeなどで取得し、
計算結果の図形を描写したいのですが、
そのような事はJavaScriptだけで可能でしょうか?
可能だとしたらどのようなキーワードで検索すればよいでしょうか?
261Name_Not_Found:2013/02/14(木) 20:32:41.41 ID:???
↑申し訳ありません。>>259の図形という表現が曖昧でした。

具体的には、長方形(小)のxy、長方形(大)XY を入力してもらい、
長方形(大) の中に 長方形(小) が
どんな形で内包するかを描写したいと考えています。
div要素を使って、CSSを・・・動的に変更・・・・、
などと考えていたのですが、実現方法が判りませんでした。
262Name_Not_Found:2013/02/14(木) 20:35:46.29 ID:???
↑IE6でも動作する事が前提条件です。何度もスイマセン・・・。
263Name_Not_Found:2013/02/14(木) 21:26:14.35 ID:???
普通に position: absolute; して、topとleftを動的に変更すればいいじゃん
ていうかIE6なんてもうシェア5%以下なのにまだサポートするの?
264Name_Not_Found:2013/02/15(金) 05:58:53.76 ID:???
つっても日本企業の一定数はまだIE6らしいよ
サラリーマンが会社で見るようにするにはサポート必要
265Name_Not_Found:2013/02/15(金) 06:13:38.43 ID:???
>>263
http://www.logsoku.com/r/poverty/1329133419/

1年前のデータだが企業なんてまだこんなもんだよ?認識を改めよう
266Name_Not_Found:2013/02/15(金) 06:22:21.81 ID:???
IEなんて糞ブラウザは完全無視でOK
267Name_Not_Found:2013/02/15(金) 06:25:50.22 ID:???
ワーストソフト界の二枚看板WindowsとInternet Explorerを捨てれば世界は平和になる
268Name_Not_Found:2013/02/15(金) 06:52:18.33 ID:???
>>263
ありがとうございます。
ご指定のキーワードを元に頑張ってみます。

>IEについて
当社内ではまだまだIE6は使われまくっています。
XPに標準で入っている事がでかいです。

また、社員の相当数を4,50世代が占めており、
彼らはパソコン知識に著しく乏しいです。
ブラウザの乗換なんて考えた事もないでしょう。
「フリーブラウザはサポートがあるの?ないでしょ?」
みたいな考えで使う事すら許されていません。
269Name_Not_Found:2013/02/15(金) 06:59:49.77 ID:???
>>268
XP終了まであと1年とちょっとじゃないの?そろそろIE6が使われまくってるって状況はまずいんでない?
270Name_Not_Found:2013/02/15(金) 07:10:07.44 ID:???
>>269
一番はシステム対応かな。
全台Windows7に更新したのにわざわざXPにダウングレードしてIE6使ってるところもある
システム更新の費用なんてこのご時世どこも出せないからね
271Name_Not_Found:2013/02/15(金) 09:27:39.33 ID:???
>>260-261 作ってみたけどonchangeだとあんまりそれっぽくないような。

<!DOCTYPE html><html><head>
<title>???</title>
<script type="text/javascript">
function chg() {
var can = document.getElementById('c0'), ctx = can.getContext('2d');
var w = parseFloat(document.getElementById('t0').value);
ctx.fillStyle = 'rgb(200,100,50)'; ctx.fillRect(10, 10, w, 20);
}
</script></head><body onload="chg()"><div>
W:<input id="t0" type="text" value="10" onchange="chg()">
<canvas id="c0" width="400" height="100"></canvas></div></body></html>
272Name_Not_Found:2013/02/15(金) 09:28:44.45 ID:???
げげ、描く前にクリアするの忘れてるので適当に対処してください。
273Name_Not_Found:2013/02/15(金) 11:14:15.10 ID:???
無防備マンIE6でcanvas使うにはuuCanvas.jsなど
274Name_Not_Found:2013/02/15(金) 11:32:19.10 ID:???
IE6はレガシーシステム専用アプリにして普段は別のブラウザ使えばいいのでは
275Name_Not_Found:2013/02/15(金) 12:03:59.04 ID:???
セキュリティ的には XP をIE6 専用のバーチャルマシンにする方がいい気がする
276Name_Not_Found:2013/02/15(金) 16:18:58.42 ID:n4T543lY
大手広告代理店の担当者ですら

「おい!ツイッターがIE6で動いてないぞ!」

「ツイッターはもともとIE6サポート外ですが?」

「そんなんは知らん!何とかしろ!」

てのがあったりするからなー
277Name_Not_Found:2013/02/15(金) 17:46:01.53 ID:pI2yiv2n
>>276
あるある過ぎ
278Name_Not_Found:2013/02/15(金) 17:52:45.97 ID:???
Google Chrome Frame入れて超技術力で直しましたって言(ry
279Name_Not_Found:2013/02/15(金) 20:05:53.80 ID:???
憎まれっ子世にはばかるってやつだな
不条理なやっちゃIEさんは
280Name_Not_Found:2013/02/16(土) 01:28:40.17 ID:???
オレなんて個人的な趣味で作るwebサイトは全部IE非対応にした。
クソIEなんて対応なんてやめた。
グーグクロームとFFとOperaの3つで動けばOKって仕様にした。
だいたいie9ですらfile APIが実装されてないクソ仕様に付き合いきれない
281Name_Not_Found:2013/02/16(土) 02:47:24.88 ID:???
同感。
10になってもconst実装してないなんでどんな糞ブラウザなんだよ
282Name_Not_Found:2013/02/16(土) 04:30:21.74 ID:???
更新の遅さと自社OSに対応できないのが問題
283Name_Not_Found:2013/02/16(土) 09:56:06.33 ID:???
>>271 >>273
ありがとうございます!
おかげさまでなんとか実現できそうです。

CSSをいじらずに直接タグスタイルを変更すれば良かったのですね。
HTML5ではスタイルはCSSうんぬん・・・
みたいな事を聞いたものですから、
どうしてもCSSを・・・と躍起になってました。
284Name_Not_Found:2013/02/16(土) 23:56:17.05 ID:???
いいってことよ
285Name_Not_Found:2013/02/17(日) 08:11:34.89 ID:???
ネットで時々下みたいなコードを見かけるんだけど、

a = (function () { return b || c; })();

これって

a = b || c;

と何が違うの?
何故わざわざ無名関数にするの?
286Name_Not_Found:2013/02/17(日) 10:27:27.69 ID:???
難読化とか、将来もっといろいろ処理をするスケルトンとかかな。
287Name_Not_Found:2013/02/17(日) 13:10:28.97 ID:???
>>285
a = b || c;
ってどういう場合につかうの?

bがあればaにbを代入、bがなければaにcを代入って意味かなと思って
かんたんなコードを書いて試したけど違ってた。
288Name_Not_Found:2013/02/17(日) 14:43:23.08 ID:???
コンパイラで変換したJSとか
289Name_Not_Found:2013/02/17(日) 14:59:01.56 ID:???
>>287
引数がなければデフォルト値とか、
何かに失敗したら代替値とか。
290Name_Not_Found:2013/02/17(日) 15:04:46.81 ID:???
>>287
var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.moz_indexedDB;
みたいにベンダープリフィックスの吸収とか

ただ、この記法を真偽値に使おうとすると意図しない結果になることがあるので
そのときはちゃんとundefinedかどうか厳密に判定するとかにした方がいいけど。
291Name_Not_Found:2013/02/18(月) 14:38:15.39 ID:???
>>288-290
ありがとうございました。
みなさんのおかげで以下のページを見つけられ知見を深められました。
http://info.yama-lab.com/?p=917
http://d.hatena.ne.jp/pashango_p/20110425/1303717074
http://d.hatena.ne.jp/pashango_p/20110425/1303717074

285もそうでしたけど、a = b || c;という書き方は関数の中でのみ有効なのですね。

関数の中でなく普通に次のコードを書くとaaaが返り、
var a='aaa';
var b='bbb';
var c=a||b;
document.write(c);

次のコードだとundefinedだったので上記結論に至りました。
//var a='aaa';ここはコメントアウトした
var b='bbb';
var c=a||b;
document.write(c);

関数の中以外で、aがなければbを返すという処理は
a = b || c;という書き方では無理そうですね。
292Name_Not_Found:2013/02/18(月) 15:10:52.38 ID:???
まったく論理演算厨は有害だぜ
293Name_Not_Found:2013/02/18(月) 18:40:35.36 ID:???
まだChromeじゃ引数のデフォルト値使えないのか
294Name_Not_Found:2013/02/18(月) 20:17:59.01 ID:???
>>291
関数の中が特別ということはないでしょ。
コメントアウトではなく

var a;
var b='bbb';
var c=a||b;
document.write(c);

とすればbが出力される。
「var a;」がないと例外のはず。
295Name_Not_Found:2013/02/18(月) 22:41:16.64 ID:7CF+JPVa
jQuary "chosen.jquery.js"を使ってセレクトボックスをカスタマイズしたところ、

var elem = document.getElementById("【セレクトボックスID】");
elem.addEventListener("change", 【処理A】, false);

が機能しなくなってしまいました。

セレクトボックスタグ内に
<select ・・・ "onChange=【処理A】"

と書くと、このjQuaryを実現した上で、処理も実行されるのですが、
addEventListener だと機能しなくなるのは何故なのでしょうか?
296Name_Not_Found:2013/02/19(火) 00:34:07.84 ID:???
>>294
懇切丁寧にありがとうございます。
たしかにおっしゃるとおりでした。
勉強させていただきました。
297Name_Not_Found:2013/02/19(火) 07:10:44.82 ID:v6leebBr
>>295
むしろなぜ$とbindを使わないのかが気になるところ
298Name_Not_Found:2013/02/19(火) 07:43:42.09 ID:???
>>297
まだJavaScriptを始めたばっかりで、
jQuaryを使わない書き方から始めようかと思いまして・・・。

とか言いつつセレクトボックスのカスタマイズに使ちゃってますが。
jQuaryの方も殆ど理解しておらず、
サイトからコードを丸パクリして実装した状態です。

どうやら、chosen.jquery.jsがセレクトボックス部を
書き換えているのが原因?
299Name_Not_Found:2013/02/19(火) 22:58:27.20 ID:???
>>295 >>298
書き換えてるね。
これを使って実際に表示されるUIはselect要素じゃないし

これ使ったこと無いけど、公式に書いてあるのでこの通りにすれば良いのでは?
http://harvesthq.github.com/chosen/
> Form Field Change
> When working with form fields, you often want to perform some behavior after a value has been selected or deselected.
> Whenever a user selects a field in Chosen, it triggers a "change" event* on the original form field.
> That let's you do something like this:
>
> $("#form_field").chosen().change( … );
300Name_Not_Found:2013/02/20(水) 15:14:42.47 ID:4PPEUukm
ちょ…chosen
301Name_Not_Found:2013/02/20(水) 17:13:44.40 ID:???
英語できない子はかわいそうだな・・
302Name_Not_Found:2013/02/20(水) 17:28:26.92 ID:???
お約束ネタにマジレスとな。
303Name_Not_Found:2013/02/20(水) 20:59:21.75 ID:5g2BY0W6
ちょ…ちょうずん


…あっとるがな!
304Name_Not_Found:2013/02/20(水) 22:36:41.96 ID:v2MhQ0Fv
JavaScriptで書くのか、jQuaryで書くのか。

これはどのような判断基準で決定するべきなのでしょうか?
クロスブラウザ等の事を考えると、
可能な限りは jQuary で記述していくのが賢明・・・・?
305Name_Not_Found:2013/02/20(水) 22:56:27.18 ID:???
>>304
jQueryで書く⊂JavaScriptで書く

jQueryを読み込ませるならjQueryのAPIをメインに使えばいいんじゃない
jQueryでラップされていない部分(File APIとか)はどうしようもないし、
巷のjQueryプラグインは品質がピンキリだから、jQueryにこだわらず普通に書けばいい
306きら ◆Kira.u9zNc :2013/02/21(木) 00:51:06.79 ID:???
>>122
あれ・・・なんでだろう
document.write以外の表示方法でも出来ました。ありがとうございました。
別の質問なんですが、
<script>var a = new Array("2","3","4","5");</script>
<div id="01">1</div>
この状態で1と書いてある所をクリックすると2になってまたクリックすると3になって・・・までは出来たのですが
配列がvar a = new Array("2","3");だったり
つまり要素数がいつも決まってない配列(変数a)とfor関数を使って、1と書いてある所をクリックすると2になってまたクリックすると3になって・・・を関数にする場合どうすればいいですか?
307Name_Not_Found:2013/02/21(木) 00:59:45.10 ID:QIRdp3jh
>>306
配列にはlengthというプロパティがあって
そこには配列の要素の個数が書かれているから
それを上手く使ってちょ
308Name_Not_Found:2013/02/21(木) 01:03:53.15 ID:???
>>306
流石にそれくらいはクグれば出るぞ。
309Name_Not_Found:2013/02/21(木) 01:26:04.18 ID:???
jslintがie7,8で動かないんだがついに壊れた?
310きら ◆Kira.u9zNc :2013/02/21(木) 01:36:13.74 ID:???
いままでは
<SCRIPT language="JavaScript">
<!--
window.onload = function(){
document.getElementById('box').onclick = function(){
document.getElementById("box").innerHTML="2";
document.getElementById('box').onclick = function(){
document.getElementById("box").innerHTML="3";
document.getElementById('box').onclick = function(){
document.getElementById("box").innerHTML="4";
document.getElementById('box').onclick = function(){
document.getElementById("box").innerHTML="5";
}
}
}
}
}
//-->
</SCRIPT>
とやっていたのが面倒なので
<SCRIPT language="JavaScript">
<!--
function hukidasi(){
//ここどうすればいい
}
var a = new array("1","2","3","4","5")
window.onload = hukidasi();
//-->
</SCRIPT>
としたいのです。
a.lengthなどがあるのは前の質問などで知っていましたが、それをどうfor関数などで使えばいいかがわかりません。Yahooなどで検索しようにもどんなキーワードで検索すればいいのかわからないので
質問しました。教えてください・・・
311Name_Not_Found:2013/02/21(木) 02:32:04.21 ID:QIRdp3jh
>>310
ちょっとは勉強しようよ…とも思うが出し惜しみしてもアレなんで

var n = 0;
var a = [1,2,3,4,5];

fnction fn(){
  n++;
  return a[n];
}

ってすればfn()を叩く度にaのn番目が返ってくるじゃん?
ただこれだとnが4を超えてundefinedになっちゃうので
4を超えたら叩かない工夫とかをすれば良いよ
312Name_Not_Found:2013/02/21(木) 02:33:07.01 ID:QIRdp3jh
>>310
ごめん、質問の内容に答えていなかった
検索キーワードは「javascript 入門」で
313Name_Not_Found:2013/02/21(木) 02:33:39.69 ID:???
関数は叩くと表現するのか
勉強になった
314Name_Not_Found:2013/02/21(木) 02:36:32.19 ID:QIRdp3jh
オレオレ用語ですすみません…

コールする、ですかね
315Name_Not_Found:2013/02/21(木) 08:54:36.85 ID:???
I/Oポートなんかも「叩く」って使うね。
何らかのアクションを起こす物に使うのかな。
316Name_Not_Found:2013/02/21(木) 09:39:02.66 ID:???
呼び出す か 実行する と書いていたが他には
317Name_Not_Found:2013/02/21(木) 11:05:08.67 ID:???
英語だとkickとか。
318Name_Not_Found:2013/02/21(木) 11:33:15.89 ID:???
叩くはhitか。
call, run, kick etc.
319Name_Not_Found:2013/02/21(木) 12:00:37.19 ID:???
関数ならevalだろ
320Name_Not_Found:2013/02/21(木) 14:34:21.61 ID:???
叩き起こすという意味でkickが使われるなら
叩くで問題無いな
321きら ◆Kira.u9zNc :2013/02/21(木) 16:39:30.49 ID:???
>>311-312
元コードのように、IDがboxの部分を押すと、IDがboxの部分(自身)をinnerHTMLする動作をa.lengthの分だけループする関数を作りたいので入門では無理なんです・・・
322Name_Not_Found:2013/02/21(木) 16:44:56.99 ID:QIRdp3jh
>>321
いやいやいやいやいやいや

そして>>311では駄目かね
これも入門サイトで十分学べる範囲なんだけど
323Name_Not_Found:2013/02/21(木) 16:45:40.00 ID:QIRdp3jh
>>321
また書き忘れた…

forループいらんだろ
324Name_Not_Found:2013/02/21(木) 18:50:23.37 ID:???
俺も関数叩くって言っちゃうな。
なんか投げるとかキックとか叩くとか殺すとか結構粗雑なの多いよな。

>>321
そもそも入門書を理解できてないから応用できないんだよ。
躓くたびに人に聞く訳にはいかないし、入門書からちゃんと勉強しなおしたほうがいいと思うよ。
325Name_Not_Found:2013/02/21(木) 22:26:33.04 ID:???
>>321
<script>var a = [2, 3, 4, 5], i = 0;</script>
<div onclick="if (i < a.length) { this.innerHTML = a[i++]; }">1</div>
326Name_Not_Found:2013/02/22(金) 01:25:17.75 ID:T183GN9Q
おまいらやさしいな
327Name_Not_Found:2013/02/22(金) 07:47:03.51 ID:+cbeOiWn
もうJavaScript勉強せずに、jQuaryだけでいいんじゃないかな。
とか思ったJavaScript初心者なのですが、
jQuaryの弱点とはどのようなものがありますか?
328Name_Not_Found:2013/02/22(金) 08:12:19.71 ID:???
スペルを間違えられる
329Name_Not_Found:2013/02/22(金) 08:22:54.23 ID:???
jQueryだけとかAT限定免許みたいなもの
330Name_Not_Found:2013/02/22(金) 09:17:10.83 ID:???
それ以前に>>327はPC初心者だろ
queryという言葉を知ってれば、このスペルミスはあり得ん
331Name_Not_Found:2013/02/22(金) 10:48:37.59 ID:???
queryという言葉を知らなければPC初心者って頭おかしいんとちゃいます?
332Name_Not_Found:2013/02/22(金) 12:18:45.72 ID:pjRjXYsV
>>327
別にjQ単体は万能なわけではないし
プラグインは本当に玉石混淆

人の用意したものを組み合わせただけで満足できればそれでいいんだけど
ほんの少しでもそうじゃなければ、JSの理解は必要だろうなあ

「これだけで安心英会話!」みたいな本だけを頼りに海外旅行に行くと
ホテルのチェックインや店での支払いは、その本の通りに出来るけど
それ以外の会話は出来ないじゃん?
そんな感じ
333Name_Not_Found:2013/02/22(金) 14:27:43.12 ID:???
jQueryは、こういう条件の要素にはこうみたいな、いわゆる宣言的に書けるのがよいな。

逆に、DOMを直接扱っていた人がjQueryを初めて使うと
$('div').each(function() {
 $(this).css('background-color', 'red');
});
みたいに書いてしまうんでは。
$('div').css('background-color', 'red');
でOKね。
334Name_Not_Found:2013/02/22(金) 14:35:51.35 ID:R6fz1KnI
見透かさないでー!

jQuery以前からやってた人は、というか自分は、ライブかどうかを意識しつつ

var div = $('div');

って書いて、場合によっては個数を数えてから使ったりするかも
何度も同じクエリセレクタ?を書くのにものすごく抵抗がある
たぶんやらんでいいこと結構やってそう…
335Name_Not_Found:2013/02/22(金) 15:40:34.78 ID:???
>>331
×PC初心者
○プログラミング初心者

これでいいか?
336Name_Not_Found:2013/02/22(金) 16:07:14.53 ID:R6fz1KnI
キューという言葉は知ってて使っていたけど
queue=キューだと知ったのは最近ですすみません
337Name_Not_Found:2013/02/22(金) 16:09:53.11 ID:???
くえっくえって読んでた
338Name_Not_Found:2013/02/22(金) 19:15:15.80 ID:???
qwっうぇwっうぇ
339Name_Not_Found:2013/02/22(金) 20:19:57.35 ID:???
function MyFunc(){

}
340Name_Not_Found:2013/02/22(金) 20:26:36.08 ID:+cbeOiWn
スイマセン。なぜか途中で投稿してしまった・・・

自分自身のプロパティのみを出力するプロトタイプを作りたいのですが可能でしょうか?
↓こうすると自身のプロトタイプ中身まで出力してしまいました。

function MyFunc(){
 this.AAA = aaa; //ここだけを出力したい
 this.BBB = bbb; //ここだけを出力したい/
}

MyFunc.prototype.MyInfo = function(){
 for (var prop in this){
  console.log(prop + ":" + this[prop])
 }
};
341Name_Not_Found:2013/02/22(金) 20:38:50.02 ID:???
>>340
if (this.hasOwnProperty(prop)) { console.log(prop + ":" + this[prop]) }
342Name_Not_Found:2013/02/22(金) 20:50:08.89 ID:???
>>341
かぁ〜!こんなメソッドがあるのですね。
勉強になりました。ありがとうございます。

今まではプロパティの数を超えたらbreakする方法でやってました・・・。
343Name_Not_Found:2013/02/23(土) 00:16:20.45 ID:???
ヒュー
その発想はすげぇぜ
344Name_Not_Found:2013/02/23(土) 06:58:30.68 ID:???
if(true){
 alert("unko");
} ←ここ
else{
 alert("unk");
}

Ecliseさんが↑ここに
セミコロン打てよ。って警告してくるんですが、こんなところにセミコロンて必要なんですか?
345Name_Not_Found:2013/02/23(土) 07:01:00.07 ID:???
自己解決。↓こーしたら警告消えました・・・

if( true ) {
 alert("unko");
} else {
 alert("unk");
}

フォーマッターのプロファイルにしているGoogle JavaScript Styleの仕様のようでした
346Name_Not_Found:2013/02/23(土) 09:15:54.49 ID:???
いやいやいや!やっぱ警告でるよ!
やっぱりJavaScriptだと厳密には入れたほうが良いのでしょうか?

if( true ) {
 alert("unko");
} else {
 alert("unk");
} ←ここ;いれろ
347Name_Not_Found:2013/02/23(土) 09:20:09.09 ID:???
>>346
} の後ろに ; 入れろとか頭おかしいよ。そのフォーマッター捨てるべき。
348Name_Not_Found:2013/02/23(土) 10:15:29.21 ID:???
そのフォーマッター、配列と勘違いしてるんじゃね
配列の場合は入れるけど、ifで入れるってのは無いと思われ
349Name_Not_Found:2013/02/23(土) 10:34:20.24 ID:???
配列というかオブジェクトだな
350Name_Not_Found:2013/02/23(土) 12:23:56.46 ID:???
内部クラスの実装についてベターな記述があれば教えてください。
こういった方法のほうが速度が速くなる、記述量が少なくなるなどだけがあればありがたいですが、
個人的にこういう書き方が好き、見やすいといった回答でも構いません。
現状、以下のように記述しているのですが構造が分かりづらくスマートさに欠けるように思えます。
var ClassA = function() {/*ClassAコンストラクタ*/};
ClassA.prototype = {
/*ClassAのメソッド*/
ClassB : function() {/*ClassBコンストラクタ*/}
};
ClassA.prototype.ClassB.prototype = {
/*ClassBのメソッド*/
};
351Name_Not_Found:2013/02/23(土) 14:09:58.20 ID:???
ご教授願います

【環境】OS:7  IE9  chrome v24
【何をしたのか】自身のWEBトップページを別窓でリサイズして表示させたいです。
【エラーメッセージ】別窓表示、リサイズはされているのですが、永遠とリロードを繰り返すような状態になり、正常に表示されません。
【期待する結果】リロードをやめさせたい、正常に表示させたいです。

【サンプルコード】$(function(){
window.open("index.html", "new", "width=1200,height=700");
var moveX=30;
var moveY=150;
window.moveTo(moveX,moveY);
});


よろしくお願いします。
352Name_Not_Found:2013/02/23(土) 14:15:31.45 ID:???
>>351
未検証だけど

$(function(){
if(!window.opener || window.opener.closed){
window.open("index.html", "new", "width=1200,height=700");
var moveX=30;
var moveY=150;
window.moveTo(moveX,moveY);
}
});
353Name_Not_Found:2013/02/23(土) 14:30:42.51 ID:???
>>350
ClassAのメソッドからだけ使えるClassBコンストラクタを作りたいならこんな感じ?
var ClassA = function() {/*ClassAコンストラクタ*/};
(function() {
 ClassA.prototype = {
  /*ClassAのメソッド*/
 };
 var ClassB = function() {/*ClassBコンストラクタ*/}
 ClassB.prototype = {
  /*ClassBのメソッド*/
 };
})();
まあでもvar ClassA=...;も即時関数の中にいれて、
即時関数の中からClassAだけをグローバルスコープに公開するとかの方が普通かな?
354Name_Not_Found:2013/02/23(土) 14:30:53.08 ID:???
>>352
うおおおお!!!
こ、これです!ありがとうございます!

ちなみになのですが、この方法だと別窓トップページとは別に親窓にもトップページが表示されてしまい、トップページ表示が計2ページになってしまうのですが、
別窓出現時、親窓は変化させない、もしくは親窓を閉じる方法などありますでしょうか?
355Name_Not_Found:2013/02/23(土) 14:37:50.23 ID:???
>>354
$(function(){
if(!window.opener || window.opener.closed){
var newWindow = window.open("index.html", "new", "width=1200,height=700");
if(newWindow){
window.close();

var moveX=30;
var moveY=150;
newWindow.moveTo(moveX,moveY);
}
}
});

でも、結局親窓を閉じるんだったら、
新たに開くんじゃなくて元々のやつをリサイズ・移動したほうがいいのでは?

あと、そもそも window.open, window.moveTo, window.resizeTo とかは
ブラウザによって使用が制限されてる場合が多いから
よっぽどのことがない限り使わないほうがいいと思うけど。
356Name_Not_Found:2013/02/23(土) 14:54:23.18 ID:???
>>355
うおおおお・・・!!!あなたは神か・・・
IEでうまく動きました!重ね重ねありがとうございます!

元々のやつをリサイズ・移動しようとしたのですが、IE chromeともに元々のやつに複数個のタブが
あると、リサイズ・移動がされなく、それだったら別窓にとなりますた・・・。
357Name_Not_Found:2013/02/23(土) 17:05:13.11 ID:???
クリックしたら勝手にリサイズされるサイトって何年前によくあったものだったかな?w
358Name_Not_Found:2013/02/23(土) 17:07:02.87 ID:???
ウィンドウ位置とサイズを勝手に変更されることほど不快なことはない
359Name_Not_Found:2013/02/23(土) 18:32:05.86 ID:9bksOlEV
ものによるんじゃね?
小さいウィンドウがポコポコ開いて
その中を通してコンテンツが移動するのは良かった
googleのプロモーション?かなんかのやつ
360Name_Not_Found:2013/02/23(土) 19:42:57.89 ID:???
x,y座標を指定するとなめらかにスクロールしてくれるライブラリってあります?
よくあるのはリンクのクリックイベントの置き換えばっかりで…
361Name_Not_Found:2013/02/23(土) 19:52:13.18 ID:9bksOlEV
$('html,body').animate({
scrollTop : [x座標],
scrollLeft : [y座標]
});

ではいかんの?
362Name_Not_Found:2013/02/23(土) 20:26:56.99 ID:???
>>361
ありがとうございます。
これってJQueryですか?
363Name_Not_Found:2013/02/23(土) 23:28:52.15 ID:???
調べればわかるんじゃない
364Name_Not_Found:2013/02/24(日) 05:43:25.50 ID:u1btdtkq
>>362
そう
今時だったら$で始まるのは九分九厘jQueryと思って
365Name_Not_Found:2013/02/24(日) 08:09:34.17 ID:hQb/IINE
(1).function funcA(){ 処理 }
(2).var funcA = function(){ 処理 };

(1)なら宣言の上の方からでも呼び出す事が可能。
だとすると、(2)を使うメリットはあるのでしょうか?
366Name_Not_Found:2013/02/24(日) 08:42:34.81 ID:???
>>365
関数を条件によって変えたいとき、関数宣言は使えない
if (true) {
 function A() { return 1; }
} else {
 function A() { return 2; }
}
A()の結果は、Firefoxだと1、それ以外だと2になる
仕様上は構文エラーなので、どうなるかは実装依存

変数に関数式を代入する形なら問題なし
367Name_Not_Found:2013/02/24(日) 11:04:02.08 ID:???
>>366
ありがとうございます。
C言語の簡単な知識程度しかないのですが、
グローバル関数で使用したいか、
ローカル関数で使用したいか、で使い分ける。
という解釈で合ってますでしょうか?
368Name_Not_Found:2013/02/24(日) 12:49:55.07 ID:???
>367
合ってない。
369Name_Not_Found:2013/02/24(日) 14:49:21.69 ID:???
関数を条件によって変えたいとき、関数宣言は使えない
違いはコレだけなん?
370Name_Not_Found:2013/02/24(日) 15:45:29.74 ID:???
function A() {
 A = function () { return 2; }
 return 1;
}
A(); //1
A(); //2
とか?
371Name_Not_Found:2013/02/24(日) 17:19:21.29 ID:rnfxPFFz
ver fn = function(){};
obj.addEventListener('click',fn);

if(条件) fn = function(){ /* huge */ };
else fn = function(){ /* fuga */ };

一般的かどうかはわからんが
自分はこうな感じで使うことがあるな
372Name_Not_Found:2013/02/24(日) 17:41:49.26 ID:???
右辺に関数名書けばいいから使えないってわけでもないけれど
373創価連合:2013/02/24(日) 18:25:33.66 ID:2phY8sZJ
詐欺師栗林正明が討ち滅びました

犯罪者小嶋滝久が孤独死しました

精神障害者橋本ゆきのりが撲殺死にました

妖怪人間神田達行が自殺ました

極悪福井一家が崩壊しました

借金魔王長岡章が自殺しました

内部アンチの柏崎まさかつの本性がバレました

盗人鈴木ひでゆきが警察に捕まりました

大変におめでとうございます
374Name_Not_Found:2013/02/24(日) 20:32:10.78 ID:???
最近フォームの項目を途中まで入力した状態で
ハイパーリンクを踏んだりブラウザの戻るボタンで移動しようとした時に
「途中まで入力しています、このまま移動しますか? 移動する/このページに残る」みたいな
アラートが出るサイトが多いんですが、あれはどうやってるんでしょう
何かそれ用のプラグインだかライブラリだかあるんでしょうか
375Name_Not_Found:2013/02/24(日) 20:38:28.71 ID:JJkdhTXE
すみません、sageちゃったんでageます
376Name_Not_Found:2013/02/24(日) 21:18:14.44 ID:???
俺も初めて知ったけどonbeforeunloadイベントを使うらしい
ttp://d.hatena.ne.jp/xyk/20110208/1297164760
377Name_Not_Found:2013/02/24(日) 22:18:28.85 ID:???
>>376
どうもありがとうございます
そのイベントの発生時にinput他のvalueをチェックする感じでしょうか
試してみます、ありがとう
378Name_Not_Found:2013/02/25(月) 00:23:37.90 ID:???
【環境】Windows8, Firefox19
【何をしたのか】PHPからencodeした二次元配列のJSONからデータを取り出したい。
【期待する結果】array[0].userNameでGimをリターンして欲しい。

【サンプルコード】
//データを取り出したいJSONのサンプルです。
[
{
"userName": "Gim",
"password": "gim",
"name": "gim",
"accountType": "1"
},
{
"userName": "Jack",
"password": "jac",
"name": "Jack",
"accountType": "2"
}
]
379378:2013/02/25(月) 00:31:32.54 ID:???
すみません、説明が不足していたので補足させてください。

PHPからjavascriptにデータを渡すのにajaxのgetメソッドを利用しようと
試しに下記のようなfunctionを書きましたが、うまく実行されません。
間違っている部分をどうかご指摘いただけないでしょうか?

$.ajax({
type: "GET",
url: "/test2.php",
dataType:"json",
success: function(array) {
alert(array[0].userName);
};
});
380Name_Not_Found:2013/02/25(月) 00:54:36.55 ID:???
>>379
・"GET"の後にカンマがない
・関数式の後に不要なセミコロン
各ブラウザでエラーコンソールを表示する方法を確認しよう
381378:2013/02/25(月) 01:36:33.32 ID:???
回答ありがとうございます、

ご指摘いただいた点を修正してみましたが、やはり動きません。
二次元配列の習得は本当にこれでいいのでしょうか?

array[0].userName)

ブラウザーでのデバッグを試してみようと思います。
ありがとうございました。
382Name_Not_Found:2013/02/25(月) 03:14:47.44 ID:???
>>381
プロパティの辿り方はそれで問題ないよ
$.ajax(というかXMLHttpRequest)は基本的にローカルだと動かないけど、
それが原因だったりしないかな
383Name_Not_Found:2013/02/25(月) 03:17:33.77 ID:???
うまく実行されないって言われても意味不明なんだよなあー
384Name_Not_Found:2013/02/25(月) 03:32:54.26 ID:???
ブラウザのコンソールを見てないってのが信じられない
FirefoxだったらFirebugも入れてAjaxの通信をチェックするのも当然だろ
385Name_Not_Found:2013/02/25(月) 05:10:39.00 ID:???
>alert(array[0].userName);
のまえに
alert(array);
をみてみるべきだろう。
alertよりコンソールに出す方がいいけど。
386Name_Not_Found:2013/02/25(月) 05:19:58.25 ID:7QRlEkj3
まあ他の言語をずっとやってて
初めてJSやります、って話ならわからなくもないが

JSコンソールを使えとか
「うごかない」じゃわかりませんって
テンプレに書いてなかったっけ?
387378:2013/02/25(月) 09:59:31.06 ID:???
本当に申し訳ありません、皆様のおっしゃるとおり私の不勉強でした。
エラーハンドリングも行い、コンソールも確認してはいたものの、
なぜか何のエラーメッセージも帰ってこないため原因に検討がつかず途方にくれておりました。

ブラウザー上でデバッグを行い、dataTypeの部分を削ったところ、平文のテキストとしてはAJAX通信で読み込めたので
そもそもjavascriptが>>378のJSONをJSONフォーマットだと認識していないのが原因のようです。
evalでJSONに変換することも不可能でした。
フォーマットに問題があるのかと思い、>>378のJSONを下記のサイトでチェックしましたが、文法に問題は無いようです。
http://jsonlint.com/
388378:2013/02/25(月) 10:05:03.54 ID:???
すみませんが、もう一度質問させてください。
【環境】Windows 8, XAMPP上でテスト、Firefox19
【何をしたのか】二次元配列のJSONをJavascriptで取り扱うために、evalを使い二次元のarrayに変換しようとした。
【エラーメッセージ】
Uncaught SyntaxError: Unexpected token ILLEGAL JSONTest.html:17
$.ajax.success JSONTest.html:17
c jquery-1.9.1.min.js:3
p.fireWith jquery-1.9.1.min.js:3
k jquery-1.9.1.min.js:5
r
【期待する結果】>>378のJSONをJavaScriptで扱える二次元Arrayに変換したい。
【サンプルコード】
$.ajax({
type: "GET",
url: "test2.php",
//JSON typeでは読み込めなかったためtxtとして読み込む
//dataType:"json",
success: function(msg) {
console.log(msg);
//ここでtxtをJSONに変換しようとしてエラー ・
console.log(eval(msg));
},
false: (function(jqXHR, textStatus, errorThrown) {
console.log("Error: " + textStatus);
console.log("Test: " + jqXHR.responseText);
})
});
389378:2013/02/25(月) 10:05:47.66 ID:???
ソースコードです。

//test2.php
//localのmysqlからuser tableを読み込みJSONに変換しています。
http://ideone.com/y9EHQn

//上記のファイルから生成されたJSON
http://ideone.com/cAyTwW

//test.html
//ここに含まれるjavaScriptでエラーが出ます。
http://ideone.com/JSAvSl
390Name_Not_Found:2013/02/25(月) 10:33:36.46 ID:EpqYt4PP
$.ajaxの通信失敗の時ってerrorじゃなかったっけ?falseじゃなくて

まず通信できているかどうかを、firebugでみてみようよ
「ネット」てタブで見れるから

200で帰ってきているようだったら、レスポンスボディをみて
期待している内容が入っているかどうかも

そこまで確認できたら、evalとかしないでそのまま
console.log(msg);

てするといい
391Name_Not_Found:2013/02/25(月) 11:10:17.72 ID:???
生成されたJSONとやらをevalしてみたけど成功した
392Name_Not_Found:2013/02/25(月) 11:10:40.87 ID:???
俺の環境だと>>389のtest.htmlそのままコピペして動くよ?
test2.phpの方はメンドクサイからこんな感じにしてみたけど
<?php
$user[] = array('userName'=>'Gim','password'=>'gim','name'=>'gim','accountType'=>'1');
$user[] = array('userName'=>'Jack','password'=>'jac','name'=>'Jack','accountType'=>'2');
echo json_encode($user);
?>
PHPのことは良く知らないからなんか勘違いしてるかもしれない
393Name_Not_Found:2013/02/25(月) 11:16:55.61 ID:???
Unexpected token ILLEGAL でぐぐったら
改行コードが入ってるからみたいだけど
394378:2013/02/25(月) 11:53:20.18 ID:???
皆様回答ありがとうございます。
これでなんとか問題が切り分けられそうです。本当にありがとうございました。

>>390
firebugで確認してみたところ、通信自体は成功しており
console.log(msg); でも平文のtextでは受信できているようです。

>>391
テストしていただきありがとうございます。
JSONの文法自体は問題ないようですね。

>>392
いただいたPHPのコードではエラーが出ずに変換に成功しました。
おそらくは僕のPHPのコードの方に問題があるようです。

>>393
Firebugで確認しました
自分のPHPのコードの方をもう一度確認してみますね。
395Name_Not_Found:2013/02/25(月) 12:57:44.45 ID:???
うざい死ね
396Name_Not_Found:2013/02/25(月) 13:04:00.41 ID:GXe+xKGj
どうしたんだよ急に
397Name_Not_Found:2013/02/25(月) 13:13:32.22 ID:???
>>394
PHPがデータを返す時に指定するHTTPヘッダ(content-type)の指定が違うんじゃないの
自分はこうしてるけど
header('Content-type: application/json');
print json_encode($rs);
398Name_Not_Found:2013/02/25(月) 13:20:43.20 ID:???
やっぱAjaxはxmlでやったほうがいいな
399Name_Not_Found:2013/02/25(月) 13:39:57.84 ID:EpqYt4PP
えー
JSONの方が気分的に楽だわー
400378:2013/02/25(月) 14:15:50.09 ID:???
エラーの原因が分かりました。
PHPの終了タグのあとに空白文字が入っており、それをJavaScriptが読み込んでいたようです
PHPはコードの終了判断を"?>か"EOF"で判断しているようなので、終了タグは入れない方が良いようですね。

お騒がせしてすみません、相談にのってもらいありがとうございました。
401Name_Not_Found:2013/02/26(火) 04:56:00.69 ID:???
いわゆる全角空白かな
402Name_Not_Found:2013/02/26(火) 11:51:02.29 ID:???
復帰の制御文字だろう。
403Name_Not_Found:2013/02/27(水) 16:18:54.48 ID:ppnstpOH
JS自体の質問じゃないんですが

jQueryの$.extendを使ってオレオレメソッドを作るとき
他の人が作ったものと名前が被らないようにするためには
やっぱりググるしかないでしょうか?
404Name_Not_Found:2013/02/27(水) 17:30:52.18 ID:???
javascriptで遷移する1こ前のURLってとれんの?
history.back()で遷移する先のURLをとりたい。
405Name_Not_Found:2013/02/27(水) 17:35:59.75 ID:???
セキュリティ的にいって無理そうだよね
406Name_Not_Found:2013/02/27(水) 17:55:14.31 ID:???
リファラじゃだめか
407Name_Not_Found:2013/02/27(水) 19:01:41.16 ID:???
<!-- http://foo/bar.html -->
<form id="form_id" action="form_action" method="get">
<input type="text" id="text_id" name="text_name" value="abc:def"/>
<input type="submit" id="submit_id" value="送信"/>
</form>

上記bar.htmlの送信ボタンを押した時、
http://foo/form_action?text_name=abc%3Adef
に飛びます。
この時、text_idのabc:defをdefに変更してから飛ぶようにしたい
http://foo/form_action?text_name=defに飛ぶようにしたい
のですが、その為にどのようなjavascriptを書けばよいでしょうか?
408407:2013/02/27(水) 19:03:08.55 ID:???
×この時、text_idのabc:defをdefに変更してから飛ぶようにしたい
◯この時、text_nameのabc:defをdefに変更してから飛ぶようにしたい
失礼しました
409Name_Not_Found:2013/02/27(水) 19:09:50.43 ID:???
onsubmit
410Name_Not_Found:2013/02/28(木) 07:39:21.86 ID:???
 「WebアプリをJavaScriptで作る。」
と言ったら、
 「JavaScriptクソ。使うな。Ruby使え」
って言われた・・・。
なんでみんなRubyを押すの?
JavaScriptに比べて何が優れているの?
411Name_Not_Found:2013/02/28(木) 08:29:16.93 ID:???
言語にとらわれている時点で
412Name_Not_Found:2013/02/28(木) 08:42:07.78 ID:???
ruby使うくらいならphpでいい気が刷る
413Name_Not_Found:2013/02/28(木) 08:53:32.19 ID:???
ブラウザによって動作が違ったりするからだけど、
クロスブラウザでユーザーサイドで動いたりと、
それなりにメリットはあるから、糞と一蹴するやつが糞。
414Name_Not_Found:2013/02/28(木) 09:16:00.55 ID:???
そもそも土俵が違うので比べるようなものではない
サーバーサイドJS限定で話をしてるの?
415Name_Not_Found:2013/02/28(木) 09:24:05.91 ID:???
そらそうでしょ
416Name_Not_Found:2013/02/28(木) 09:32:14.41 ID:???
JavaScriptは応用範囲が広く注目もされてるし
Rubyなんかよりは全然将来性があるよ
node.jsとかサーバサイドのほうはいじったことないけど
417Name_Not_Found:2013/02/28(木) 11:31:08.69 ID:???
使いやすいんだが本当にメンテやバグ取りが大変だ
お前らエディタとか何使ってる?
418Name_Not_Found:2013/02/28(木) 11:58:23.57 ID:???
<script type="text/javascript" src="test?a=b"></script>
<script type="text/javascript" src="test?c=d"></script>
とすると2つ目のJavascriptを読み込んでくれません。
どのようにすれば読み込んでもらえるのでしょうか?
それぞれを1つずつ書くとちゃんと機能しているのでjavascriptが無いということはありません。
419Name_Not_Found:2013/02/28(木) 12:00:40.32 ID:???
>>418
それは2つとも同じファイルと見なされるな
420418:2013/02/28(木) 12:21:31.49 ID:???
いやごめ違う・・・それ同じファイルとみなされたらキャッシュバスターとか動かんわな
421419:2013/02/28(木) 12:35:50.61 ID:???
>>418
さらにごめん419だった
お詫びにちょっと試してみたが、普通にtestが2回読み込まれるよ?
422Name_Not_Found:2013/02/28(木) 13:15:00.51 ID:???
ブラウザに依るんじゃないか
423Name_Not_Found:2013/02/28(木) 13:19:41.53 ID:???
firefox19/chrome/IE9では全部2回読んでくれた
424Name_Not_Found:2013/02/28(木) 23:09:17.27 ID:???
YES/NOチャートのようなものを作っていて、はい、いいえ、の選択肢のボタンを押すと
矢印が出るといったものにしたいのですがどうすればいいでしょうか
425Name_Not_Found:2013/02/28(木) 23:17:25.12 ID:mnNPIXu5
>>424
大雑把過ぎる
426Name_Not_Found:2013/02/28(木) 23:24:44.12 ID:???
いつも Emacs + mooz/js2-mode で書いてるけど、リアルタイムに構文解析して
カンマやセミコロンが足りなかったりいらなかったりすると色が変わって超便利。
さらに変数を二重定義してたりしてもすぐ分かる。
ブロックスコープが無いから二重定義は思わぬバグを生む原因になるから大事だよね。
427Name_Not_Found:2013/02/28(木) 23:27:34.42 ID:???
大抵のWeb系IDEは実装しとるで
428Name_Not_Found:2013/02/28(木) 23:33:11.26 ID:???
>>425
すみません。

○は質問 

○ ○ ○     [はい] [いいえ]





またもや大雑把な感じになっちゃったんですけども
はいをクリックすると・・・

○ ○ ○     [はい] [いいえ]





という風になるものです。document.writeを使うと消えちゃうのでdocument.getElementByIdを使って表示しているものを消して、ボタンを押すことで
表示するものを作りたいんですが、if文を使うのかなって思ったんですけど理解出来なくて・・・
教えていただけると嬉しいです
429Name_Not_Found:2013/02/28(木) 23:34:17.92 ID:???
あんまりしつこい構文アシストはうっとおしいので、
emacsは自分の好みに調整できるのがいい
430Name_Not_Found:2013/02/28(木) 23:43:59.65 ID:mnNPIXu5
>>428
わかりにくすぎワロタ
表示非表示はスタイルシートでいい?

.hoge { display : none; }

としておいて、消したい奴にだけclass="hoge"を付け足す、というのでどう?
431Name_Not_Found:2013/02/28(木) 23:44:55.60 ID:mnNPIXu5
間違えた
最初はdisplay : noneにしておいて
はいがクリックされたら
display : block;とかに変更

432Name_Not_Found:2013/03/01(金) 00:35:58.57 ID:???
>>431
ありがとうございます。おかげで画像の非表示をすることが出来ました
クリックした際に設問にあった部分に矢印が出る方法なんかは自分で調べてみます
長々と分かりづらいものを並べてすみませんでした
433Name_Not_Found:2013/03/03(日) 07:42:54.81 ID:RjsNMwJ+
Objectとfunctionをどのように使わけて良いのか混乱しています。
そもそも↓これら2つに違いってあるのでしょうか?

var objA = {
 hoge:HOGE
};

var fncA = function(){
 hoge:HOGE;
}
434Name_Not_Found:2013/03/03(日) 10:56:24.86 ID:???
>>433
Objectは静的。外から中身を参照する。
functionは動的。中身のコードが走る。
435Name_Not_Found:2013/03/03(日) 11:13:08.43 ID:???
>>434
「動的 中身のコードが走る」という表現が
イマイチ理解できていないのですが、
↓このようにコードが走った時にしか参照できない、そんなイメージでしょうか?

var objA = { hoge:HOGE };
var fncA = function(){ hoge:HOGE; }

console.log( objA.hoge ); //←OK
console.log( fncA.hoge ); //←NG
436Name_Not_Found:2013/03/03(日) 12:56:36.33 ID:???
ハーバードアーキテクチャ的に、
Objectはデータ、functionはコード。

property:data ってした時、どちらもデータになるんじゃないかな。
Object⊃function だし。
437Name_Not_Found:2013/03/03(日) 13:14:10.69 ID:???
こんにちは。
ニコニコ動画の動画ページのソースに何らかスクリプトを追加して自動再生するようにしたいのですがどうすればいいでしょうか?
ソースにスクリプトを挿入する方法はわかっているのですがどういうスクリプトを挿入すればいいのかわからず困っています。
とりあえずjavascript:var player = document.getElementById('flvplayer'); if(player.ext_getStatus()=="paused") {player.ext_play(true);} else if(player.ext_getStatus()=="end") {player.ext_setPlayheadTime(0);} else {}
をアドレスに入力して走らせると動画が再生されるのはわかっているのですが・・・・

(要約)
ニコニコ動画の動画ページのHTMLソースにどのようなスクリプトが挿入されていたら自動で動画が再生されますでしょうか?

どうかよろしくお願いします。
438Name_Not_Found:2013/03/03(日) 15:30:44.36 ID:???
教えてください
なんでこれが文法エラーにならないの?
(function(){ hoge: 1 })();
どういう意味のコードを実行したことになる?
439Name_Not_Found:2013/03/03(日) 16:41:53.43 ID:???
>>438
hege: が( goto やbreak の)ラベルに解釈されているんでないかと
よって
(function(){ 1 })();
と同じ
440Name_Not_Found:2013/03/03(日) 16:44:31.44 ID:???
>>439
ありがとう!なるほど確かにラベルだなー
441Name_Not_Found:2013/03/04(月) 07:48:39.73 ID:hNdV4Eun
>>437
グリモンでそれを使えばいいじゃない
442Name_Not_Found:2013/03/04(月) 22:31:16.71 ID:???
プログラミングの知識0でHTMLってなに?ってレベルなんですが
いきなりこの言語勉強しても理解できるかね
443Name_Not_Found:2013/03/04(月) 23:03:10.87 ID:???
他の言語に比べて特段難しいってことは無いと思うけど
444Name_Not_Found:2013/03/04(月) 23:28:29.38 ID:???
>>442
まずはHTML/CSSを学ぶべき
445Name_Not_Found:2013/03/05(火) 00:23:08.25 ID:///Zmu+4
HTMLとCSSなしでもできることいろいろあるけど
つまらんわな
446Name_Not_Found:2013/03/05(火) 11:19:58.75 ID:???
>>442
大丈夫だ、問題ない
447Name_Not_Found:2013/03/07(木) 20:45:31.41 ID:???
質問させてください。外部ファイルの読み込みについてです。

<script id="input" type="text/x-handlebars-template">
<section class="inner">
<h1 class="header">{{title}}</h1>
<div class="box"><img src="{{img.url}}" alt="{{img.alt}}" /><p class="flex">{{text}}</p></div>
</section>
</script>

上のようなDOMがあったとして、alert($('#input').html());
で中身(<section>タグ以下)が取得できるとこまでは確認したのですが、

<section>タグ以下を外部ファイル(section.template)にして、

<script id="input" type="text/x-handlebars-template" src="section.template"></script>

としたのですが、alert($('#input').html());で取れませんでした。

$('#input').load('section.template', null , function(){ ... });

も考えたのですが、これだと非同期読み込みになってしまい、使い勝手が悪くやりたくありません。
どうにかして、section.templateの中身を即座に取り出す方法はないでしょうか?
448Name_Not_Found:2013/03/07(木) 22:27:21.33 ID:???
var input='<section class="inner">\
<h1 class="header">{{title}}</h1>\
<div class="box"><img src="{{img.url}}" alt="{{img.alt}}" /><p class="flex">{{text}}</p></div>\
</section>\
';

外部ファイルに上のコードを入れ、読み込むところで

document.write(input);

こんなかんじじゃだめなの?
449Name_Not_Found:2013/03/07(木) 22:57:42.60 ID:???
>>448
それだとHTMLコードが長くなると編集やバリデーションがめんどくならないか?

>>447
そういう風にできれば便利だと思うけどな

HTMLのデータを js 文字列化して . js ファイルとしてサーバに置く作業を
自動化するようなツールを使う方法は考えられなくもない
450447:2013/03/07(木) 23:02:42.82 ID:???
>>448
ありがとうございます。
その方法でも確かにできるのですが、内容が長くなると¥を付けたりするのが面倒
なので、できるだけそのまま読み込みたいというのと、
document.writeを使うと、JavaScriptのユニットテスト(Jasmine使用)と
どうも相性が悪いみたい、という2点の理由からダメになりました。

クライアントサイドインクルードというジャンルのJavascriptライブラリも
いくつか見つけたのですが、結局どれも非同期読み込みなんですよね……。
451447:2013/03/07(木) 23:19:15.78 ID:???
ご報告です。できました! php.jsというライブラリを使ったらいけました。
http://phpjs.org/

<script src="phpjs/functions/filesystem/file_get_contents.js"></script>
<script src="phpjs/functions/filesystem/fopen.js"></script>
<script src="phpjs/functions/filesystem/feof.js"></script>
<script src="phpjs/functions/filesystem/fgets.js"></script>
<script>
function loadExternalFile(filename)
{
var fp = fopen(filename,"r");
var text = "";
while(!feof(fp))
{
text += fgets(fp);
}
return text;
}

var templateText = loadExternalFile("section.template"); // 外部ファイル読み込み
alert(templateText); // 読み込みが終わってからこの行が実行されることが保証される。
</script>

という感じです。

<script id="template_table" type="text/x-handlebars-template"></script>
のようなプレースホルダも必要ありません。かなり便利です。
皆様もぜひお試しください。
452Name_Not_Found:2013/03/07(木) 23:31:10.38 ID:???
var obj = document.getElementById('shujinkou');

window.addEventListener('keydown', function(e){
if (39 == e.keyCode)obj.style.left = obj.offsetLeft + 10;

}, false);

右カーソルを押すと要素を右に移動するコードなんですけど
押しっぱなしにしてればちゃんと移動し続けるのでいいんですが
一番最初に押した時のみ、要素が移動後にラグがでます

ここみたいにラグがなく、キーを押したらすぐ移動するアドバイスをお願いします
http://tmlife-storage.googlecode.com/svn/trunk/enchant/tips/keyboard/sample00.html
453Name_Not_Found:2013/03/07(木) 23:37:45.24 ID:???
そうか XMLHttpRequest って同期読み込みもできたのね
別に php.js でなくてもいけるね
454Name_Not_Found:2013/03/07(木) 23:42:23.56 ID:???
jQueryのloadも第二引数に{async:false}とか入れれば同期になるだろう。
でもなんでみんな非同期でやるのかも考えたほうがいい。
455447:2013/03/07(木) 23:49:33.31 ID:???
>>453
私もfopenのソース見たら確かに……。おっしゃる通りですね。気付きませんでした。

>>454
情報ありがとうございます。JQueryのloadでも行けるのですね。
確かに、なんでも同期にしたらパフォーマンスの問題がありますね。あまり乱用しないようにします。
456Name_Not_Found:2013/03/08(金) 00:01:36.67 ID:9UW9JFw7
>>452
そのラグって、キーのオートリピートの応答時間なのかな?

であれば、キーダウンからキーアップまでを押し下げ期間として
能動的に移動を繰り返せばいいと思う
457Name_Not_Found:2013/03/08(金) 00:59:35.34 ID:???
keydownイベントで直接右に動かしてるんじゃなくて、
keydownイベントとkeyupイベントでキーが押されてるかどうかのフラグを切り替えて、
1/60秒ぐらいのタイマーで常時そのフラグを監視する処理をループさせて、
フラグがキー押下状態なら右に動かす
こんな感じか
458Name_Not_Found:2013/03/08(金) 01:04:46.91 ID:???
keydownイベントが来てるにもかかわらず
keyupイベントは来ない、なんてことはないのか?
459Name_Not_Found:2013/03/08(金) 01:18:37.72 ID:???
よくは知らないけど、心配ならkeydownイベントが継続的に上がってるかも監視すればいいんじゃない?
460Name_Not_Found:2013/03/08(金) 10:07:07.36 ID:???
ラグが発生するのはブラウザの仕様だから?chromeしか確認してないけど
461Name_Not_Found:2013/03/08(金) 10:40:13.42 ID:???
>>460
ラグっていうかキーのオートリピートの仕様?
メモ帳とかなんでもいいから開いて同じキーを押し続けてみればわかると思うけど、
押した瞬間一文字入力されて、そのまま押してるとちょっと間をおいてリピート入力が
始まるよね?keydownイベントはそれと同じタイミングでしか発生しないってことじゃない?
462Name_Not_Found:2013/03/08(金) 13:16:44.23 ID:???
ああ本当だ、こういう動作があるのか
これってWindowsだけなのかな
LinuxとMacもってないからよくわかんないや
463Name_Not_Found:2013/03/08(金) 14:29:56.37 ID:QH8QszhU
>>462
少なくともPC-8001とAPPLE2の時点では、ほぼすべてのコンピュータにあった
キーボードの標準仕様と思って間違いないと思う
464Name_Not_Found:2013/03/08(金) 15:29:10.76 ID:???
どうもありがとう
465Name_Not_Found:2013/03/08(金) 20:22:43.95 ID:L7rOVO5V
ライブラリスレが荒らされて死んでるのでこちらで失礼します。
AJAXで画面をふわっと遷移させるのに、ぐぐって見つけた
jquery.smarthistory.jsというのを使ってみたんだけど、
AJAXで遷移させるとonloadイベントが起こらないらしく、
ページに書いてあるwindow.onloadまたは$( function() などの関数が実行されない。
この辺解決してる実装例はありませんでしょうか。
466Name_Not_Found:2013/03/08(金) 20:40:09.58 ID:???
まずAJAXの基礎を学べ
そしたら何故イベントが起こらないのか分かる
467Name_Not_Found:2013/03/08(金) 20:44:47.04 ID:???
>>465
Rails環境にTurbolinksっていうAjaxでページ遷移する仕組みがあって、
この仕組みにアドオンでjquery-turbolinksというのが提供されてて、
ページ遷移時にjQuery.ready()を自動で実行してくれたりするみたいだなあ
468Name_Not_Found:2013/03/08(金) 22:24:17.00 ID:0KZJ5QiB
>>465
$()に無名関数を渡すのではなく、名前つけたのを渡すようにしておいて
ajaxで読まれたら動的にその名前付き関数を叩けばいいんじゃない?
469Name_Not_Found:2013/03/09(土) 15:49:27.12 ID:???
自分自身を呼び出すのは出来るみたいだけど
変数は渡せないのかい?

function counter(i){
if(i <= 5){
alert(i);
myTimer = setTimeout("counter(i+1)",120);
}
return false;
}
470Name_Not_Found:2013/03/09(土) 15:56:24.49 ID:???
>>469
myTimer = setTimeout(function(){counter(i+1);}, 120);
471Name_Not_Found:2013/03/09(土) 16:00:40.50 ID:???
setTimeout( 'counter('+(i+1)+')' ,120);
472Name_Not_Found:2013/03/09(土) 16:01:28.25 ID:???
>>469
あなたのその考え方、20年くらい遅れてるから。「クロージャ」の勉強をすれ。
473470:2013/03/09(土) 16:06:07.29 ID:???
ごめん>>470じゃだめだ
そもそも>>469の意図が読めない
474470:2013/03/09(土) 16:12:44.87 ID:???
あ、>>470でよかったわw酒飲んでるんで一瞬ifがwhileに見えたw
475469:2013/03/09(土) 16:20:03.56 ID:???
いや、グローバル変数を極力減らしたいのさ。
例を単純にしただけで、まさかのアラート嫌がらせじゃないよw
にしても素早い回答ありがとう!

クロージャ勉強してみる。
476469:2013/03/09(土) 17:04:48.38 ID:???
クロージャ勉強してきた。
なんか使ったことある手法だったぞw

でもこれだと親側に一つクロージャ用の変数用意しないといけないね・・・
親側で
sub('abc',0)
みたいに関数のみ呼び出して何回も繰り返したかったのさ。
クロージャには親から変数渡せないよね?
477469:2013/03/09(土) 17:07:11.90 ID:???
ごめん、答え貰っても返事は月曜以降に遅れる!
478Name_Not_Found:2013/03/09(土) 17:33:54.79 ID:sZ6m8Ixh
>>476
sub('abc',0)や「親から渡せない」がどういう意味かイマイチわからんが
基本的に自分より上のスコープは見える
479Name_Not_Found:2013/03/09(土) 18:18:52.18 ID:???
>>470でよくね?
480Name_Not_Found:2013/03/09(土) 19:16:12.57 ID:???
自分より上の関数を匿名で呼び出して、その中に関数を定義するっちゅうアレじゃないのかい?
481Name_Not_Found:2013/03/09(土) 19:53:15.07 ID:sZ6m8Ixh
あ、こうか

setTimeoutとsetIntervalは
引数に文字列を渡すとEval(文字列)されるけど
>>470のように関数を渡せばそれが実行される

この場合、引数に書かれた無名関数からは
親関数counterのスコープは見渡せるし
親関数counterから無名関数の引数に渡してもいい
482Name_Not_Found:2013/03/09(土) 20:07:31.65 ID:???
setTimeoutの第3引数以降は、第1引数で渡した関数の引数になるけど
http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#timers

myTimer = setTimeout(counter, 120, i + 1);
483Name_Not_Found:2013/03/09(土) 20:23:14.12 ID:???
>>482
それは動かないIEがあるんじゃなかったっけ?
484Name_Not_Found:2013/03/09(土) 20:55:24.59 ID:???
IEは10しか対応してないのか
485437:2013/03/10(日) 02:05:44.71 ID:???
>>437です。
グリモンにぶち込めばいいとの事でしたがどうしてもそうはいかないんです・・・。
ニコニコ動画を自動再生するブラウザを作っていて、それに必要で・・・。

ニコニコ動画のプレイヤー状態が「playing」になるまでループさせるか
ニコニコ動画のプレイヤーが表示されて再生ボタンが押せる状態になったらあのスクリプトを走らせるという感じにしたいです。
どうか力をお貸し下さい。
486Name_Not_Found:2013/03/10(日) 02:43:54.96 ID:???
>>485
ニコニコ動画 自動再生+α for Greasemonkey
http://userscripts.org/scripts/show/35194
を参考にすれば?
487Name_Not_Found:2013/03/10(日) 03:58:32.61 ID:fTrNaYwJ
>>485
>ニコニコ動画を自動再生するブラウザ

それってニコニコ動画の再生ページそのものなんじゃ…
488Name_Not_Found:2013/03/10(日) 04:04:19.71 ID:???
自動再生ってプレミアムだけだっけ。
489Name_Not_Found:2013/03/10(日) 13:57:45.11 ID:???
uwscでも使っとけ
490Name_Not_Found:2013/03/10(日) 14:29:34.70 ID:???
n個の画像ファイルがあります
これをwebページ表示したときにロードさせたいんですが、
そのときにプログレスバーで何%読み込んだか表示させたいです
これはどうやるのでしょうか?
491Name_Not_Found:2013/03/10(日) 15:03:33.36 ID:fTrNaYwJ
説明すると長いから
FileAPIとかreadAsDataURLとかprogressとかで調べておくんなまし
<progress>要素を使ったらかっこいいね!
492Name_Not_Found:2013/03/10(日) 22:22:52.15 ID:???
お尋ねしたいのですが、JQueryでCSVファイルのテキスト検索をしようとしております
LIKE演算子(ワイルドカード%)による絞り込みを、複数の項目にかけるにはどうすればよいでしょうか?

CSVの中身
氏名,年齢,電話番号,......
たろう,22歳,0612341234,......
はなこ,22歳,0634567890,......
こうじ,24歳,0634567890,......

HTML
年齢<input type="text" name="itm_1" id="itm_1" value="" />
電話番号<input type="text" name="itm_2" id="itm_2" value="" />

JS
$('#result').csvSearch('./data.csv', {
where:[{'年齢': 'like %' + $("#itm_1").val() + '%'},'&&',{'電話番号': 'like %' + $("#itm_2").val() + '%'}]}
}

このようなイメージで、一応動いてはいるのですが
電話番号のほうだけしか絞り込みが効いていません
(itm_1に「22歳」、itm_2に「7890」を入力しても「こうじ」くんしか抽出しません)
よろしくお願いします
493Name_Not_Found:2013/03/11(月) 02:11:08.53 ID:???
SOHOの皆さんセキュリティ・脆弱性対策どうしてます?
例えば脆弱性で個人情報が漏れたとしても、個人事業主では損害賠償できない額になり得ますよね。
そこは契約書に免責事項盛り込むとか、そもそも機密データは扱わないとか、保険入るとか、なんかしてます?
私はこれから事業を始めていこうとセキュリティについて勉強は重ねているのですが、突き詰めてもやっぱり失敗はあり得ますよね。
そしたら簡単に全財産吹っ飛びかねないじゃないですか。
そこんとこどうしてますか?
先輩方からのご意見頂けたらと思います。
494Name_Not_Found:2013/03/11(月) 02:11:49.94 ID:???
すんません!誤爆しました!
495Name_Not_Found:2013/03/11(月) 02:15:47.33 ID:???
契約書の主たる契約者を法人にすればよろし。
496Name_Not_Found:2013/03/11(月) 07:05:09.92 ID:yzyechv6
基はJavaScriptらしいので、こちらで質問させて頂きます。
もし致違いでしたらご誘導をお願い致します。

XBMC(ttp://xbmc.org/)の再生情報等を取得するコードなのですが、
曲のタイトル等、日本語が文字化けをしてしまいます。
こちら[xbmc_json.txt(ttp://kie.nu/RUu)]の93行目の、
GUI.widget("tNowPlaying").label = nowPlaying;
の部分かと思うのですが、この"tNowPlaying"の文字コードを指定するにはどのようにすれば良いのでしょうか?

よろしくお願い致します。 m(__)m
497Name_Not_Found:2013/03/11(月) 07:27:11.54 ID:vKVvv7Tt
$(body).removeAttr('onselectstart').removeAttr('oncontextmenu');
$('#center').removeAttr('onmousedown');

このjqueryで書かれたコードをjquery不使用に書き換えていただけないでしょうか
498Name_Not_Found:2013/03/11(月) 07:45:38.23 ID:Lds6Ixht
>>497
丸投げはご遠慮しやがってください

最初の$()関数は、getElementsByTagNameやgetElementByIdを使います
removeAttr()メソッドはremoveAttributeを使います

removeAttributeでイベントハンドラ関連の属性を削除するのは
IEでとってもとっても苦労すると思うので振り分け頑張れ
499Name_Not_Found:2013/03/11(月) 12:47:23.76 ID:???
IEはHTML内に書かれたイベントハンドラはremoveAttributeで削除できないとかだっけ?
500Name_Not_Found:2013/03/11(月) 13:24:52.19 ID:???
IE7以下の set/getAttribute が手抜き実装なのが原因
逆に、IE8以上しか対応しなくていいなら >>498 の振り分けは考えなくていい

IE の getAttribute / setAttribute: Days on the Moon
nanto.asablo.jp/blog/2005/10/29/123294
501Name_Not_Found:2013/03/11(月) 15:22:23.38 ID:???
IE8もまだ属性とプロパティと混同してて手抜き実装なんだけど
502Name_Not_Found:2013/03/11(月) 23:09:53.87 ID:???
>>497
null 代入で十分に思えますが、removeAttribute を使用しなければならない理由はありますか?
503Name_Not_Found:2013/03/12(火) 00:33:21.33 ID:???
質問させてください。
とある事情から、JavaScriptのデータ(配列やらオブジェクトやら)を、
「文字列として」出力する必要がでてきました。
つまり、

var data = {id:1, text:'Hello'};
var array = [1, "Hi"];
// data = ごにょごにょ...
// array = ごにょごにょ...
console.log(data); // => {id:1, text:'Hello'} と出力
console.log(array); // => [1, "Hi"] と出力

としたいのですが、可能でしょうか?
ちなみに、
var data = "{id:1, text:'Hello'}";
とするのはもちろんナシでお願いします。
504Name_Not_Found:2013/03/12(火) 00:38:54.76 ID:???
>>503
JSON.stringify
505Name_Not_Found:2013/03/12(火) 00:40:00.24 ID:???
506Name_Not_Found:2013/03/12(火) 00:40:12.12 ID:???
>>503
JSON.stringify
507Name_Not_Found:2013/03/12(火) 01:04:20.80 ID:???
>>501-503
こんな便利なものが! ありがとうございます!

あと、たびたびすみません。類似の問題なのですが、
console.log(function(){var foo = 'boo';});
とした場合、Chromeではコンソールに

function(){var foo = 'boo';}

と表示されるのですが、

$('#input').val(function(){var foo = 'boo';}); // inputタグに出力

とした場合は、inputタグの値として表示させることができません。
(空文字? なのか、変化がありません)

こちらは何か方法はありませんでしょうか?
508Name_Not_Found:2013/03/12(火) 01:18:34.64 ID:???
>>507
Function#toString()
509Name_Not_Found:2013/03/12(火) 01:21:20.12 ID:???
文字列で渡せばok
510Name_Not_Found:2013/03/12(火) 01:23:26.28 ID:???
>>507
console.log は渡された引数を内部で toString などをして表示しているけど、
$('...').val() は引数に文字列型しか取らないので、
自分で toString なり JSON.stringify なりして文字列にすればいい
511Name_Not_Found:2013/03/12(火) 01:24:55.26 ID:???
>>507
$('#input')[0].value = function(){var foo = 'boo';};
512Name_Not_Found:2013/03/12(火) 01:26:11.14 ID:???
>>510
ごめん、いろいろ間違ってた

・JSON.stringify は Function オブジェクトについては使えない
・$('...').val() は関数も引数に取れる(けど使い方が違う)

.val() | jQuery API Documentation
api.jquery.com/val/
513Name_Not_Found:2013/03/12(火) 01:59:56.14 ID:???
>>505
>>508
ありがとうございます。どちらの方法でもできました!
とくに >>508 の方の方法は不思議ですね。なぜ[0].valueだと表示できるのか不思議でなりません^^;

>>509
ありがとうございます。なんだか、function( index, value ) と、シグニチャが限定されているっぽいですね。

とにかく、皆様本当にありがとうございました。
514Name_Not_Found:2013/03/12(火) 02:21:54.65 ID:???
>>513
> とくに >>508 の方の方法は不思議ですね。なぜ[0].valueだと表示できるのか不思議でなりません^^;
String 型にキャストされる仕様だから。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/HTML/HTMLInputElement.html#HTMLInputElement-value

jQuery で引数のデータ型によって処理を変更する方法は、標準仕様と大分違うから惑わされないほうがいい。
515Name_Not_Found:2013/03/12(火) 02:28:39.97 ID:???
>>513
> どちらの方法でもできました!
>>512も指摘してるが、function に JSON.stringify は適用できない。
それを許す実装はあるが、仕様上は不可だから修正されれば使えなくなる。
516Name_Not_Found:2013/03/12(火) 06:47:21.31 ID:???
>>511
>>512
アドバイスありがとうございます。
とても勉強になりました。
517497:2013/03/13(水) 00:22:52.89 ID:WvykMTk0
>>502
null代入で出来ました

bodyはなぜかremoveもできなかったのですが
onselectstart="return false" oncontextmenu="return false"がなぜか機能してなかったので必要なかったようです

ありがとうございます
518Name_Not_Found:2013/03/13(水) 04:28:08.78 ID:???
友人が
「これからはCoffeeScriptだ」
見たいなこといっててサーバサイドのスクリプトとかいじってるけどさぁ……。
世の中の多くはレガシーシステムだってことわかってんのかね。
そいつのCoffeeScriptとやらより、俺のJavaScriptの方が100倍は表現力・オブジェクト指向性たかいわ。
言語が先進的だからそれ使ってる自分も先進的。
んなことほざくガキとは絶対一緒に仕事したくねぇな。
「JavaScriptって汚くねぇか?」
とか言っちゃってさ。
その自分はCoffeeScriptでグローバル変数アホみたいに使ってて。
はぁ、もう勝手にやってろって感じ。
519Name_Not_Found:2013/03/13(水) 07:20:26.63 ID:???
(function(){

})()

で括ればあら不思議、グローバル変数も一瞬でプライベート変数に変身!
520Name_Not_Found:2013/03/13(水) 08:04:45.28 ID:???
>>519
var 付けてなければグローバル変数のままでは?
521Name_Not_Found:2013/03/13(水) 08:19:34.39 ID:???
そりゃそうだけどvarで変数宣言しないなんてことがあるわけないもの
522Name_Not_Found:2013/03/13(水) 10:59:24.44 ID:???
>>521みたいな奴がいるわけがない、と思ったら居た。
523Name_Not_Found:2013/03/13(水) 12:20:56.91 ID:???
>>522みたいな奴がいるわけがない、と思ったら居た。
524Name_Not_Found:2013/03/14(木) 00:41:42.22 ID:???
>>523みたいな奴がいるわけがない、と思ったら居た。
525Name_Not_Found:2013/03/14(木) 01:37:30.23 ID:???
ところで、varで変数宣言しないなんてことあるの?
526Name_Not_Found:2013/03/14(木) 02:03:06.33 ID:???
そんな奴おれへんやろ〜。
527Name_Not_Found:2013/03/14(木) 02:44:57.06 ID:???
全部仮引数にしちゃいなyo!
528Name_Not_Found:2013/03/14(木) 02:56:21.91 ID:???
試験問題
次のうちクリックされたときに呼ばれるのはどれか
理由も述べなさい

var onclick = function(){alert('hoge')}
onclick = function(){alert('piyo')}
function onclick(){alert('fuga')}
529Name_Not_Found:2013/03/14(木) 03:26:09.92 ID:???
>>528
イベントハンドラ未定義なのでどれも呼ばれません
530Name_Not_Found:2013/03/14(木) 05:48:06.63 ID:???
>>529
そこは脳内変換で
531Name_Not_Found:2013/03/14(木) 06:17:51.13 ID:???
未定義でもonclick=は
532Name_Not_Found:2013/03/14(木) 06:43:28.64 ID:???
これonclick = function(){alert('piyo')}だけなら動くんだな
onclickを新しく作っちまうとダメか
でも新しくつくったonclickもwindow.onclickなんだね?
window.onclickを作り変えるとダメ?どゆこと?
533Name_Not_Found:2013/03/14(木) 08:13:21.18 ID:???
ヒント: setter/getterとは何か、説明せよ。
534Name_Not_Found:2013/03/14(木) 09:50:44.09 ID:???
Firefoxはonclickにgetter/setter設定されてるように見えるけど、
Chromeはちょっと違う感じだな
まあ動作的には似たようなもんだけど
535Name_Not_Found:2013/03/14(木) 13:55:40.57 ID:???
なんか、勉強になった。
536Name_Not_Found:2013/03/15(金) 00:28:03.83 ID:???
【環境】mac OS10.5.8 firefox16

【html ソース】
<html><div id="test">〜〜〜〜〜</div></html>

【Javascript】
var count = 1;

$(function() { $("#test").hover(function(){
count = 0;
console.log('reset:' + count);
setTimeout(countUp,3000,count);
});

function countUp(num) { num++;
console.log('count up:' + num);
setTimeout(countUp,3000,num);
}

というのをつくりました。基本的に何もしなければ3秒毎にcountの値を増やしていき、ログに出力、
divにマウスが乗ったらcountの値を0にリセットして出力、その後0からカウントアップ再開したいと考えました。

2→3→0(リセット)→1→2→・・・
という挙動を期待しているのですが、

2→3→0(リセット)→4→5→・・・
となってしまいます。関数countUpに変数countの値が渡らず、別系統でカウントアップがされているようなのですが、
何がどう間違ってるのか見当がつきません。

jQueryを使っているものの、中でやってることはjQuery的ではないので、こちらで質問しました。
スレチならすみませんが、宜しくお願いします。
537Name_Not_Found:2013/03/15(金) 01:03:10.00 ID:???
それだと hover(function(){... が呼び出される度に
setTimeout の連鎖が追加されていく(clearTimeout してない)ので

2→3→4→5→・・・

0(リセット)→1→2→3→・・・

が同時並行的に出力される筈だが?

ちなみにそのコードだと
setInterval 使う方が管理は楽だろう
538Name_Not_Found:2013/03/15(金) 01:19:19.42 ID:???
そもそもcountがcountUpされてないけど良いのか
539Name_Not_Found:2013/03/15(金) 01:41:26.98 ID:???
>>536
俺ならこうする
http://jsfiddle.net/mHpdL/4/
540Name_Not_Found:2013/03/15(金) 06:57:06.24 ID:???
それだと動作があんま綺麗じゃないね。
541536:2013/03/15(金) 12:27:05.76 ID:???
ありがとうございます。
取り急ぎclearTimeoutを入れ、関数に引数を渡さないようにすると意図どおりの動きになりました。
どうも引数の扱いも誤解してたみたいです。
setIntervalについてはこれから調べてみたいと思います。
542Name_Not_Found:2013/03/15(金) 12:34:52.76 ID:???
setIntervalの例だとhover後の0〜1の間が3秒にならんな
543Name_Not_Found:2013/03/15(金) 13:05:54.83 ID:???
カードゲームを作りたいのですがデータを記述する方法がわかりません
どうすればデータを作る事ができますか?

myData = new Array(41);
for (i=0; i<41; i++) myData[i] = i+1;
for (i=0; i<500; i++){
myA = Math.floor( Math.random() * 41 )
myB = Math.floor( Math.random() * 41 )
myBackup = myData[myA];
myData[myA] = myData[myB];
myData[myB] = myBackup;
}
myCard = new Array(5);
for (i=0; i<5; i++) myCard[i] = myData[i];

for(i=0; i<5; i++){
document.write("[",myCard[i],"]");
if (i < 4) document.write("-");}

これでランダムの数値を持ってきても、それをカードのデータに変換する方法が見つかりません
どうすればカードのデータに変換できますか?
544Name_Not_Found:2013/03/15(金) 13:09:51.96 ID:???
マルチ
545Name_Not_Found:2013/03/15(金) 13:13:36.90 ID:???
546Name_Not_Found:2013/03/16(土) 00:10:21.52 ID:???
ちょっとした小技知りたいんですが
var hoge =[];
if(hoge['a']{'b'}=='unko')ほにゃらら

ってやるとhoge['a']は生成されてないからバグが発生しちゃいますが
皆さんこういう対処はどうやってますか?
i
f(hoge['a']){
   if(hoge['a']['b']=='unko')ほにゃらら
}
というのは何か汚いように見えるんですが
547Name_Not_Found:2013/03/16(土) 00:23:31.83 ID:???
まっとうな方法
if (hoge['a'] && hoge['a']['b'] == 'huga') {}

少しトリッキー
var hage;
if ((hage = hoge['a']) && hage['b'] == 'hufa') {}
548Name_Not_Found:2013/03/16(土) 00:32:05.49 ID:???
小技の前に、hogeを配列として使うわけじゃなければ初期化は var hoge = {}; のほうがいいだろ
hoge['a']{'b'}はまあタイプミスなんだろうけど
549Name_Not_Found:2013/03/16(土) 00:47:28.91 ID:???
トリッキーな方が通っぽくて職場でモテそうですね!
ありがとうございます!

はい、{'b'}はタイプミスで['b']です
550Name_Not_Found:2013/03/16(土) 03:04:09.73 ID:???
var hoge = hoge || {};
職場でモテる記述ならコレ
なんか雑誌で週刊モテるjavascript講座とかやってくんないのかね
551Name_Not_Found:2013/03/16(土) 03:15:55.78 ID:???
お気に入りのJavaScript本あります?
自分はオライリー信者なんで、
フラニガン「JavaScript」
誰かさん「JavaScript:The Good Parts」
誰かさん「JavaScriptパターン」
誰かさん「Prototype & script.aculo.us」
あたり好きです。
552Name_Not_Found:2013/03/17(日) 11:22:23.60 ID:???
>>551
技評のJavaScriptポケットリファレンス一筋
553Name_Not_Found:2013/03/17(日) 15:15:01.06 ID:???
JavaScriptの文法チェックでお知恵をお借りしたいことがあります。

ユーザーに入力させたJavaScriptコードの文法チェックをやりたいんですが、
evalする以外に方法はありますか?
なぜevalする方法だとイヤかというと、まだ入力した時点(evalチェックした時点)では存在しない変数にアクセスするJavaScriptコードが入力される可能性があるからです。

変数の存在の有無の確認を除いたJavaScriptコードの文法チェック方法、なにか良い方法はないでしょうか。

あ、もちろん開発ツールやIDEのようなツールで文法チェックするというのではなく、JavaScriptでブラウザ上で文法チェックしたいということです。

色々考えているんですが、良い方法が見つかりません……。
554Name_Not_Found:2013/03/17(日) 15:24:39.68 ID:???
>>553
Esprima みたいなパーサー使うとか?
555Name_Not_Found:2013/03/17(日) 15:52:27.43 ID:???
正規表現を超頑張る
556Name_Not_Found:2013/03/17(日) 16:04:36.55 ID:???
557Name_Not_Found:2013/03/17(日) 20:17:47.95 ID:???
皆様、ご助言ありがとうございます。
>>551 様がご紹介してくださったEsprimaを使ってうまくいきました。
http://esprima.org/doc/index.html

// valueにJavaScriptコードが入っているとする。
try {
return syntax = esprima.parse('(' + value + ')');
} catch (e) {
alert(e);
}

上記のようなコードで、不正なJavaScriptコードを渡すと例外が投げられて、
その例外のメッセージが非常に良い感じのエラー文でした(エラーになった行とかも書いてある)。
ありがとうございました!
558Name_Not_Found:2013/03/18(月) 05:12:34.40 ID:???
>>553
単に new Function(ソース) でもOKのような
559Name_Not_Found:2013/03/19(火) 08:28:35.33 ID:???
obj={ x:1 , y:2};
とプロパティを作って、
obj.x=obj.x.toFixed(3);
とする場合、これをもっと簡潔に書くことってできるんでしょうか
いちいち2回書くのは面倒なんですが・・・。
560Name_Not_Found:2013/03/19(火) 08:42:56.45 ID:???
別におすすめはしないが
with (obj = {x:1, y:2}) { x = x.toFixed(3); }
とか?かえって分かりにくくなるだけのような気もする。どっちかというと
obj = { x: 1.toFixed(3), y: 2};
で十分なんじゃないの。
561Name_Not_Found:2013/03/19(火) 08:47:02.80 ID:???
こうしないとエラーになるな
obj = { x: (1).toFixed(3), y: 2};
562Name_Not_Found:2013/03/19(火) 08:54:09.91 ID:???
プロパティってそんな風にも代入できたんですか
いちいち1個づつ読み出して使ってました。
それでやれば綺麗にできそうです。
ありがとうございます。
563Name_Not_Found:2013/03/19(火) 09:05:20.24 ID:???
>>561
1..toFixed(3) でもおk
564Name_Not_Found:2013/03/19(火) 09:26:04.63 ID:qoem3vAm
>>551
GoodPartsは部分的に納得イカない部分もおおいなあ
565Name_Not_Found:2013/03/20(水) 11:01:32.95 ID:???
$(document).ready(
function(){
$('.fd').hover(function(){
$(this).fadeTo('fast', 0.6);
}
}
);
な感じでフェードを付けてるんだけど
後から
$('.abc').addClass('fd');
としても有効にならない・・・
多分最初の読み込んだときに判断してるからなんだろうけど
付け足したクラスfdにも有効にする方法はないかな?
566Name_Not_Found:2013/03/20(水) 12:05:50.74 ID:???
自己解決
$('.img_fd').live('mouseover', function(e){
$(this).fadeTo('fast', 0.6);
});
567Name_Not_Found:2013/03/20(水) 12:28:29.54 ID:???
$().liveより$().delegateの方がいいとか、1.7以上なら$().on使ったほうがいいとか
568Name_Not_Found:2013/03/20(水) 15:03:54.34 ID:???
おい、バグか?
次を01〜10でやってみてくれ・・・
’08’と’09’で恐ろしい事が起きる。

parseInt('01')

parseInt('10')
569Name_Not_Found:2013/03/20(水) 15:11:16.01 ID:???
>>568
parseInt の第一引数が 0から始まり、第二引数が無指定の場合、それは8進数として解釈される
そのため、それは正しい挙動。

ただし、parseInt は ECMAScript 5 で挙動が変わり、常に 10進数で解釈されるようになった。
現に Firefox 21 からは
parseInt("08") === 8 //=> true
が成り立つ。
570Name_Not_Found:2013/03/20(水) 15:14:00.24 ID:???
>>568
書き忘れたけど以下も参照。

parseInt - JavaScript | MDN
https://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/parseInt
571568:2013/03/20(水) 15:14:26.82 ID:???
そういうことか!
10進数で考えていた俺がアマちゃんだな。

にしても8進数とは中途半端な・・・
572568:2013/03/20(水) 15:20:51.02 ID:???
ちがう、0xなら16進数ってことか。
getしてきた数字が二桁揃えだから変になったんだね。
なんにしろ、次からはとりあえず第二引数つけるようにしよう。
573Name_Not_Found:2013/03/20(水) 16:23:59.34 ID:???
>>569
「イケメン」が広辞苑に載ったような気分だな
574Name_Not_Found:2013/03/20(水) 16:25:21.80 ID:???
第二引数無しだとC言語の数値リテラルみたいに解釈されるってことだね
まあでもC言語なんて知らん人が増えてきたから8進の方が削除されるのは妥当だな
575Name_Not_Found:2013/03/20(水) 17:53:40.52 ID:???
>>569
8進数で解釈する処理系は、「正しい挙動」なのか?
勝手な実装であって、SpiderMonkeyにはあってRhinoにはないんじゃなかったっけ。
576Name_Not_Found:2013/03/20(水) 18:06:24.74 ID:???
>>575
ECMAScript 3rdだと、8進か10進のどちらかでよくて、推奨は10進って書いてあるみたい
577Name_Not_Found:2013/03/20(水) 21:09:58.35 ID:???
>>575
ES3なら>>576だから正しい
ES5なら間違い
578Name_Not_Found:2013/03/20(水) 23:48:41.57 ID:???
なんで0oじゃなくて0になったんだろう
579Name_Not_Found:2013/03/20(水) 23:59:39.14 ID:???
シラネ
CやPerl時代から0付けると8進法だったよ
580Name_Not_Found:2013/03/21(木) 00:17:50.55 ID:???
CというかUNIXで8進数けっこう使うからね
ファイルのパーミッションの値とか8進表記じゃないとピンとこない
581Name_Not_Found:2013/03/21(木) 00:25:22.06 ID:???
>>564
GoodPartsの(というかJSLintの)ローカル変数宣言の位置については、むしろ有害だと思う。
582Name_Not_Found:2013/03/21(木) 00:45:05.44 ID:???
まぁあれはトレードオフだと思う
Cに戻っちゃった感あるけど
583Name_Not_Found:2013/03/21(木) 01:13:03.98 ID:???
UNIXのhostsファイルで、桁揃えで書きたくて
3桁未満は0を補って書いたら、うまく通信が出来なかった。
どうも頭に0があると8進数として解釈してるっぽかった。
こんな所にまで。
584Name_Not_Found:2013/03/21(木) 07:45:51.90 ID:QS0+cAi0
カレントタブのURLを取得するのに↓の2つは全く同じ?
どっちがいいの

window.content.location.href;
window.content.document.URL;
585Name_Not_Found:2013/03/21(木) 08:11:36.57 ID:???
あれ?全く同じじゃないっぽい?
FireGesturesでlocation.hrefが取得できなかった
586Name_Not_Found:2013/03/21(木) 11:00:46.36 ID:???
<html>
<body>
</body>
</html>
587Name_Not_Found:2013/03/21(木) 11:18:34.68 ID:???
Backbone.js って基本サーバサイド側で使うのですか?
588Name_Not_Found:2013/03/21(木) 18:09:32.49 ID:???
ふと思ったんだけど、ネットでやり取りする時のURLって通貨なみの価値があるよね
589Name_Not_Found:2013/03/21(木) 18:36:42.93 ID:pDZ+/A/R
どゆこと?
590Name_Not_Found:2013/03/21(木) 20:43:28.03 ID:???
>>587
クライアント側で使う
591Name_Not_Found:2013/03/22(金) 01:24:04.37 ID:???
さて、そろそろヲタでも放置するか
592Name_Not_Found:2013/03/22(金) 01:50:55.14 ID:???
>>584
document.location.hrefとdocument.URLの一番の違いはdocument.URLの方は参照しかできないこと
document.location.hrefとdocument.URLを参照したときの内容は同じはずだけど、
ブラウザ依存で違う場合もある
593Name_Not_Found:2013/03/22(金) 02:25:59.62 ID:???
jQueryあればprototype.jsそれにscript.aculo.usは要らないかな?
まぁ何がしたいかによるんだよろうけど……。
実際使うときに考えるのは
「あれができるからここで使おう」
みたいなデザインの発想の流れになることあるよね。
prototype.js、script.aculo.usって便利?
使えた方がいい?
594Name_Not_Found:2013/03/22(金) 03:11:19.20 ID:???
>>592
d
595Name_Not_Found:2013/03/24(日) 14:08:58.44 ID:???
Firefoxで使うアドオン作成してます
サイドバーのボタンを押すとページを移動させてそのページにあるボタンを押すといった動作をさせたいです
function openUrl(URL) {
content.wrappedJSObject.location = URL;
newTabBrowser = gBrowser.selectedBrowser;
newTabBrowser.addEventListener("load", highlight, true);
}
このプログラムを動かしてページを移動させることまでができたのですが
現在のページのボタンを押すようなプログラムってどういう感じになりますか?
例えばグーグルのページに飛んで検索窓になにかいれて押すといったことをさせたいです
596Name_Not_Found:2013/03/24(日) 16:24:16.12 ID:???
var tableHtml = [];
tableList.forEach(function() {
tableHtml.push('<table></table>');
});
tableHtml = tableHtml.join('');
$('body').append(tableHtml);
var tableArray = $('table');

同じ要素を複数一度に追加するのに、こんなコードを沢山書いてるけど
もっとシンプルに書ける気がしてならない。
もっと簡単に書けるなら教えてください。
597Name_Not_Found:2013/03/24(日) 19:41:03.97 ID:???
クッキーで質問です。

サーバー側PHPで生成したページを読み込んでいて、PHPからクッキーをセットしています。
その値をページのJavaScriptで読み出そうと
alert( document.cookie );
としても、読み出すことができません。

ブラウザのデバッガでクッキーの値を見ると、ちゃんと値が入っています。

次に、JavaScriptからクッキーをセットしてみました。
document.cookie = "key01=value01;"
この後でalert( document.cookie );をすると、
key01=value01
が表示されます。
ブラウザのデバッガでクッキーの値を見ると、PHPでセットした値とJavaScriptでセットした値が入っています。

同じページの下でも、これらは別のクッキーなんでしょうか?
PHPでセットしたクッキーをJavaScriptから読み出す方法はありますか?
598Name_Not_Found:2013/03/24(日) 21:30:16.53 ID:???
質問を変えましょうか。

あるページを読み込んだ時に、クッキーがセットされました。
ブラウザでクッキーの値を見ると、ちゃんとセットされています。
その値をページ側のJavaScriptで読み出すことは、できますか?
document.cookieを参照しても、空になっていました。
599Name_Not_Found:2013/03/24(日) 22:01:36.74 ID:???
クッキーをセットする時に
'expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/;'
を足してみるとか。
600Name_Not_Found:2013/03/24(日) 22:03:53.04 ID:???
そのサーバ側から送られてくるのはHttponly属性がついてるんじゃないのか
601Name_Not_Found:2013/03/24(日) 22:08:40.68 ID:???
んじゃさ、phpでjavascriptを記述すればいいじゃん
echo "<script>$(function set(){クッキーセット}</script>";
602Name_Not_Found:2013/03/25(月) 17:21:37.16 ID:???
メルアドをアカウント部分とドメイン部分にわけるphp

これJQueryでやろうとすると
どうかきますか?

list($em_alias, $em_domain) = explode('@', $em_email, 2);
603Name_Not_Found:2013/03/25(月) 19:51:21.10 ID:???
ローカル部に@が登場することもあるから、単純に@で分割代入しない方が良いのでは
604Name_Not_Found:2013/03/25(月) 20:01:04.23 ID:???
まあそこまで厳密じゃなくてもいいんじゃないか?

分割代入が有効なブラウザなら
var [ alias, domain ] = email.split("@");

その他のブラウザは
var alias, domain;
email = email.split("@");
alias = email[0];
domain = email[1];
605Name_Not_Found:2013/03/25(月) 21:02:05.26 ID:???
なるほどです
ありがとうございました
606名無し:2013/03/26(火) 20:16:45.04 ID:???
(・∀・) アッタマイーナー
607Name_Not_Found:2013/03/29(金) 23:19:00.80 ID:???
単純に、ページ内の任意のリンクタグをクリックしたときにjsを実行したいです。
調べた所、2つの方法が出てきました。

1.ウィンドウ内でクリックイベントが起こった時、対象の要素がaタグか否かを調べる
2.ウィンドウロード完了後、ページ内のaタグ全てにオンクリックイベントを仕込む。

1.はクリックが起こると毎回実行されてしまい、2.は完全に無駄があります。
もっとスマートにaタグのクリックのみを検出する方法はありますか?
608Name_Not_Found:2013/03/29(金) 23:28:22.00 ID:???
>>607
> クリックが起こると毎回実行されてしまい
の意味がわからないんだが、1回しか実行されたくないなら
最初に実行された時にリスナーを解除すればいいんじゃないの?
609Name_Not_Found:2013/03/29(金) 23:57:15.06 ID:TWvO0hFA
>>607
>2.は完全に無駄があります

どのような?
610Name_Not_Found:2013/03/30(土) 00:24:11.64 ID:???
$("a").click(function(){
});

これじゃダメなの?
611Name_Not_Found:2013/03/30(土) 00:38:16.63 ID:???
delegateかbindかみたいな話なら1で良いと思う
"毎回実行"する点はmousemoveほどの頻度だと気になるけど、clickなら気にする必要はないと思う
612Name_Not_Found:2013/03/30(土) 00:45:01.81 ID:???
>>608
関係ないクリックが生じた際にも、「リンクタグか否か?」の判別が実行されますよね?

>>609
もしもページ内に500個のリンクが存在すれば、それら全てにリスナーを追加する必要があり、無駄ではないですか?
613Name_Not_Found:2013/03/30(土) 00:47:09.24 ID:???
連投失礼。

>>610
まさにこれです。ありがとうございます。

jQueryなので内部的に1.と2.より処理が少ないのかは分かりませんが...
614Name_Not_Found:2013/03/30(土) 16:08:52.66 ID:zLQI+QYF
ものすごい初歩的な質問というか確認で恐縮なのですが…、
ページによって使うjavascriptが違っても、headタグ内のjavascriptの記述は
全ページ共通(つまり使うjavascriptすべて)にしないといけない、ということで間違いないでしょうか…?
615Name_Not_Found:2013/03/30(土) 16:18:07.52 ID:???
>>613
1の場合は、documentにイベントを追加して、イベントが発生した時に対象かどうか確認するだけなので軽い
2はすべてのa要素についてループしてイベントを追加するから遅い

jQueryはループを隠蔽するので、実は内部処理で膨大な量ループしてたなんてことが起こるから、
きちんと内部の動きを理解して使わないと非効率的なコードになるよ

>>614
いまいち言いたいことが分からんのだが、もう少し具体的に頼む
616Name_Not_Found:2013/03/30(土) 16:29:30.52 ID:???
>>614です。
わかりづらくてごめんなさい。
つまり、たとえばライトボックスを使いたいページと使わないページがあるとして、
使わないページのheadタグ内にも、ライトボックス用のjavascriptの記述が必要なのかどうか、
ということです。
こういうのは外部ファイルで読み込むべきということでしょうか…?
617Name_Not_Found:2013/03/30(土) 16:32:23.27 ID:???
むしろ必要だと思う理由が分からない
618Name_Not_Found:2013/03/30(土) 16:48:48.49 ID:???
>>616
使わないなら書かなければいいのでは?

ただ、複数のHTML全てに全く同じ内容のJavaScriptをコピペするのは保守の観点からやめたほうがいい
もし一箇所にバグがあることが判明したらすべてのHTMLファイルを修正しないといけなくなるから。
そのためにJavaScriptの管理を一元化するのが、外部ファイル化。
619Name_Not_Found:2013/03/30(土) 17:02:49.00 ID:???
>>618
確かにおっしゃる通りです…。
勉強になりました。
どうもありがとうございました。
620Name_Not_Found:2013/03/30(土) 17:54:16.40 ID:???
Gmailで件名が「Re:」のみになる場合に空欄にしようと,
全くの初心者ながら勉強を始めました。

イベントそのものが発生しないようでいきなりつまずいています。
よろしくご教示ください。

(function(){
document.addEventListener('blur', sweepRe, true);
function sweepRe(event){
var inputs = document.getElementsByTagName('input');
for(var i=0, len=inputs.length; i<len; i++) {
if ('subject' == inputs[i].name){
inputs[i].value = inputs[i].value.replace(まだよく分からない);
}
}
}
}
621Name_Not_Found:2013/03/30(土) 21:51:05.16 ID:XivD4u18
Google HTML/CSS Style Guideによると、
html内ソースのidやclass名などには
アンダーバーを用いずにハイフンを使うようにあるのですが、
これはどのような理由からなのでしょうか?

/* NG */
#video_id

/* OK */
#video-id

アンダー区切りですと、Eclipse内JavaScriptエディターにて
ダブルクリックでセレクタを全選択できないし不便だと思うのですが。
622Name_Not_Found:2013/03/30(土) 22:18:53.09 ID:???
>>621
どちらでもいいと思う。

昔はアンダーバーが入ってると認識してくれないブラウザがあるということで
ハイフン区切りが推奨されていたけど、もうそんな古いブラウザを使っている人はいないだろう

参考:http://hp.vector.co.jp/authors/VA022006/css/corrbrwser/selector.html#id_class-selectors

むしろアンダーバーのほうがいいのではないか?という意見もあるので、
単語の区切り方を統一して見やすくする、それにたまたまハイフン区切りが選ばれた
というのが真相な気がする。

CSSのセレクタ部分(IDやCLASS)にハイフンとか使われるの好きじゃないなー。ボクはあまり好きじゃないなー - latest log
http://uupaa.hatenablog.com/entry/2012/01/22/013509
623Name_Not_Found:2013/03/31(日) 02:30:27.52 ID:???
>>621
単にプロパティがハイフン区切りなんだからってことだと思った
-moz-border-radius
624Name_Not_Found:2013/03/31(日) 04:57:11.67 ID:???
>>622
参考になるページまで貼っていただきありがとうございます。

なるほど、ネスケがCSSでアンダーバーが使えなかったのですね
IE6ですらサポートに捨てる時代、このルールに縛られる必要はなさそうですね。
625Name_Not_Found:2013/03/31(日) 05:21:00.28 ID:???
とは言ったものの、
jQueryUI実装時に付けられるclass名などはハイフン区切りだった。
統一性を考えると悩んでしまいますね。
626Name_Not_Found:2013/03/31(日) 10:44:51.76 ID:???
idはURLにも登場するからハイフン
idとの統一でclassもハイフンなのでは
627Name_Not_Found:2013/03/31(日) 11:53:33.56 ID:???
引数にアンダーバー使えないんすか
知らんかった
628Name_Not_Found:2013/03/31(日) 13:23:18.41 ID:???
HTMLからリンクとリンク名を抽出するメソッドのサンプルはないでしょうか
URLを入力するとリンク一覧を出力してくれるようなのだとすごく助かります
629Name_Not_Found:2013/03/31(日) 13:56:36.35 ID:???
>>627
URIの仕様ではアンダーバーも何の問題もなく使える
でも、Googleが単語区切りとして認識してくれない(ハイフンは認識してくれる)ので、
SEO的にはハイフンのほうがいいよ、ということらしい。

RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax
http://tools.ietf.org/html/rfc3986#section-2.3

Google と相性の良い URL の作成 - ウェブマスター ツール ヘルプ
http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=76329
630Name_Not_Found:2013/03/31(日) 16:02:09.84 ID:???
横からだけど知らなかった
へーへーへー
631Name_Not_Found:2013/03/31(日) 16:30:10.10 ID:???
ドメイン名にアンダースコア使えないから、ドメイン名以外の部分でアンダースコア使うと紛らわしいからって感じで
ドメイン名にアンダースコア使っちゃう人が出てこないようにって感じで
632Name_Not_Found:2013/04/01(月) 08:37:45.67 ID:???
質問させて下さい
canvasを使ってペイントソフト風のコンテンツを作ります
そこに拡大ツール(Photoshop等の虫眼鏡ツール)を設けたいのですが、どうすればいいでしょうか
オブジェクト毎ではなく、canvas枠内全域の拡大表示です
試行錯誤してますが、上手くいきません
宜しくお願いします
633Name_Not_Found:2013/04/01(月) 09:20:07.14 ID:Za2zKUo6
全ての座標をn倍して、視点の座標をズラすのではいかんの?
634Name_Not_Found:2013/04/02(火) 01:58:24.82 ID:???
>>632
rendering context の transform メソッドを使うなりして
canvas 全体に適用される変換行列をいじればいいんでない?
ただし描画済みのオブジェクトは再描画する必要ありかな
635Name_Not_Found:2013/04/02(火) 07:34:57.95 ID:???
>>633-634
ありがとうございました
座標の変倍とrendering contextでもう少し調べてみます
canvas面白いけど難しい…orz
636Name_Not_Found:2013/04/02(火) 16:45:43.05 ID:???
ブラウザのフォーム入力検証サポートを確認するにはどうすればいい?
検証機能に関連した属性(novalidateなど)やメソッド(checkValidityなど)の有無の確認で
概ね足りてる感じだが、Safariだと不正な入力でも送信してしまう(Windows版最新5.1.7)。
Appleのサイトを見るとサポートはされてるようなんだが、本来どういう動作をするのか不明。
637Name_Not_Found:2013/04/02(火) 17:01:55.20 ID:???
>>636
CGI側でも、もう一回チェックすれば?
JavaScriptでのチェックはオマケみたいなものだからさ、あてにしない方がいいのでは。
638Name_Not_Found:2013/04/02(火) 17:09:29.16 ID:???
ブラウザ側からの送信はつねに不正である可能性を想定しないとダメだ
639Name_Not_Found:2013/04/02(火) 17:13:37.87 ID:???
>>636はHTML5のフォームバリデーションのことね。
JSで入力検証するのではなく、JSでブラウザのサポート状況を確認したいと。
未対応ブラウザにおけるJSによる検証&サーバ側の検証は別の話と思ってくれ。
640Name_Not_Found:2013/04/02(火) 17:30:50.85 ID:???
なるほど。
でも、フォーム検証でそんな難しいことする?
641Name_Not_Found:2013/04/02(火) 20:04:57.86 ID:???
イラネ
642Name_Not_Found:2013/04/02(火) 20:24:26.65 ID:IGWzIXPT
jQueryのtriggerの第二引数について質問
下記のように書いたとき

<p><select></select></p>
<p><input type="checkbox" name="" value=""></p>
<p><input type="radio" name="" value=""></p>
<p><input type="text" name="" value=""></p>
<p><button>テスト</button></p>

<script>

var select = $('select');
var check = $('input[type=checkbox]');
var radio = $('input[type=radio]');
var text = $('input[type=text]');

select.on('click' ,function(evt,FLAG){ console.log('select::click' ,FLAG); });
check.on( 'click' ,function(evt,FLAG){ console.log('check::click' ,FLAG); });
radio.on( 'click' ,function(evt,FLAG){ console.log('radio::click' ,FLAG); });
text.on( 'click' ,function(evt,FLAG){ console.log('text::click' ,FLAG); });

$('button').on('click',function(){
  select.trigger('click',['asdf']);
  check.trigger( 'click',['asdf']);
  radio.trigger( 'click',['asdf']);
  text.trigger( 'click',['asdf']);
});

</script>

チェックボックスだけ、第二引数が受け取れないのは、なにが間違っているのでしょか?
643642:2013/04/02(火) 20:31:45.50 ID:IGWzIXPT
下記にサンプルをアップしました
http://jsfiddle.net/8uc3G/
644Name_Not_Found:2013/04/02(火) 21:50:50.61 ID:???
>>642
それ 1.8.3 だとちゃんと渡ってるね。
jQueryのバグかも。
645642:2013/04/02(火) 22:11:24.01 ID:IGWzIXPT
おおお…
こんなの書いてあったので、その副産物なんでしょうかね
http://jquery.com/upgrade-guide/1.9/#checkbox-radio-state-in-a-trigger-ed-click-event
646Name_Not_Found:2013/04/02(火) 22:25:28.21 ID:???
バグ報告はされてるね。

回避するには
check.triggerHandler( 'click',['asdf']);
check.prop('checked', !check.prop('checked'));
か? やりたくねえ…
647642:2013/04/02(火) 23:30:55.23 ID:IGWzIXPT
>>646
ありがとう
その方向性でやってみることにしました

// jQ1.9のバグ回避
// いつかなおす

って書いたけど、いつかっていつだー!
648Name_Not_Found:2013/04/03(水) 00:01:23.29 ID:???
ウェブに上げるものじゃないんで板違いだったらすまん。
ただプログラマー板で板違い言われてここを言われたので来た。

新しいyahooのメアド作ったので今までにメールをくださった方
&メールを送った方にメアド変えますメールを送りたい。
しかし、俺は腐れ縁がたくさん(小中高+サークル+同期、同僚など1000人ほど)
おって手動はめんどい。
大事な人だけに送ろうとしても、下手したら同窓会の案内などをもらい損ねるかもしれん。

そこでプログラムくんで一斉送信したいのだが誰かソース教えてくれ。

条件:
・受信BOXと送信BOXにはいっているメールの送り主と宛先をすべてBCC欄に入れて送信できる。
・重複は省く。
・内容はテンプレでおk。
・開発環境が悪いので.jsか.vbsで。
649644,646:2013/04/03(水) 00:02:27.71 ID:???
たしかに >>645 が原因ぽい。
ユーザがクリックした場合には、ハンドラではチェックボックス*変更後*の値が取得できるけど、
.trigger() でハンドラを呼び出したら*変更前*の値になる。 > 1.9以前

それを1.9で直すときにDOM.click()することにしたみたいだけど、
そう したらその時点でハンドラが呼ばれてしまって、第二引数が渡せなくなってる。

だから回避コードは正確には
check.prop('checked', !check.prop('checked'));
check.triggerHandler( 'click',['asdf']);
の順ね。>>646 だと1.9以前の仕様になってしまう。
650Name_Not_Found:2013/04/03(水) 00:07:21.57 ID:???
無事に神獣クエその他終了しました。
集まっていただいた方、ありがとうございました♪
651Name_Not_Found:2013/04/03(水) 00:08:06.23 ID:???
ゴバークw
652Name_Not_Found:2013/04/03(水) 00:56:22.50 ID:???
>>648
>>1嫁 お前はここでもスレ違い
653642:2013/04/03(水) 02:22:11.31 ID:OFdwJpRA
>>649
おおう
1.8仕様になるのは気づいていたけど、順番変えれば良かったのか!
わざわざ引数でcheckedのtrue/false渡してた、恥ずかしい
ありがとう
654636:2013/04/03(水) 03:57:02.29 ID:???
やっぱりSafariでは機能はあるがsubmitボタン押下時に検証しないようだ。invalidイベントが発火しない。
windows版のSafari5だからかな。iPhoneもダメだったが、macのSafari6はどう?
以下検証コード

<form><input required><input type="submit" value="送信"></form>
<script>
var fm = document.forms[0];
if ( typeof fm.checkValidity === "function" ) {
var inputRequired = fm.elements[0];
var testInvalidHandler = function(e) { alert("fired invalid event"); return false;};
inputRequired.addEventListener("invalid", testInvalidHandler);
var supported = fm.checkValidity() === false && inputRequired.validity.valid === false;
alert("HTML5 Forms validation is " + (supported ? "supported" : "not supported"));
//inputRequired.removeEventListener("invalid", testInvalidHandler);
}
else { /*IE-9*/
alert("HTML5 Forms validation is not supported");
}
</script>

Safariを含む対応ブラウザでは次の順でアラートが出る
1. "fired invalid event" ※checkValidity()の際に発火
2. "HTML5 Forms validation is supported"
655Name_Not_Found:2013/04/03(水) 09:31:00.24 ID:???
関係ないけどwin版safariは廃止になるんだっけ
656Name_Not_Found:2013/04/03(水) 12:27:53.51 ID:???
やわらかいなり
657Name_Not_Found:2013/04/03(水) 14:34:41.14 ID:???
>>654のような通常の機能テストでは使用可能と判断されるのに
いざ本来のタイミングでおこなわれるべき動作がおこなわれない。
どうテストすりゃえーねん。えーねーんん
658Name_Not_Found:2013/04/03(水) 14:35:51.63 ID:???
やわらかいなり
659Name_Not_Found:2013/04/03(水) 14:49:09.71 ID:???
エーネーン
660Name_Not_Found:2013/04/03(水) 14:51:01.23 ID:PF81KaJa
ジオコーダーで匿名関数の戻り値(latlng)を関数の呼び出し元にリターンさせたいのですが、
やり方が分かりません。どーやって受けたら良いんでしょうか?
a=(function(results, status)())の様な形で受けようと思うとジオコーディングでエラーが出ます。

function codeAddress(address) {
geocoder.geocode({'address': address},function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {var latlng=results[0].geometry.location; return latlng.toString();}
else {alert(status);}
});
}
661Name_Not_Found:2013/04/03(水) 15:03:17.94 ID:???
>>660
↓こういうこと?
function codeAddress(address) {
var latlng;
geocoder.geocode({'address': address},function(results, status) {
if (status == google.maps.GeocoderStatus.OK) { lating = results[0].geometry.location.toString(); }
else {alert(status);}
});
return latlng;
}
662Name_Not_Found:2013/04/03(水) 15:05:32.13 ID:kn7iX8TJ
div内にselect multipleを配置して、
selectの行数が多くなったときに
divの縦スクロールバーを上下させたいのですが、
マウスホイールが効きません。(IE8)
直接縦スクロールバーをドラッグすると、上下できます。

divにフォーカスを当てれば良いと思いましたが、
だめでした。

何か方法は無いでしょうか。

【style】
.XXXXX {
overflow-x:scroll;
overflow-y:scroll;
}

【html】
<div class="XXXXX">
<select multiple="multiple" name="XXX" size="5" style="min-width:100px;">
</select>
</div>
663Name_Not_Found:2013/04/03(水) 15:10:51.77 ID:PF81KaJa
>>661
早々のレスありがとうございます。
ただ、その方法ではundefinedしか返らないんです。
664Name_Not_Found:2013/04/03(水) 15:16:52.29 ID:???
>>663
latingを宣言時にlatlngにしちゃってたので
それはたぶん俺の方のタイプミスのせいじゃないだろーか・・・
665Name_Not_Found:2013/04/03(水) 15:18:38.29 ID:???
逆だ。latlngをコールバック内でlatingにしちゃってた
666Name_Not_Found:2013/04/03(水) 15:20:40.89 ID:PF81KaJa
>>665
いや、それとは関係なくundefinedなんです。
667Name_Not_Found:2013/04/03(水) 15:28:08.46 ID:???
それはすまんこ。あとは成功してるのか、どんなエラーが出てるのかですな
668Name_Not_Found:2013/04/03(水) 15:45:16.17 ID:Tj4BBb4L
ごおgぇまいlでメールを送るプログラムはありましたが、
それをやほおまいlに置き換えてみたところ使えませんでした。
書き換え方を教えてください。
コード↓
var yahoo_user = "●●●●@yaho.co.jp"; // Yahooのメールアドレス
var yahoo_pass = "●●●●"; // Yahooのパスワード
var msg = WScript.CreateObject("CDO.Message");
msg.From = yahoo_user; // 自分のメールアドレス
msg.To = "●●●●@●●●●"; // 送り先のメールアドレス
msg.Subject = "テストメール"; // メールの件名
msg.TextBody = "テストメール";//メールの文面
setyahooConfig(msg, yahoo_user, yahoo_pass);
msg.Send();
WScript.Echo("送ったお!!");
// Yahooで送信のための細かい設定を行う
function setyahooConfig(msg, user, pass) {
msg.TextBodyPart.Charset = 'ISO-2022-JP';
var setConfig = function (conf_obj) {
var uri = 'http://schemas.microsoft.com/cdo/configuration/';
for (var key in conf_obj) {
msg.Configuration.Fields.Item(uri + key) = conf_obj[key];
}
}
setConfig({
'sendusing':2, 'smtpconnectiontimeout':30,
'smtpserver': 'smtp.yahoo.co.jp', 'smtpserverport': 465,
'smtpauthenticate': true, 'smtpusessl': true,
'sendusername': user, 'sendpassword': pass
});
msg.Configuration.Fields.Update();
}
669>>668:2013/04/03(水) 15:46:43.45 ID:Tj4BBb4L
ごめんなさい。
半角スペースが読み込まれずにかなり読みにくくなってしまいました。
670Name_Not_Found:2013/04/03(水) 15:47:51.18 ID:PF81KaJa
>>667
ソース自体エラーが出る訳じゃないんですが、latlngの値の取り方が分からないんです。
671>>668:2013/04/03(水) 16:03:09.16 ID:???
>>668エラーメッセージ書き忘れた。
サーバー転送に失敗しました。
って出るお
672Name_Not_Found:2013/04/03(水) 16:11:20.06 ID:???
>>654
Mac版Safari 6も同じような感じ。User-Agentで判断するしかないんじゃないかなあ。
673Name_Not_Found:2013/04/03(水) 17:06:25.61 ID:???
>>670
そのコールバック関数って非同期で呼ばれてるってことはない?
674Name_Not_Found:2013/04/03(水) 19:03:39.61 ID:???
>>668
'smtpserver': 'smtp.mail.yahoo.co.jp'
675Name_Not_Found:2013/04/03(水) 20:53:52.88 ID:???
>>672
Safari6も同じか〜。試してもらってありがとうです。
AppleのサイトではSafari搭載の先進的機能としてフォーム検証機能もリストしてるんだが
実際どういう動作になってるのか・・・
ともかくUA判別は最後の砦として、簡易だが次のように考えてみた(インデントは全角空白)

<form><input name="name" required><input type="email" name="email" required><input type="submit" value="submit"></form>
<script>
var fm = document.forms[0];
var canUseHTML5FormsValidation = typeof fm.checkValidity === "function";
fm.addEventListener("submit",function(e){
  console.log("fired submit event");
  if ( canUseHTML5FormsValidation ) {
    for ( var i=0,l=this.elements.length; i<l; i++ ) {
      var element = this.elements[i];
      if ( element.willValidate && !element.validity.valid ) {
        console.log("[" + element.name + "] " + element.validationMessage);
      }
    }
  } else { /* 従来どおりのJS検証 */ }
  e.preventDefault();
});
</script>

対応ブラウザで不正な入力があればsubmitハンドラ実行前に中断されるので
ハンドラが呼ばれるときには必ず検証をパスしており、エレメントのvalidity.validがtrueになっている。
Safariではsubmitボタン押下で検証しないので不正な入力はfalseのままであり
メッセージがセットされた状態になっている。
676Name_Not_Found:2013/04/03(水) 21:09:27.60 ID:???
ぶっちゃけブラウザ経由しなくても送信できるんだから最終的にはサーバ側で処理しないと
677Name_Not_Found:2013/04/03(水) 21:13:35.63 ID:???
JavaScript無効の環境もあるかもしれないし、
あくまで「機能向上」の観点で行うのがいいと思うよ
その場でバリデーションの結果を反映させることができ、わざわざユーザーが送信しなくても
事前に間違いが分かる、という程度だと思ったほうがいい。
結局最終的なバリデーションはサーバーでやらなくちゃいけないんだし。
そう考えると、「ユーザーの利便性」にどの程度労力をかけられるかということにもなるな。
678Name_Not_Found:2013/04/04(木) 10:11:26.96 ID:PrAPUcne
>>673
確かにfunction(results, status)の部分がreturn latlng; より先に実行されているみたいです。
こういった場合どうしたら良いんでしょうか?
679Name_Not_Found:2013/04/04(木) 10:12:22.70 ID:PrAPUcne
↑違いました。逆です。function(results, status)の部分がreturn latlng; より「後」に実行されているみたいです。
こういった場合どうしたら良いんでしょうか?
680Name_Not_Found:2013/04/04(木) 14:04:26.41 ID:0b6Iynye
>>679
ジオコード系メソッドは非同期
https://sites.google.com/site/gmapsapi3/Home/services

だからじゃね?
値返すのをやめにして、コールバックを引き受ける形にしたほうが良いと思う
681660:2013/04/04(木) 14:19:19.25 ID:PrAPUcne
現状解決方法がわからなかったので、function(results, status)内で直接値を書き出す事にしてとりあえずは目的を達成しました。
レスを頂いた方ありがとうございました。

>>680
すみません。コールバックを引き受ける形とはどういう事でしょう?
682Name_Not_Found:2013/04/04(木) 14:26:36.76 ID:???
&gt;&gt;681
function codeAddress(address) { 〜 }

codeAddress(add);
alert(latlng);
ではなく、

function codeAddress(addressn func) { 〜 ; func(); }

codeAddress(add, function(){
 alert(latlng);
});
こう
683Name_Not_Found:2013/04/04(木) 14:31:30.76 ID:0b6Iynye
>>681
ajaxとかもそうだけど
非同期なことやる場合、その結果を受けて実行する関数を引数にとるでしょ
そういうのをコールバックって言ってみた
684Name_Not_Found:2013/04/04(木) 15:34:08.34 ID:???
あるいは、コールバック関数を登録するオブジェクトを返すようにして、
codeAddress 呼び出し後に登録。
codeAddressのfunction(results, status)ではそのオブジェクトに登録されているコールバック関数を呼び出す。


まあ、jQuery.Deferred のことなんだけどね。
685660:2013/04/04(木) 15:44:39.98 ID:PrAPUcne
>>682-684
ありがとうございます。ちょっと理解不足なんで修業してきます。
686Name_Not_Found:2013/04/04(木) 16:39:10.45 ID:???
よろしくお願いします

【環境】Win7 Chrome, HTML5 form, UTF8
【何をしたのか】
ソースはチェックボックス等の選択で出力結果を得るフォーム
チェックボックスvalue に名称を格納していて & を含むもの有り
構文チェックでエラーが出たので '&amp;' に書き換え
しかしJavaScriptの実行結果は '&amp;' がそのまま出力

【期待する結果】'&amp; の出力文字を & にしたい
【サンプルコード】
<input type="checkbox" name="chkItem" value="Book &amp; Magazine">Book & Magazine
document.hoge.txtResult.value += document.hoge.chkItem[i].value;
687Name_Not_Found:2013/04/04(木) 16:58:35.12 ID:???
>>686
decodeURI
Sring.replace
688Name_Not_Found:2013/04/04(木) 19:06:43.01 ID:???
>>686
Google Chrome 26.0.1410.43 m で再現できない
http://jsfiddle.net/zaA6u/
689Name_Not_Found:2013/04/04(木) 21:57:33.78 ID:0b6Iynye
>>688
Firefox19.0.2でも再現出来ない
というか、&amp;amp;と書いたらふつうにアンパサンドになっちゃいそうなもんだけど
http://jsfiddle.net/zaA6u/1/
690689:2013/04/04(木) 21:58:20.64 ID:0b6Iynye
失敗した失敗した失敗した失敗した

>>688
Firefox19.0.2でも再現出来ない
というか、&amp;と書いたらふつうにアンパサンドになっちゃいそうなもんだけど
http://jsfiddle.net/zaA6u/1/
691686:2013/04/05(金) 00:05:05.44 ID:???
>>687
どもです。decodeURI は効果なしだったけどreplaceで出来ました
&を含むURL生成もソース内でやっていて
不具合が出たので同様にreplace→encodeURI→window.openで対応出来

>>688-690
検証ども。自分もそちらはイケました
自分のソースでreplaceを咬ませる前の変数をdocument.writeしたら&でした
何が違うのか気になりますが…
692きら ◆Kira.u9zNc :2013/04/05(金) 13:48:45.62 ID:OkEi0CT6
http://kirahp.ddo.jp/general.js
このJSファイルを参照しているHTML(PHP)読み込んでエラーが出なかったのに、
いざonClick="idcheck();"(※)が入っているリンクをクリックしたらCant find variable:reqとなります
どうすればいいですか?
※function idcheck(){
result = req("idcheck.php","POST",EncodeHTMLForm(document.signup.id.value));
if(result == 0){document.getElementById("idcheck").innerHTML = "重複してない"}
else if(result == 1){document.getElementById("idcheck").innerHTML = "重複してるからムリポ"}
else{document.getElementById("idcheck").innerHTML = "エッエーエラエラ"}
}
693Name_Not_Found:2013/04/05(金) 14:39:07.15 ID:???
読み込んでエラーが出ないというのは構文エラーが含まれてないというだけ。
実行したときにエラーが出たら、その実行しているコードのどこかが悪い。
コードを調べてエラーを取り除く技術がないのなら、初歩に戻って勉強する。

それで、このidcheckは何をしてるのか説明してみなよ。
694Name_Not_Found:2013/04/06(土) 01:36:05.36 ID:???
vbsをjsに変換するソフトあったら教えてください
695Name_Not_Found:2013/04/06(土) 02:05:04.09 ID:???
ありません
696Name_Not_Found:2013/04/06(土) 22:53:44.54 ID:JWf23bRp
質問失礼します。

やりたい事

マウスの位置を捕捉して
画面の三分の一左にマウスが入ったらtop 0px, left -250pxの位置にある
div要素をleft 0pxまでスライドさせて、
マウスが画面の三分の一を越えたら元の位置top 0px, left -250pxにスライドして
戻したい



問題

右にスライドする動きと左に戻す動きが競合してるのか、
画面がちらついてスムーズに動かない。

動きを切り替えたいところで
clearIntervalなどでsetIntervalを解除してるのですが
書く場所がおかしいのかほかの原因があるのか何か解決策とか
分かりますでしょうか?

http://jsfiddle.net/TPfcb/2/
697Name_Not_Found:2013/04/06(土) 23:31:35.07 ID:???
>>695

if (run == null) {
var run = setInterval(function(e) {

ここを見て何とも思わないのか?
698Name_Not_Found:2013/04/06(土) 23:52:13.44 ID:???
>>>697

おおっ
的確な答えありがとうございます。
トップレベルで宣言するようにしたらちゃんと思ったように動きました。
699Name_Not_Found:2013/04/07(日) 03:40:41.25 ID:6Zc99v3B
下記のようなクリックイベントを書きました
ボタンAクリック:プランA表示
ボタンBクリック:プランB表示

上記の関して別ベージからのリンクでから遷移するときに、
リンク毎に異なったクリックイベントを発生させる方法を教えて頂けませんでしょうか。
700Name_Not_Found:2013/04/07(日) 05:16:38.98 ID:???
>>699
「クリックイベントを発生させる」というのは、
ライブラリを使わない限りクロスブラウザ対応が面倒だとは言っておく

AとBどっちを表示するかの判定については、

http://localhost/index.html#planA
http://localhost/index.html#planB

などとしてlocation.hashを見てやればいい
701Name_Not_Found:2013/04/07(日) 05:24:38.72 ID:yNqsH0+H
ある変数が変更になった時点で自動で処理を行う関数を作成したいのですが、
JavaScriptでそのような事は可能でしょうか?

やはり、その変数を変更するコードの下にその関数を書くしかないのでしょうか?
702Name_Not_Found:2013/04/07(日) 08:29:14.81 ID:???
>>701
getter/setter
703Name_Not_Found:2013/04/08(月) 04:43:06.64 ID:???
A = function(){???};
o = new A();
としたときoにnullが入るようにする方法ありますか?
704Name_Not_Found:2013/04/08(月) 05:32:42.43 ID:???
>>702
ありがとうございます。
必須の知識のようですね。とても助かりました。
705Name_Not_Found:2013/04/08(月) 21:23:35.26 ID:???
エクセルマクロとかバッチファイルくらいなら自由にやりたいこと書けますが他がなにもできない程度の素人なんですが
お勧めの入門書教えてください
706Name_Not_Found:2013/04/09(火) 00:55:15.94 ID:QsPCE/sB
>>705
> エクセルマクロとかバッチファイルくらいなら自由にやりたいこと書けます


そんくらい書けるならサイ本(オライリーJavaScript第6版)読んでも理解できると思う
というか、お作法だけ読んで、あとはMDNとか参照しながらトライアンドエラーで
肌で覚えたほうが早そう
707Name_Not_Found:2013/04/09(火) 07:13:46.83 ID:???
>>705
ちょっと古いけど、「JavaScript 中級講座 ~Ajaxを学ぶ前の基礎知識」が入門書としてはおすすめ
これで一通りの基礎知識を学んで、ライブラリの使い方とか、Ajaxの最新仕様とか、
HTML5の内容(File API等)とかはMDNで勉強するといいと思う
708Name_Not_Found:2013/04/09(火) 15:50:13.87 ID:/bz8fAbq
getElementByIdとかgetElementsByIdのように
どんなHTML文書でもコメントノードだけを取得する方法を教えてください
709Name_Not_Found:2013/04/09(火) 15:58:45.44 ID:???
ツリーを辿ってnodeTypeをチェックして収集する関数を書くしか。
710Name_Not_Found:2013/04/09(火) 16:40:51.45 ID:???
document.evaluate使えば?
711Name_Not_Found:2013/04/10(水) 14:16:11.16 ID:YN/0DoFc
>>709
やっぱり地道にそうやるしかなさそうです
>>710
xpathでどのようにコメントを表現するのでしょうか?
というかそれでは出来ないと思うんですがサンプルありますか?
やり方がよくわかりません
712Name_Not_Found:2013/04/10(水) 15:49:24.72 ID:???
//comment() じゃね?
713Name_Not_Found:2013/04/10(水) 18:24:50.35 ID:aN5a2zFK
inputの入力内容をsetIntervalで監視し、入力内容が数字だけだった場合に
submitのhover時にvalueに指定文字列"_isnum"を追加しています

var nameVal = $(\'input#name\').val();
var addtoVal = "";

var intv = setInterval(function(){
if(nameVal.match(/^[0-9]+$/g)){
addtoVal = "_isnum";
$(\'input[name=submit]\').hover(function(){
$(\'input#name\').val(nameVal + addtoVal);
});
}
}, 100);

これ自体は動いているのですが、hoverのタイミングでフォーム欄に追加したaddtoVal文字列が表示されますよね(あたりまえですが)
この処理のベストタイミングについてもよくわかっっておらず、hoverでよいのかも自信がありません。

これを完全に裏方で実装しブラウザ上での見た目には入力欄の変化がないようにしたままvalを渡すにはどう記述したらよいでしょうか
714Name_Not_Found:2013/04/10(水) 18:34:14.09 ID:???
いや・・動いてないだろ・・
valの値変えたいならsubmit時で良いだろ何でhoverなんだ?
715Name_Not_Found:2013/04/10(水) 18:46:55.57 ID:???
>713
>setIntervalで監視
onchange イベントで監視する方が普通だと思うけど何故?

入力内容が数字だけだった場合に
setIntervalで毎回 hover に対するアクションを追加してるのは何故?
入力が数字から他のに変わっても
hover に対するアクションは取り除かないのは何故?
716Name_Not_Found:2013/04/10(水) 19:05:49.34 ID:???
変わらないnameValを参照し続けてることにも突っ込み入れるべき
717Name_Not_Found:2013/04/10(水) 19:17:14.36 ID:aLwNvD5d
>>715
それしか思いつかなかったから、そうしているんだろうに
そういうときはonchangeでいいんだよ、って言えばいいと思った
それを「なぜ?」って聞くのは性格悪いぜ
718713:2013/04/10(水) 21:37:24.23 ID:aN5a2zFK
皆様ありがとうございます。
質問さしあげたかったのは

>完全に裏方で実装しブラウザ上での見た目には入力欄の変化がないように

という部分なのですが、
onchange イベントで監視するとそれがどう実現できるのか見当がつきません
数字の入力があり次第にフォーム欄に追加したaddtoVal文字列が表示されてしまうと思うのですが、、、、、
719Name_Not_Found:2013/04/10(水) 21:39:41.44 ID:???
>>712
それでできました
ありがとうございます
720Name_Not_Found:2013/04/10(水) 22:20:58.95 ID:???
>>718
>>714読んだか?submitの時にvalue変化させてsubmitして戻しとけ
完全に裏方で実装したいなら入力欄にはnameを設定せずhiddenなinput作ってそっちのvaueでも変えてろ
721713:2013/04/10(水) 22:55:02.82 ID:aN5a2zFK
submitの時にvalue変化させても一寸遅いのでサーバーに渡りませんよね?
変化はずるけどサーバーには変化する前の値が行っちゃいませんか?

あと、hiddenを生成するのはわかるのですが
入力欄にnameを設定せずにその入力値をどのように知るのでしょうか?
722Name_Not_Found:2013/04/10(水) 23:32:22.66 ID:???
submitする前に変化させろよ
type=textにはname設定せず hiddenにname設定しろ
少しは自分で考えて調べろ
723713:2013/04/10(水) 23:37:41.72 ID:aN5a2zFK
なにも考えずに質問しているわけではありません

submitする前に変化=submitボタンのhover時
と考えたのが最初の投稿です。ただし自信がないと付け加えました
あなたには違う方法でsubmitする前に変化を実現する策があるのですね?

type=textにはname設定せず hiddenにname設定
ですのでhiddenを生成するのはわかりますが
name設定がないtype=textの入力値を取得する策がおありなのですね?
724Name_Not_Found:2013/04/10(水) 23:45:20.15 ID:???
炎上させて答えを無理やり引き出すつもりなのですね?
725Name_Not_Found:2013/04/10(水) 23:50:59.36 ID:???
からかわれてるだけ。
726Name_Not_Found:2013/04/10(水) 23:54:18.28 ID:???
あのさぁ、分かってないでしょ?
submitするタイミングとかなんてHTMLの話だし、そもそもそんな危うい知識でJavaScript実装してどうすんの?
教科書に書いてあるようなこと聞くもんじゃないよ。
727Name_Not_Found:2013/04/10(水) 23:56:24.26 ID:???
春だなあ
728Name_Not_Found:2013/04/11(木) 00:00:41.96 ID:???
良い天気だから釣り日和なんだろうなぁ
729Name_Not_Found:2013/04/11(木) 00:01:17.62 ID:???
勉強が足りん。しかし少なくともこの質問をよく読めばonchangeなんて回答は不適切だわな
730Name_Not_Found:2013/04/11(木) 00:30:18.46 ID:15sIhxKY
>>721
>submitの時にvalue変化させても一寸遅いのでサーバーに渡りませんよね?

んなこたないから試せって

form要素.addEventListener('submit',function(){
  alert('あーだこーだ');
});

ってしたら、投げる前にアラート出るじゃろ
731Name_Not_Found:2013/04/11(木) 00:33:31.34 ID:???
もう放置でおk
適当なこと言ってコード出させるのが目的だろ
732Name_Not_Found:2013/04/11(木) 00:36:56.73 ID:???
>>726

>submitするタイミングとかなんてHTMLの話

これは違うだろw
733Name_Not_Found:2013/04/11(木) 00:50:23.27 ID:???
>>731
怪しい......
734Name_Not_Found:2013/04/11(木) 16:46:25.30 ID:???
てst
735Name_Not_Found:2013/04/11(木) 16:47:24.04 ID:???
やっと規制解けたか
736Name_Not_Found:2013/04/11(木) 19:23:07.55 ID:???
てすと
737Name_Not_Found:2013/04/11(木) 19:29:43.10 ID:???
マジで規制とけたんか
このスレツッコミ入れたいことちょくちょくあったのにできなくてこの1年苦しかったわ
まずはChromeではletが使えないとか言ってた奴滅びろ!
738Name_Not_Found:2013/04/11(木) 23:56:54.40 ID:???
javascriptデザイン本みたいのみてると痛々しいエフェクトばっかり紹介されてるけど
いろんな所で多用されてるガチな奴ってたとえばどんなところにつかわれていますか?
739Name_Not_Found:2013/04/11(木) 23:58:23.97 ID:???
春樹の小説げと
740Name_Not_Found:2013/04/12(金) 00:39:19.36 ID:odVHrNf0
ページ内の画像の表示サイズを取得したいのですが、画像の読み込みが終わってるかどうかを確認するにはどうしたらよいでしょうか。
new Image() したものなら onload を使えばよさそうなのですが、ソースに直書きしてある画像についての方法がわかりません。
完了イベントを受け取る方法でもポーリングする方法でもよいです。
741Name_Not_Found:2013/04/12(金) 01:11:14.86 ID:???
>>740
jQuery使ってよければ、下記参照で。

http://api.jquery.com/load-event/
742740:2013/04/12(金) 01:51:32.54 ID:???
>>741
jQuery はあまり使いたくありませんが、どうもありがとう。
調べてもよい方法を見つけられないんで、Imageオブジェクトを使ってやることにしました。
ページに直書きしてる画像の src を取得し、それで Imageオブジェクトを作り、onload で処理をする感じで。
ブラウザのオンメモリキャッシュ内で完結すると思うものの無駄なhttpリクエストが発行されることもありそうで気分よくないですが、
とりあえず動いています。
743Name_Not_Found:2013/04/12(金) 08:57:58.43 ID:???
>>742
それで普通だと思うけど、windowのonloadは直書き画像まで全部取れてから発火するんで、
それを待つという方法もあるよね。
744Name_Not_Found:2013/04/12(金) 11:33:19.70 ID:dVaUdEm/
var a = [[0,1]];
console.log(a[0][0]);
console.log(a[0][1]);
console.log(a[0][2]); // Uncaught TypeError: Cannot read property '2' of undefined

二次元配列だとundefinedが返らず、エラーになるので値が存在するとかこのプロパティが読めるとかなにかチェックする方法ってありませんか?
745Name_Not_Found:2013/04/12(金) 11:54:23.07 ID:???
>>744
a[0][2]はundefinedになってるんじゃないの?
746Name_Not_Found:2013/04/12(金) 12:01:19.17 ID:???
>>744
a[0]!=null ? a[0][2] : a[0]
747Name_Not_Found:2013/04/12(金) 15:40:12.07 ID:AmeV1gS/
>>746
「a[0] && a[0][2]」でどうかな。
748740:2013/04/12(金) 15:41:35.21 ID:???
>>743
> windowのonloadは直書き画像まで全部取れてから発火するんで
それ本当ですか?
デカい画像がじわじわ出ているような状態でも onload は来てた気がするけど、気のせいだったかな。
749Name_Not_Found:2013/04/12(金) 15:48:55.49 ID:M3yGbbj5
>>748
気のせいだと思う

JSで画像沢山使ったアプリ作るとき
全部プリロードし終わってから始めたいから
HTMLの端っこの1x1のブロックに使う画像全部<img>要素で貼り付けて
NowLoading...な振りをしてonloadを待つ、ってのをよくやる
750Name_Not_Found:2013/04/12(金) 17:09:01.11 ID:???
>>749
実験したら確かにそうでした
ずっと勘違いしてて、つまらない苦労をしてた気がします
これから楽になります
751Name_Not_Found:2013/04/12(金) 17:59:58.95 ID:???
アップデートの通知何度も何度も来ます
インストしようとしたら失敗しました
この繰り返しが一時間ごとにありますどうしたら直りますか?
752Name_Not_Found:2013/04/12(金) 20:01:32.25 ID:???
スレ違いです。頭直す方が先だと思います
753Name_Not_Found:2013/04/12(金) 20:57:11.40 ID:???
そもそもなんの話かわからねえ
754Name_Not_Found:2013/04/12(金) 21:05:49.66 ID:60LpF/ME
文字の形をポリゴン、もしくは二次元の図形で作りたいです
その為に指定の文字の頂点やそれをつなぐ線のデータを取得したいのですが
そんなこと可能でしょうか?(テキストをそのまま画像で表示するとかは無しで)
ご存知の方いたら教えてください
755Name_Not_Found:2013/04/12(金) 21:15:48.03 ID:M3yGbbj5
canvasのgetImageDataでピクセルの色を拾えるから
それで頑張ってみるとか
756Name_Not_Found:2013/04/13(土) 01:17:25.19 ID:???
素直にWebFont使え
間違っても動的生成は考えるなよ
757Name_Not_Found:2013/04/13(土) 01:18:29.03 ID:???
>>756
リクエスト増えまくり
758Name_Not_Found:2013/04/13(土) 02:57:58.09 ID:???
どうせ年に100人しか見ないようなページか
個人の趣味で実験したいだけじゃねえの?
それにあらゆる文字を生成したいのか?

動的生産はフォントの違いの問題もあるから現実的に難しいでしょ
もっと具体的にどんな場面でどう使いたいのかが聞きたい
759754:2013/04/13(土) 20:08:53.58 ID:???
やっぱり難しいみたいですね
諦めます

>>758
そうです単なる個人のテストページです
入力した文字列が物理エンジンとか組み合わせて面白いアニメーションをさせたら面白いかなぁと思ったのですが・・
760Name_Not_Found:2013/04/13(土) 20:25:25.02 ID:???
>>759
研究しろよ。
聞いて
「難しいみたいだから諦める」
って何だよ。
一生他人の二番煎じで生きてくつもりか。
面白くない。
気概だけでもいいからチャレンジしろ。
フラナガンのJavaScriptを精読しろ。
761Name_Not_Found:2013/04/13(土) 21:12:18.38 ID:???
760は言いこというね
これがかつての日本企業の底力だった

俺なんて、プログラミングするプログラムを諦めずに作ってるぞw
762Name_Not_Found:2013/04/13(土) 23:41:42.42 ID:???
面白いことならどんどんやってみろ
遅くてもとりあえず作り上げれば改善点が見えてくる
763Name_Not_Found:2013/04/14(日) 01:49:11.93 ID:???
>>762
お前はどこの飲み屋の大将なんだよ。
とりあえずイイ感じに先輩風吹かしてみようってコーナーじゃねえって
764Name_Not_Found:2013/04/14(日) 02:04:41.10 ID:???
自動ネット収入システム「Auto WebMoney〜Final Ultimate Edition」の
裏モードが解禁され、新たに100セットが限定販売されている。
ttp://www.auto-webmoney.com/
購入した既存ユーザーはある方法をとることにより裏モードが解禁、ネットワークに
新たな回路システムが発動され、稼げるスピードがおよそ三倍早くなるという。

もうじき六周年を迎える記念として既存ユーザーに感謝の意を込めて解禁したというが、
日本ユーザー800万人を突破したモンスターシステムだけあって今後の展開が楽しみである。
引用元.IT総合情報メディア
765Name_Not_Found:2013/04/14(日) 16:20:21.23 ID:???
Three.jsで作ったソースがIEや火狐で動きません
対応策ってありますか?
766Name_Not_Found:2013/04/14(日) 16:27:24.95 ID:???
>>765
1.どんなプログラムを組んだ?
2.どんなエラーが出た?
767Name_Not_Found:2013/04/14(日) 16:36:52.75 ID:???
>>765
http://toro.2ch.net/test/read.cgi/tech/1308761577/
専用スレ行け
もう一言だけ言っといてやると、IEはWebGL対応してないから動く訳がない
768Name_Not_Found:2013/04/14(日) 16:45:40.39 ID:X09jWgl2
下記は、
ボタンを押すと、DBにcommentの内容がAjaxで反映され(detect.php)更新されます。

<FORM ACTION="index.php" METHOD="POST" name="MainForm">
<INPUT TYPE="TEXT" NAME="comment" SIZE="60">
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="更新">
</FORM>

<div id="container">
</div>


※containerの中身は「detect.php」


ところが、detect.phpが反映されるまで、僅かなタイムラグが発生します。
「SUBMIT」ボタンを押すと即座に<div id="container">に反映されるようにするには
どのようにしたらよいでしょうか?
769Name_Not_Found:2013/04/14(日) 16:51:51.44 ID:???
detect.phpにアクセスする時間のタイムラグが発生するのはどうしようもない事ぐらい分かるよな?
それまでの間にユーザーに一切触らせたくないなら、Ajaxを同期で動かせ
770Name_Not_Found:2013/04/14(日) 16:54:41.32 ID:???
>>766
たんに立方体を表示するプログラムです

>>767
ThreeはIEにも対応していると本にはかいてあるみたいです
771Name_Not_Found:2013/04/14(日) 17:54:54.84 ID:???
IEでWebGLを動かすためのプラグインがある
だけど自分でその情報に辿り着けないような奴に使いこなすのは無理だ
772Name_Not_Found:2013/04/15(月) 01:21:18.01 ID:???
Backbone.jsってどういう所で使うべき?
773Name_Not_Found:2013/04/15(月) 02:41:14.94 ID:???
>>772
ページの操作でサーバ側のデータを更新して
それをページ遷移無しでページの表示に反映するようなのを作るとき
774Name_Not_Found:2013/04/16(火) 00:30:16.37 ID:NVqZnccC
すいません、多分超かんたんな事なんでしょうけど一生懸命ぐぐってもわからなかったので教えてください。
文字列中の"(ダブルクォーテーョン)を'(シングルクォーテーション)に置き換えたいんですが、どうすればいいんでしょう?

test = test.replace(/aaa/g,'bbb');

でいけると思うんですが、肝心のaaaとbbbの部分がどうやっても上手くいかないので…。
775Name_Not_Found:2013/04/16(火) 00:40:10.81 ID:???
>>774
replace(/\"/g, "'")とかじゃダメなの?
776774:2013/04/16(火) 02:14:27.13 ID:NVqZnccC
>>775
それでいいかなと思ったんですが、なんか上手くいかないので…。
もしかして、元のtestの中身がおかしいのかなぁ…。
ちょっとそっちも見直してみます。(´・ω・`)
777Name_Not_Found:2013/04/16(火) 05:08:29.77 ID:???
&quot; だったりして
778Name_Not_Found:2013/04/16(火) 09:31:02.06 ID:DQ1TgLrO
>>776 これでできない?
test='今日は"4月16日"です。明日は"4月17日"です。';
test = test.replace(/"/g,"'");
alert(test);
779Name_Not_Found:2013/04/16(火) 12:34:15.88 ID:VSTm4Fl7
正規表現にする意味あるのん?
780Name_Not_Found:2013/04/16(火) 18:50:19.01 ID:???
グローバルマッチさせたいから
781Name_Not_Found:2013/04/16(火) 21:36:12.68 ID:mmL5Mu0I
おおう、理解した
782Name_Not_Found:2013/04/18(木) 00:51:41.82 ID:???
全くの素人です。スレ違いだったらすみません。
ttp://www5e.biglobe.ne.jp/~purest/javascript/sample/oritatami3.html
これを1つの項目を展開すると他の項目が閉じるようにしたいです。
上記のものでなくてもアコーディオンメニュー+開閉状態の記憶が出来ればなんでもいいです。
開閉状態を記憶する折りたたみメニューや、アコーディオンメニューの例はたくさんあるのですが
両方一緒になっているものが見つかりません。
うまく組み合わせられないものかとソースコードと睨めっこしてみましたが時間が無駄に過ぎていくだけでした。
783Name_Not_Found:2013/04/18(木) 03:15:10.31 ID:???
>>782
jQueryの解説本の評判のいいのを見ると載ってるよ。
それは基礎的(初歩ということではなく)なことだから、jQueryの仕組みを解説してる本を読むといいと思う。
基礎は応用がきく(この質問がまさに基礎の応用に当たる訳だけど)ので、勉強するといいよ。
784Name_Not_Found:2013/04/18(木) 04:50:07.07 ID:1/A3ByRk
>>782
アコーディオンを配列に入れておいて
現在開いているのも変数に入れておく

n番を開くときに、同時に現在開いているのを閉じて
現在開いているよ変数にn番を入れる

ついでにcookieにnを記録しておく
785Name_Not_Found:2013/04/18(木) 11:09:01.78 ID:???
>>783
答えが分からないならレスは不要です。

>>784
ありがとうございます。
でも、わざわざcookieではなくてもグローバル変数でよいとは思うんですが。
786Name_Not_Found:2013/04/18(木) 11:22:25.58 ID:???
クリックした際に展開するメニューにだけaddClassなんかでクラスをつけて
そのクラスがあるかないかを判定して(最初のみ全部閉じてるなら無し)、あればそれを閉じる処理&removeClassする
で新しく展開するメニューに新たにaddClassする

これならグローバル変数も要らない
787Name_Not_Found:2013/04/18(木) 11:44:51.05 ID:???
こんなこともできない割に聞いた風なものの言い方だなあ
788Name_Not_Found:2013/04/18(木) 11:46:58.89 ID:???
>>785
> 答えが分からないならレスは不要です。
お前、もう終わりだ
精々、知恵遅れでも行って頑張ってこい
789Name_Not_Found:2013/04/18(木) 11:53:34.28 ID:???
まあこの手の処理は結構よく使うから>>783は割と為になる話なんだがな
790Name_Not_Found:2013/04/18(木) 11:58:48.31 ID:???
割と為になる話をここに書いてくれ
791Name_Not_Found:2013/04/18(木) 12:21:57.90 ID:???
プルダウンメニューで一つを選択したら他のプルダウンメニューを初期化(selectedIndex=0)させたいのですが、jQueryで可能でしょうか。

(html)
<select id="select1" onchange="sel1()">
<option id="a" selected>A</option>
<option id="b">B</option>
</select>

<select id="select2" onchange="sel2()">
<option id="c" selected>C</option>
<option id="d">D</option>
</select>

(js)
function sel1(){
$("#select2 option:selected").prop("selectedIndex",0);
}

function sel2(){
$("#select1 option:selected").prop("selectedIndex",0);
}

こんな感じなのですが上手くいきません。
attr("selected",false);にすると、FireFoxでは上手くいきましたが、IEではボックスが白く表示されてしまいました。
直接selectedIndexをいじらないとだめだとは思うのですが・・・
jQueryは1.6.1〜1.9.1で試しています。
javascriptはjsファイルにまとめています。
792Name_Not_Found:2013/04/18(木) 12:25:00.57 ID:???
面倒なことしすぎ。
793Name_Not_Found:2013/04/18(木) 13:14:57.40 ID:???
>>785
本買えよ貧乏人
794Name_Not_Found:2013/04/18(木) 13:22:07.93 ID:???
本?これくらい自力でがんばれよ
開発には興味なく、打ち込み専門でいくなら別だが
795Name_Not_Found:2013/04/18(木) 13:29:52.02 ID:hDyOCPZd
>>785
ん?
開閉状態を記録って
他のページに引き継ぐって意味じゃなかったんか
グローバルに置くほどのものなの?
796Name_Not_Found:2013/04/18(木) 14:44:12.37 ID:???
>>782の質問をしたものです。>>785とは別人です。
>>783-786 レスありがとうございます。
やはり基礎中の基礎みたいな感じなんですね、某知恵袋にあった似たような質問でも
これくらい出来ないなら使うなといった感じだったので…。
>>784を読んでもパッとこないくらいの状態なので、ちゃんと勉強して出直してきます。
丁寧な回答有難う御座いました。
797Name_Not_Found:2013/04/18(木) 15:05:18.40 ID:???
>>791
$("#select2").prop("selectedIndex",0); じゃね?
798Name_Not_Found:2013/04/18(木) 15:10:29.65 ID:???
>>796
>>782のコードはcookieに状態を保存しておくってところにコードの大半を取られているから、
別のサンプルを探すほうがいいよ。
799Name_Not_Found:2013/04/18(木) 18:34:32.98 ID:???
ページ内に複数のコンテナ(div またはsection)があって
ブラウザウインドウ内で現在いちばん広い面積を占めているコンテナを取得するにはどうすればいいの?
800Name_Not_Found:2013/04/18(木) 18:59:27.04 ID:???
>>797
.prop ってなんだっけ
801Name_Not_Found:2013/04/18(木) 19:15:15.41 ID:1/A3ByRk
質問です

ブラウザ:Android4のデフォルトブラウザ

[A.html]
<form action="b.html">
<input type="submit" value="Bへ">
</form>
※長ーいページの最下部にサブミットボタンがあります

[B.html]
<script src="B.js"></script>

[B.js]
alert($(window).scrollTop());



上記のような2ページがあって、B.htmlにJSがあります
A.htmlのサブミットボタンを押すと、画面はA.htmlのまま
ロードのインジケータが進み始め半分くらいすすんだところで
B.jsが発火して、A.jsのscrollTopがアラートされます

これは、私の書き方が糞なんでしょうか
それともデフォルトブラウザが糞なんでしょうか?
802Name_Not_Found:2013/04/18(木) 21:25:01.85 ID:???
どっちもクソ!
803Name_Not_Found:2013/04/19(金) 00:34:48.97 ID:s3pn7BFI
なんだそりゃ
表示のラグじゃなくて?
前のページのうちに発火して
DOMもそのままとな?
にわかに信じ難い…
804Name_Not_Found:2013/04/19(金) 01:01:38.91 ID:???
<form action="b.html">でB.html読みにいってくれるんだっけ?
A.jsってなんぞ?
アラートのダイアログが出るときにB.htmlは表示されるのか?
$(window).scrollTop()以外の情報は正常にとれるのか?
jQuery使わずにもっと基本的な構成で試してみたら?
805Name_Not_Found:2013/04/19(金) 01:14:52.26 ID:???
DOM終わった時点で読ませたきゃjqueryのready使えば
両方糞でFA
806Name_Not_Found:2013/04/19(金) 03:46:45.44 ID:???
>>801
jQuery Mobileでも使ってんじゃね?
807Name_Not_Found:2013/04/19(金) 09:09:19.69 ID:???
800超えたのでテンプレに関する大物の変更提案などあればどうぞ。
808Name_Not_Found:2013/04/19(金) 11:21:36.72 ID:???
>>807
うざい
809801:2013/04/19(金) 12:26:15.52 ID:s3pn7BFI
自分でも理解できないのですが、端的に言うと
リンク先のページのJSがページ遷移前に発火しているのです
810Name_Not_Found:2013/04/19(金) 12:32:23.78 ID:???
JQueryを使ってIDを取得するとき
var idName = $(this).attr("id");
と思いますが、さらにそのIDが規則正しく番号ふってあったとして
cont_1
cont_2
cont_3
その数字だけJQueryで取得するに適したメソッドはありますか?
無い場合はどう書けば取得できますか?
811Name_Not_Found:2013/04/19(金) 12:59:22.50 ID:???
>>810
正規表現で取るしかないと思う
812Name_Not_Found:2013/04/19(金) 14:11:55.67 ID:???
>>810
replaceで要らないところ消せば良いじゃん
813Name_Not_Found:2013/04/19(金) 14:24:32.72 ID:???
>>811
JQueryにはないですか。ありがとうございます
>>810の規則性の場合$は必須でしょうか?
814Name_Not_Found:2013/04/19(金) 14:26:38.71 ID:/yqEBGgq
$('[id*=cont_]')

ではいかんの?
815Name_Not_Found:2013/04/19(金) 14:32:50.44 ID:???
>>801
ページが完全に遷移した後にJSを実行したいなら、>>801のB.htmlとB.jsの書き方じゃダメだって
816Name_Not_Found:2013/04/19(金) 14:42:51.59 ID:/yqEBGgq
どゆこと?
817Name_Not_Found:2013/04/19(金) 14:46:18.23 ID:???
>>816
ぐぐれカス
818Name_Not_Found:2013/04/19(金) 15:45:58.18 ID:/yqEBGgq
遷移先のJSが今のページで発火するとか意味不なんだが
onloadとかDOMContentLoadedの話とは違うよね?
819Name_Not_Found:2013/04/19(金) 17:45:34.41 ID:???
たとえばjQuery Mobile使ってると、submitをフックしてajaxで取得して
遷移したように見せかけている。
だからそういうの使ってんじゃね?って聞いたけど違うのかな。
820Name_Not_Found:2013/04/19(金) 18:33:06.37 ID:/yqEBGgq
あ、ごめん
いつからjQueryMobileの話だったん?
821Name_Not_Found:2013/04/19(金) 18:47:55.58 ID:???
>>820
いや、単なる予想。jQueryMobileじゃなくても ajax使った遷移だったらそうなるかなと。
822Name_Not_Found:2013/04/19(金) 18:57:22.86 ID:/yqEBGgq
ああ、なるほど
Ajaxの話だったっけ?
823Name_Not_Found:2013/04/19(金) 19:03:58.94 ID:???
*submitをフックして*ajaxで取得して遷移したように見せかけてたらそうなるかなと。
824801:2013/04/20(土) 00:08:53.80 ID:1H6cfGx8
ajaxじゃないです
普通にサブミットして画面遷移です
jQueryは使っていますが、ただの1.9.1です
825Name_Not_Found:2013/04/20(土) 02:58:32.85 ID:???
>>824
B.jsを$(function(){alert($(window).scrollTop());});にしてみろよ
826801:2013/04/20(土) 15:51:25.90 ID:SZtGd0Ze
>>825
あ、それは問題ないです。実際にはそんな感じで書いてます
B.html単体では不具合ないです

問題なのはB.jsがA,htmlのscrollTopを拾ってしまうことでして
827801:2013/04/20(土) 15:54:05.09 ID:SZtGd0Ze
そんなことあるわけない
何か他におかしい所があるに違いない


と、自分も疑って色々切り分けながら調べているのですが…
828Name_Not_Found:2013/04/20(土) 18:28:33.20 ID:???
Firefoxがいつのまにかevent.clientXに対応してた
829Name_Not_Found:2013/04/20(土) 18:59:27.45 ID:???
>>827
どこかに問題が再現する最小構成のソースを置いてくれないか
このままだとエスパーでもない限り原因は分かりそうにない
830Name_Not_Found:2013/04/20(土) 19:26:25.38 ID:???
つーかなんでsubmitでページ遷移させてんの?>>801
831Name_Not_Found:2013/04/20(土) 20:25:31.05 ID:???
>>826
B.htmlが単体で不具合無く動くのは偶然で、
B.jsが実行されるときにDOMがB.htmlの内容を反映してる保証は無いってことを
>>805とか>>815とか>>825とかは言いたいんだと思う

HTMLの仕様?が実際にどうなってるのかは俺は知らんが
832Name_Not_Found:2013/04/20(土) 21:54:06.96 ID:???
試してみても>>801みたいな現象発生しなかった
環境記入と再現できる最小プログラム用意しろよ
833Name_Not_Found:2013/04/20(土) 21:57:18.37 ID:???
環境は書いてたごめん
834Name_Not_Found:2013/04/21(日) 10:13:38.95 ID:XaUT26+/
>>830
なんか問題あるか?
835Name_Not_Found:2013/04/21(日) 18:05:58.91 ID:???
>>826
A.htmlの環境でB.jsが動いてるんなら、A.htmlで設定したグローバル変数がB.jsで読めるよね。
まずはそれ調べてみたら?

あと window.onload の時点はどうなの? レイアウトが確定するまでscrollTopのようなのは
どんな値になってても不思議じゃない気がするけど。
836Name_Not_Found:2013/04/22(月) 09:21:09.36 ID:???
出来るかもわからないのですがtextarea内の特定の文字列だけ色を変えることは出来ますか?
記号だけとかアルファベットだけ色を替えれればと思っています。
837Name_Not_Found:2013/04/22(月) 09:34:07.52 ID:???
>>836
色を変えたい文字だけspan class=〜で囲んだものに置換してみるのはどう?
838801:2013/04/22(月) 10:00:06.41 ID:yZ19O8Oy
>>835
その推測が近かったようです
A.htmlのグローバルは見えていませんでした

A.htmlのページ最下部までスクロール

サブミットボタンを押してB.htmlへページ遷移

ScrollTopがA.htmlの時のままレンダリングがなされず、$(function(){})だけ発火

その後B.htmlの内容がレンダリングされる

という流れだったようです
他にもCSS絡みの不具合があって四苦八苦しているんだけど
どうしてこうもchromeとの差異がでやがりますかね、デフォルトブラウザは
ふんとにもう!
839Name_Not_Found:2013/04/22(月) 10:18:26.98 ID:???
>>838
>ScrollTopがA.htmlの時のままレンダリングがなされず、$(function(){})だけ発火
おまえ>>801で$(function(){})使って無いじゃん
>>826では使えって言っても関係無いとか答えてるし
他の人が$(function(){})関係の問題じゃないかって聞いてるのに無視してるし
$(function(){})使って問題が出るのか出ないのかどっちなんだ
840Name_Not_Found:2013/04/22(月) 11:35:37.18 ID:???
>>837
ありがとうございます。
やはり直接的には出来そうにないので、いったんtextarea内の文字を取得して
それをreplaceしてみたのですが、
text = text.replace(/hoge/gi, '<div style=color: #ff0000;>HOGE</div>');
このようにして置き換えを行うと<div style=color: #ff0000;>HOGE</div>がそのまま表示されてしまいます。
エンティティ化されているからだと思いますが実体をそのまま表示というのはreplaceでは出来ないものなのでしょうか。
841Name_Not_Found:2013/04/22(月) 11:57:43.47 ID:???
すっごいうざい
842Name_Not_Found:2013/04/22(月) 12:03:10.71 ID:???
>>840
この機会に正規表現につい調べて色々試すことをオススメする
じゃないとまた同じようなので躓く
http://www.tohoho-web.com/js/regexp.htm
843Name_Not_Found:2013/04/22(月) 12:08:06.37 ID:???
>>841 じゃお前が消えろ
844Name_Not_Found:2013/04/22(月) 12:09:54.26 ID:???
いや今回は正規表現関係なくね?
>>840はどうやってtextareaを書き換えてるんだ?
845Name_Not_Found:2013/04/22(月) 12:10:00.37 ID:???
>>840 あとなんでdivなん。spanでよくね?
846Name_Not_Found:2013/04/22(月) 12:19:57.90 ID:???
divもspanも関係なしにreplaceしたら<とかが&lt;になるんで文字色がかわらんということだろ
847801:2013/04/22(月) 12:20:41.30 ID:yZ19O8Oy
>>839
使っても使わなくてもなりますよ
だから困ってたんですよ
848Name_Not_Found:2013/04/22(月) 12:35:45.06 ID:???
いつまでやってんだボケナス
849Name_Not_Found:2013/04/22(月) 12:37:05.98 ID:???
>>846
変わるわボケナスカボチャ
850Name_Not_Found:2013/04/22(月) 12:39:06.58 ID:???
>>847
おまえ向いてないわ
851Name_Not_Found:2013/04/22(月) 12:53:46.20 ID:???
ほらな
シーンとしただろw
852Name_Not_Found:2013/04/22(月) 12:55:29.68 ID:???
>>847
使ってるか使ってないかを最初に説明すべきだったと理解できないの?
853801:2013/04/22(月) 13:01:29.13 ID:yZ19O8Oy
>>850
>>852
使っても使わなくても再現したので
最小サンプルにするために削りました
わかりづらくてごめんね
854Name_Not_Found:2013/04/22(月) 13:05:25.40 ID:???
>>849
なんかよくわからんが試してみたぞ

<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.0.min.js">
</script>
<script type="text/javascript">
$(function(){
$("textarea").change(function(){
var text = $("#text_test").val();
text = text.replace(/hoge/gi, '<span style=color: #ff0000;>HOGE</span>');
$("div").text(text);
});
});
</script>
</head>
<body>
<textarea id="text_test"></textarea>
<div></div>
<input id="trigger" type="button" value="表示">
</body>
</html>
これでhogehogeっていれでbutton推したら
タグが確かのこのまま表示されるわ。
javascriptは詳しくないのでなんでそうなるのかは知らん。
855Name_Not_Found:2013/04/22(月) 13:06:56.90 ID:???
>>854
$("div").text(text);
馬鹿杉ワロタ詳しくないなら答えるなボケ
856Name_Not_Found:2013/04/22(月) 13:12:36.15 ID:???
textメソッドで出力すれば、そりゃタグそのまま出力されるだろうよ
857Name_Not_Found:2013/04/22(月) 13:12:54.90 ID:???
元の質問がこれかどうかもわからんのだから仕方ない
858Name_Not_Found:2013/04/22(月) 13:13:54.52 ID:???
だから釣られるなよ
859Name_Not_Found:2013/04/22(月) 13:14:24.09 ID:???
textarea内の表示の話じゃなかったの?w
860Name_Not_Found:2013/04/22(月) 13:18:24.89 ID:5nxH6Exm
テキストエリアを使うのやめて
contenteditableを使ったら
幸せになれるんじゃないですかね?
861Name_Not_Found:2013/04/22(月) 13:21:14.85 ID:???
みんなすまん
底辺PHPerが適当に>>854書いただけだから気にしないでくれ。
元の質問もtextarea内って言ってるみたいだから違うだろうし。
おれのことなんかわすれて>>801とかの相手をしてあげてください。
862Name_Not_Found:2013/04/22(月) 13:52:43.67 ID:???
>>861
元の質問とも合ってるし
コードも大体合ってるが
textだけは頂けない
863Name_Not_Found:2013/04/22(月) 17:15:34.79 ID:???
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.9.1.min.js">
</script>
<script type="text/javascript">
$(function(){
$("#view").click(function(){
$("#test").focus();
});
});
</script>
</head>
<body>
<textarea id="test"></textarea>
<div id="view" style="width: 100px; height: 100px; border: 1px solid #aaaaaa;"></div>
</body>
</html>

div部分をクリックしたらtextareaにフォーカスするようにしたいのですがうまくいきません。
どのようにしたらフォーカスしてくれるでしょうか?
864Name_Not_Found:2013/04/22(月) 17:26:16.21 ID:???
>>863
そのコードで問題無くフォーカスしてくれたが・・
865sage:2013/04/22(月) 17:32:12.69 ID:???
863です

>>864
確かに問題なくフォーカスしてます。
私はいったいなにを思って質問してしまったのでしょうか。
つかれているんですかね。
866Name_Not_Found:2013/04/22(月) 17:40:58.91 ID:???
もう休め・・!
867sage:2013/04/22(月) 20:25:03.05 ID:???
input type="text"にtestという文字列を追加したいと考えています。

<script>
/* +test */
$(function(){
$("#sample").click(function(){
var base = $("#test").val();
base_plus = base.replace(base, base + 'test');
$("textarea#test").text(base_plus);
alert(base_plus);
});
});
</script>

<textarea id="test"></textarea>
<input type="button" id="sample" value="tab">

buttonを押すとどんどん追加はされていくのですが
textarea内に1文字でも字を書くとbuttonを押しても追加されなくなります。
追加されなくなる理由がよくわからないのでアドバイスもらえると助かります。
868Name_Not_Found:2013/04/22(月) 20:38:06.72 ID:???
>>867
>(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
869Name_Not_Found:2013/04/22(月) 20:41:19.18 ID:5nxH6Exm
>>867
押すたびにbaseの中身がどうなっているのか見てみるといいよ
870Name_Not_Found:2013/04/22(月) 20:49:17.01 ID:???
てか、なんで $("textarea#test").val(base_plus); にしないの?
871sage:2013/04/22(月) 20:50:26.74 ID:???
$(function(){
button id=sample をクリックしたら
id=test の中身取ってきて base に突っ込む
replaceで base に test という文字列を追加して base_plus に突っ込む
textareaのid=test に base_plus を書き込む
base_plus の中身をalertでも表示
});

という流れだと思っているのですが違ってますか・・・?
872Name_Not_Found:2013/04/22(月) 20:57:40.86 ID:???
テキストエリアに変数を代入するんだからtext(val)じゃなくてval(val)をい使えって言ってんの
873Name_Not_Found:2013/04/22(月) 20:58:39.81 ID:???
なんでvalで取っといてtextなんだよ
874Name_Not_Found:2013/04/22(月) 21:11:11.85 ID:???
バカばっかり
875Name_Not_Found:2013/04/23(火) 01:31:07.63 ID:???
 
韓国の翻訳掲示板「ガセンギドットコム」
http://www.gasengi.com/
○google翻訳を自動にすれば韓国語がわからなくても理解できる

2chのスレが「ガセンギドットコム」に翻訳されて韓国人の反応が見ることができる
・日本猿は死ね
・倭猿消えろ
・天皇は百済人
・日本は放射線で終わり
・心の底から憎んでいます
ほぼ9割以上のコメントがこれである

韓国の良心的な掲示板「イルベストア」
http://www.ilbe.com/

日本の有名な韓国掲示板翻訳サイト
・「嫌韓宣言」
http://blog.livedoor.jp/oboega/
・「カイカイ反応通信」
http://blog.livedoor.jp/kaikaihanno/
・「サーチナ」
http://searchina.ne.jp/

「サーチナ」はありえないような親日コメントだけ抜粋
「カイカイ反応通信」は韓国で売国奴扱いされているイルべ掲示板の親日スレのみ抜粋
「嫌韓宣言」が韓国人の本音を的確に翻訳しています
 
876Name_Not_Found:2013/04/24(水) 00:15:31.71 ID:wwsZ6HDT
カーソルを表示というのは出来ますか?

abcdefghijklmn

という文字列があって、fとgのあいだを選択したら|みたいなのを
表示させることができればといいと思っています。
877Name_Not_Found:2013/04/24(水) 02:08:00.76 ID:???
キャレットブラウズモードは関係ないか
878Name_Not_Found:2013/04/24(水) 13:12:57.99 ID:???
>>876
カーソル自体は CSS で設定できるが
選択している間_だけ_ | を表示する
ようなことをしたい場合は js が必要になるだろう

>>801
遷移前のページの情報が読み取れるとなると、一種のセキュリティホールになるな
何らかのウィルスでも仕込まれていて、その動作の一端が現れた
みたいな可能性もあるかも?
879Name_Not_Found:2013/04/24(水) 13:49:18.47 ID:???
>>876
contenteditable じゃだめなの?
880Name_Not_Found:2013/04/24(水) 13:54:19.49 ID:xsZ6SJcZ
>>878
>>838にも書いたんだけど、A.htmlのグローバルにあくせすできてしまっている
というようなことはなくて、scrollTopだけの問題でした

原因は完全にはわかってないですが
スマホがスクロールする際の、windowとviewportの絡みで
そんなことになっちゃってるのではないかと予想しています
881Name_Not_Found:2013/04/24(水) 13:57:11.37 ID:xsZ6SJcZ
また言葉足らずで怒られるところでした
ここで言うviewportはmeta要素のことではなく
windowの外側で画面のスワイプと一緒に動いたり
ピンチで伸び縮みするviewportのことです
882Name_Not_Found:2013/04/24(水) 18:39:40.49 ID:83YQW1ZA
three.jsを使って立方体を画面に表示するプログラムを作成したのですが
コンソールに以下のようなメッセージが表示されました
どういう意味かよくわからないのでどなたか教えて下さい


THREE.WebGLRenderer 57
THREE.WebGLRenderer: Anisotropic texture filtering not supported.
THREE.WebGLRenderer: S3TC compressed textures not supported.
883Name_Not_Found:2013/04/24(水) 18:42:18.05 ID:???
ローカルだとテクスチャが使えんかったような
サーバーに上げて実行してみ
884Name_Not_Found:2013/04/24(水) 21:05:31.95 ID:83YQW1ZA
サーバーで実行してます
テクスチャに使用する画像もちゃんとサーバーに上がってるのですが・・・
うーん・・・
885Name_Not_Found:2013/04/24(水) 21:06:20.74 ID:83YQW1ZA
ちなみに一応正しくテクスチャも表示されていて見た目は全く問題なく実行されています
886Name_Not_Found:2013/04/25(木) 05:54:29.02 ID:wlyrqzYM
なんかよくcontenteditableが出てくるけど
contenteditableの中身って取れますか?

例えば

<div contenteditable="true" id="content" name="content" style="width: 100px; height: 100px;"></div>

みたいな感じで書ける場所作っても

$(function(){
$("#button").click(function(){
var contenteditable_count = $("div#content").val().length;
alert(contenteditable_count);
});
});

で中身見たり拾ったり出来ないから使わないんだけど、contenteditableの中身を取ること出来る?
887Name_Not_Found:2013/04/25(木) 06:31:25.63 ID:???
.text()じゃね?
888Name_Not_Found:2013/04/25(木) 07:07:53.46 ID:???
>>886
中身取れるかどうかと contenteditable かどうかって関係あるの?
普通に textContent とかで取れるんでは
889Name_Not_Found:2013/04/25(木) 10:27:46.86 ID:???
Chromeでリンクにマウス乗っけるとステータスバーが表示されるのですが
これを操作する方法って無いんでしょうか?
window.stateじゃどうにもならないのですが
890Name_Not_Found:2013/04/25(木) 11:36:29.59 ID:???
操作できたらあかんでしょ
891Name_Not_Found:2013/04/25(木) 11:39:45.50 ID:???
そもそもwindow.stateじゃどうにもならないだろw
892889:2013/04/25(木) 13:22:21.93 ID:???
誰も指摘しないがChromeの<a>タグmouseoverでURL表示されるアレはステータスバーじゃねーぞ
ありゃ<a>タグだけに反応するモンだからwindow.stateとかで操作不可



まぁその甲斐あってエロサイトのURL隠し回避出来るわけなんだがな
893Name_Not_Found:2013/04/25(木) 13:42:17.82 ID:???
window.status自体があまり推奨されてない事はヒミツ
894Name_Not_Found:2013/04/25(木) 13:55:58.78 ID:CMM83dml
ステータスバーに
いらっしゃいませ!あなたはn人目の訪問者です!

って流すにはどうしたら良いですか?
895Name_Not_Found:2013/04/25(木) 14:07:48.48 ID:???
>>894
そこはお前が勝手に何かを表示していいところじゃない
896Name_Not_Found:2013/04/25(木) 14:15:23.62 ID:CMM83dml
まあそうだよなあ
なんで触れる(read/write)プロパティだったんだろう
897Name_Not_Found:2013/04/25(木) 16:05:17.70 ID:???
ステータスバーは、昔(IE 5くらいまで)は操作可能な場所だったけど、
セキュリティ上の理由からできなくなった
(リンク先と違うURLが表示されるようにすれば、フィッシング詐欺等に使いやすくなる)

ポップアップウィンドウとか、ウィンドウのサイズを変更するとか、
最初期のJavaScriptはいろいろ問題があるものが多いけど、
まあブラウザ自体ができて間もないころだから仕方ない気もする
898Name_Not_Found:2013/04/25(木) 16:29:53.65 ID:???
>>897
IEしか知らないのね
899Name_Not_Found:2013/04/25(木) 16:34:02.47 ID:???
defaultStatusだったかの方ならアンカーをポイントした時のURLの表示を
邪魔することなくステータスバーの文字列を変えられるという事も
赤座あかり以上にアッカリ〜ン。
900Name_Not_Found:2013/04/25(木) 16:39:26.28 ID:7TowfBge
懐かしい話してるな
NAOシフトを思い出したわ
901Name_Not_Found:2013/04/25(木) 18:39:53.13 ID:???
後方互換で追加されてるwindow.statusの標準仕様は、取得時は空文字列を返し、設定時は何もしない
902Name_Not_Found:2013/04/25(木) 18:55:41.77 ID:???
if(ww > wh) $('#abc').css({paddingTop:'100px',paddingLeft:'0px'});
else $('#abc').css({paddingTop:'0px',paddingLeft:'100px'});

上も左も100pxになる・・・
なんで?
0pxにもどせない・・・
903Name_Not_Found:2013/04/25(木) 19:11:28.44 ID:???

ごめん、自己解決。
904Name_Not_Found:2013/04/25(木) 19:14:51.05 ID:???
jQuery JavaScript Library v1.9.1で
jQuery imagesLoaded plugin v2.1.1が効かない・・・
解決できない?
画像と同時にimagesLoaded以降も読み込む。
905Name_Not_Found:2013/04/25(木) 20:51:07.49 ID:7TowfBge
作ってる人にお願いしたほうがいい気がする
色んな意味で
906904:2013/04/26(金) 00:52:36.16 ID:???
ライブラリの問題は開発者にだな
割とマジで
907Name_Not_Found:2013/04/26(金) 07:19:31.90 ID:???
900超えたのでテンプレの軽微な変更提案あれば今どうぞ。
908Name_Not_Found:2013/04/26(金) 07:27:53.04 ID:/tL2Umui
次スレたてたら、過去スレ全集にアップしてね、と
どこかに書いておいてもいいかもね
909Name_Not_Found:2013/04/26(金) 08:52:52.31 ID:L/HA2cnf
ライブドアブログでコメント欄のポップアップを実装しようとしてるんですが

そのためのスクリプトを書き加えるとなぜかコメントが投稿できなくなってしまいました

もし原因が分かる方がいたらこの無知めにご教授ねがいます。

ブログ:http://lifehack.livedoor.biz/archives/26122800.html

スクリプト:http://lifehack.livedoor.biz/pop.js
910909:2013/04/26(金) 15:32:37.71 ID:L/HA2cnf
解決しました!

コメントしてくれた人ありがとうございます!

あれ、なんかコメントついてる!

って思って問題がスクリプトじゃないことに気づきました!
911Name_Not_Found:2013/04/26(金) 15:47:54.83 ID:rHiTyTOL
ふぁっ?
912Name_Not_Found:2013/04/28(日) 10:02:08.00 ID:???
いつになったらV8でES6の機能が追加されるのでしょうか?
Proxy等の関数的機能は良く追加されていますが
構文レベルではletやconstが追加されてかなり経ちます

この辺りの採用段階はどうなっているのでしょうか?
こういう機能は段階を踏んで採用されるものだと思うので
どこかを見れば今どのくらいまとまってて
どのくらいの時期に採用されそうか分かると思うのですが
その場所を教えていただけないでしょうか?

ちなみにGoogleCodeのページは見てます
913Name_Not_Found:2013/04/28(日) 21:20:26.54 ID:???
submitで同ページの値を更新するページなんですが、
値が更新されたりされなかったりします
勘違いかもしれませんが、scriptを操作したら変化しなくなる、みたいな事はありますか?
914Name_Not_Found:2013/04/29(月) 01:29:31.81 ID:???
>>913
勘違いですね
915Name_Not_Found:2013/04/29(月) 02:12:16.83 ID:???
>>914
そうですか、ありがとうございます
916Name_Not_Found:2013/04/29(月) 07:41:16.95 ID:???
将棋の様にマス目に駒となるimg要素を
移動させるプログラムを作っているのですが、
draggableで移動させただけだと構造的な変化が無いようなので
元のマスにあったimgを削除して、移動先に新しくimg追加する、
という処理をした所、変な所に追加されたり、ドラッグが無効化された画像になったりします
droppableと一緒に使ってるので干渉しているんでしょうか?
何か解決策はあるでしょうか?
917Name_Not_Found:2013/04/29(月) 09:25:28.93 ID:???
draggableと構造的な変化を一緒にというのはいかにも危うい感じがする。
構造的な変化は行わない(画像の位置だけ取得してそれをもとに判断処理する)か、
draggableを使わない(自分でドラグ処理をする)かどっちかがいいのでは。
918Name_Not_Found:2013/04/29(月) 13:08:07.85 ID:???
>>917
ロード時にappendした奴はドラッグ可能になるのですが
drop時など途中から追加した奴はダメだったので、
doraggableを変数化して再実行するようにした所、一応ドラッグ可能になりました
この方法は処理的に何か問題があるでしょうか?

また、変な位置にコピーされる現象は変わりませんでした
コピーされた画像を見ると、どうもopacityで透明度が変化した奴がコピーされてるんで
stop・dropのタイミングでコピーしてるから変なことになってる気がしています
タイミングをずらしてコピーを実行する方法ってありますかね?
919Name_Not_Found:2013/04/29(月) 20:26:14.78 ID:???
変な位置にコピーされるってときにDOMの状態がどうなってるか見てる?
920Name_Not_Found:2013/04/29(月) 20:41:14.75 ID:???
>>919
データ的には正しい位置に入ってると思うのですが
snapに反応してるのか別のマスに置かれたりします
まあ他の方法でも解決可能なので、諦めることにします
返答ありがとうございました
921Name_Not_Found:2013/05/01(水) 10:45:14.82 ID:???
Tizen,FirefoxOS,ChromeOS,Win8等のマルチプラットフォームで使える
ファイル操作や情報取得等のフレームワークはありませんでしょうか?
922Name_Not_Found:2013/05/02(木) 22:02:49.24 ID:FQ5GagD4
低レベルな質問ですいません。ツイートボタンを設置するためのコードの一部なのですが
上、下どちらを貼ればいいのか迷っています。
ページの表示速度に違いはあるのでしょうか?

■ツイートボタンの設置方法を書いているあちこちのサイトにある(古い?)コード
<script src='http://platform.twitter.com/widgets.js' type='text/javascript'></script>

■先ほどhttps://twitter.com/about/resources/buttons#tweetから取得したコード
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.create
Element(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

あと、お暇でしたら下のコードにはどのような意味があるのか教えてください
923Name_Not_Found:2013/05/03(金) 18:03:17.22 ID:YO/kLxM5
はじめて質問します。
「フォローボタン風」に
・最初は画像@(フォロー)
・マウスオーバーで画像A(フォロー+影)
・クリックで画像B(フォロー中です)で、固定され、
・再度、マウスオーバーで画像C(解除しますか?)
・クリックで画像@に戻り、固定される。
こういうギミックを作るのに、検索して以下の文を組み立てましたが、うまくいきません。
初歩的な質問で申し訳ないのですが、どなたかお力添えをお願いします。
ソースは次に書きます。
924923:2013/05/03(金) 18:06:03.28 ID:YO/kLxM5
var button=0;
if(button=0)
{function m_over(obj) {obj.src="/img/btn02.gif";}
function m_down(obj) {button=button+1;obj.src="/img/btn.03.gif";}
function m_out(obj) {obj.src="/img/btn03.gif";}

} else {function m_over(obj) {obj.src="/img/btn04.gif";}
function m_down(obj) {button=button-1;obj.src="/img/btn01.gif";}
function m_out(obj) {obj.src="/img/btn/btn_off.gif";}
}
</script>

HTML部分↓
<input type="image" src="/img/btn01.gif" alt="BUTTON"
onMouseOver="m_over(this)" onMouseOut="m_out(this)" onMouseDown="m_down(this)" />
925923:2013/05/03(金) 19:26:00.15 ID:YO/kLxM5
勘違いしてました。
マウスオーバーとかがトリガーになってるなら、こういう風にいけないかな。と思うのですが、エラーが出ます。
どなたかお力添えをお願いします。

function m_over(obj) {
if(button=0) { obj.src="/img/btn02.gif";}
else{obj.src="/img/btn04.gif";}}

function m_down(obj) {
if(button=0){obj.src="/img/btn03.gif"; button=button+1;}
else{obj.src="/img/btn01.gif"; button=button-1;}}

function m_out(obj) {
if(button=0) {obj.src="/img/btn03.gif";}
else{obj.src="/img/btn/btn_off.gif";}}
926Name_Not_Found:2013/05/03(金) 22:40:19.34 ID:???
File APIのreadAsBinaryStringはresultに何の型を返すのでしょうか。
readAsArrayBufferを使うほうが一般的ですか?
927Name_Not_Found:2013/05/04(土) 01:10:52.71 ID:???
readAsBinaryStringは仕様から削除されたかな
928926:2013/05/04(土) 01:59:50.81 ID:???
>>927
まじですか。じゃあ今後はreadAsArrayBuffer一択ですかね。
929Name_Not_Found:2013/05/04(土) 05:19:38.31 ID:???
>>923
エラーが出てるんなら、その文言でぐぐってみるといい。

パッと見で変なのは
>if(button=0)
ここだけど。他にもあるかもしれない。
930Name_Not_Found:2013/05/04(土) 23:35:23.50 ID:d0+MKy4x
<a herf="url" id="page1">リンク</a>
こういうリンクからurlを取得する方法を教えて下さい
931Name_Not_Found:2013/05/05(日) 04:19:37.34 ID:???
adblockを使っている場合は、別のページに飛ばすようにしたいのですが、
どうやるのが良いのでしょうか?
932Name_Not_Found:2013/05/05(日) 12:49:13.33 ID:fN46qhNw
スマホでクリックを実行させる方法を教えてください
<a id="testing" href="/">おk</a>

javascript:$('#testing').click;
では移動しませんでした
933Name_Not_Found:2013/05/05(日) 21:05:14.99 ID:???
>>930
取得したいときはattributesって覚えとけ
たぶん遅いもん教えんなカスって叩かれると思うが
934sage:2013/05/05(日) 21:23:50.59 ID:fuSJHl4a
Androidのブラウザ(Firefox,Chromeなど)でダブルタップすると
文字や画像が拡大しますがあれを抑制する方法ってないでしょうか?
スレチな感じもしますが適切なところがあれば誘導お願いします
935Name_Not_Found:2013/05/05(日) 21:32:39.72 ID:???
>>934
HTMLのヘッダにviewportとか指定すればそうならないかね?
936Name_Not_Found:2013/05/05(日) 21:33:18.93 ID:???
>>935
言っている意味が分かりますか?
937Name_Not_Found:2013/05/06(月) 05:12:06.17 ID:???
すみません
言語と言うよりアルゴリズムの質問になるのですがお力を貸していただきたいです
現在ニューラルネットワークを使ったゲームAIをJSで作ろうとしています

それで、問題は学習です
いろいろ調べたりした結果、乱数を用いた、遺伝的アルゴリズムのような方法で
評価関数のパラメータを成長させていくことはできるようになりました

しかし、この方法では非常に効率が悪く学習に時間がかかります
そこで、結果をフィードバックさせる方法を使えるようになりたいのですが
どう調べても容易に理解できそうな感じがしません

どこか、易しく丁寧な解説をされているサイトはありませんでしょうか?
お願い致します
938Name_Not_Found:2013/05/06(月) 18:23:07.30 ID:???
<form name="hoge">
<select name="huga">
<option>foo</option>
<option>bar</option>
</select>
</form>

このようなセレクトボックスを動的に開く方法はありますか?
キーボードでのAlt-↓と同じことをJavascriptでしたいです。
939934:2013/05/06(月) 21:53:22.44 ID:???
>>935
ありがとうございます 出来ました!

>>936
不勉強で専用?のmetaタグがあるのも知らなくて・・・
ダブルクリックを無効にするのはjavascriptかなとしか考えつかずにこちらで質問させてもらいました
勘違いさせてしまったようでごめんなさい
940Name_Not_Found:2013/05/08(水) 00:34:25.29 ID:YdaUveiw
スクロールを特定の要素までに制限することって出来ますか?

5000pxの長さのサイトの1000pxの場所に<div id="stop">があってここの要素までしかスクロール出来ないようにしたいんです
941Name_Not_Found:2013/05/08(水) 20:52:03.20 ID:???
id stopより下すべてをcssでdisplay:none;

強制広告対策か何かかな?
942Name_Not_Found:2013/05/09(木) 00:51:01.35 ID:???
JavaScriptを基礎から勉強したいんですが
お勧めの入門書とかあったら教えてください
943Name_Not_Found:2013/05/09(木) 01:30:38.85 ID:???
オライリー
下手な入門書は逆に有害でしかない
944Name_Not_Found:2013/05/09(木) 02:14:32.85 ID:???
オライリーのJavaScript本いっぱいありすぎだろw
最初に読むべきなのはどの本になるんだw
945Name_Not_Found:2013/05/09(木) 02:34:48.25 ID:???
946Name_Not_Found:2013/05/09(木) 16:40:11.65 ID:E7sb2iUf
サイ本がいいんじゃないか
第6版から、jQueryに1章割かれてるし

プログラミング経験があるならそれでいいけど
全くのド初心者なら、本屋に行ってできるだけ
薄くて、安くて、デザインのいいやつを買うといいよ
947Name_Not_Found:2013/05/09(木) 19:53:15.88 ID:???
javascriptからwindowsをシャットダウンさせることはできますか?
948Name_Not_Found:2013/05/09(木) 19:54:16.32 ID:???
とりあえず真面目にjsやるならサイ本は損しない
あとパーフェクトJavaScriptも結構良かった
949Name_Not_Found:2013/05/09(木) 20:05:16.59 ID:???
>>947
Jscriptならできるかもしれないけど、Web製作は板違い。
950Name_Not_Found:2013/05/09(木) 20:05:55.28 ID:???
>>949
Web製作板に書くのは板違いって意味です
951Name_Not_Found:2013/05/09(木) 21:20:43.90 ID:???
本いらんわ、とほほで十分
952Name_Not_Found:2013/05/09(木) 21:22:12.43 ID:E7sb2iUf
とほほはある意味戦犯やで…
953Name_Not_Found:2013/05/09(木) 22:45:07.97 ID:???
仕様書で十分
954Name_Not_Found:2013/05/09(木) 23:22:49.25 ID:???
新スレは975超えたら。テンプレは同一、、、でいいよね。
過去スレのアップとかテンプレに書くの?
955Name_Not_Found:2013/05/09(木) 23:47:48.70 ID:cPhAo/TF
過去スレデータのアップをいつもしてくれてる人には感謝してますが
テンプレには書かんでもいいんじゃね?

テンプレ案ページにでも書いておけば
956Name_Not_Found:2013/05/10(金) 15:14:07.04 ID:???
以下の条件をいっぺんに処理する記述を教えてください!
おねがいします

$(this).not( '[href*="' + location.hostname + '"]' ).attr.....
$(this).not( '[class*="home"]' ).attr.....
957Name_Not_Found:2013/05/10(金) 18:55:12.14 ID:???
javascriptで単精度浮動小数点演算をやるためのライブラリとかどこかにないでしょうか?
958Name_Not_Found:2013/05/10(金) 21:53:21.80 ID:???
あるから探せ
959Name_Not_Found:2013/05/11(土) 07:48:55.64 ID:???
>>956
それ、attrから先は同じ記述か?
960Name_Not_Found:2013/05/11(土) 10:14:23.94 ID:???
>>956

$(this).not( '[href*="' + location.hostname + '"]' , '[class*="home"]' ).attr.....
961Name_Not_Found:2013/05/11(土) 20:25:30.18 ID:???
そこにセレクター2つ指定できるんだっけ?
ドモルガンの法則も考えるとこんな感じ?

$(this).filter( '[href*!="' + location.hostname + '"], [class*!="home"]' ).attr.....
962Name_Not_Found:2013/05/11(土) 21:11:37.04 ID:???
*!=ってかけたっけ?
くっつければandになるんだからこんなのでいいんじゃね?

$(this).not( '[href*="' + location.hostname + '"][class*="home"]' ).attr.....
963Name_Not_Found:2013/05/11(土) 21:21:42.28 ID:???
*!=はだめだった
[〜]の属性セレクターならスペース無しで続けて書くとANDなのか。これは知らんかった
964Name_Not_Found:2013/05/11(土) 21:44:31.26 ID:???
>>963
http://api.jquery.com/multiple-attribute-selector/
これやね。

でも、.foo.bar みたいなのも andになるんだよね。
これはjQueryのドキュメントにないけど。
(querySelectorのセレクタのドキュメントにはあるのかもしれない)
965Name_Not_Found:2013/05/11(土) 22:16:30.08 ID:???
javascryptって使用例デザイン本みたいの見てもたとえばマウスカーソルの回りにティンカーベルみたいの表示するとかそういう邪魔なのばっかり書いてるけど
どこでも使われてるようなのだとどんなのがありますか?何から覚えればいい?
966Name_Not_Found:2013/05/11(土) 22:27:54.89 ID:???
>>965
自分が使いたいようなことをやってるコードを読めばいい
967Name_Not_Found:2013/05/11(土) 22:32:56.63 ID:???
>>965
勉強なんだから効率なんて考えないで手当たり次第コピーして動かせばいいのに
968Name_Not_Found:2013/05/12(日) 09:27:18.57 ID:???
>>965
マジレスしていい?
そのカキコから推測して、おまえセンスねーから。無理。
969Name_Not_Found:2013/05/12(日) 09:57:31.66 ID:???
javas cryptだったのか、知らなかった
970Name_Not_Found:2013/05/12(日) 11:55:39.28 ID:???
>>965
マウスカーソルに追随するティンカーベルは使い道ないだろうけど、
絶対、相対のpositionの概念、座標の取得、レイヤーの移動なんかは覚えなければならないものだろ
まずは、2chなんかでくだらない質問するくらいなら、自分の頭で考えるという習慣を身に着ければいいんじゃない?
971Name_Not_Found:2013/05/13(月) 14:06:15.10 ID:uYhcUjkH
クリップボードの画像をCtrl + Vだけでサーバーにアップロードできるサイト
http://snag.gy/

ここの画像を取得する実装はどうやって実現しているかわかりますか?
これを知って同じようなサービスを作りたいとは思わないのだけど
個人情報が映っているクリップボードを簡単に抜き取って悪用も可能なのでセキュリティ的に知っておきたい

IEのみ限定ですが、clipboardDataオブジェクトでクリップボードの操作ができることはわかったのですが
そのサイトはFirefoxでもChromeでもユーザーの確認なしに画像をアップロードできてしまうので震撼しています
972Name_Not_Found:2013/05/13(月) 14:26:31.99 ID:???
faqによるとChromeとFirefox以外はJava appletを使うとあるけど
973Name_Not_Found:2013/05/13(月) 14:37:30.59 ID:DbrUvN40
addEventListener、attachEventでフォームsubmitされたら関数実行するようにしています。
document.getElementById("result").innerHTML = answerString;
関数実行の最後の行に上記を記述してるんですが、IEでは表示されるのに対して、FFでは何も表示されない
他の処理(計算とか直前のクリップボードにコピーとか)は問題なく出来ています。

最後のinnerHTMLだけ処理が出来ていない感じですが、何か原因考えられますか?
974973:2013/05/13(月) 14:50:38.80 ID:???
自己解決しました
function calcStart() {

function calcStart(event) {
としたらFFでも動くようになりました
975973:2013/05/13(月) 15:02:41.87 ID:???
どうも違ったようです
直前のwindow.clipboardData.setDataで、IEでは何もされないのに対して、FFでは強制的にリロードされます
そのため、初期化されて何も表示されないようになっていました
976Name_Not_Found:2013/05/14(火) 00:12:28.20 ID:???
FirefoxやChromeでは、window.clipboardDataなんて存在しないんじゃないの?
977Name_Not_Found:2013/05/14(火) 04:40:42.87 ID:???
clipboardDataってClipboardEventのプロパティでは
978Name_Not_Found:2013/05/14(火) 05:20:23.46 ID:???
IEにはwindow.clipboardDataっていうのもある
979Name_Not_Found:2013/05/14(火) 17:12:13.75 ID:???
ユーザーIDとPW入力フォームでチェックボックスをオンにするとCOOKIEで保存しており、

ここで、チェックをはずしてSUBMITした場合はCOOKIEを消去する。ができず困っています。
日付をリセットしてるだけでは足りないということでしょうか?

function() {
var objChk = document.getElementById(rwAuthInfo.conf.chkElemKey);
if ( objChk.type == "checkbox" ) {
if( objChk.checked ) {
var obj1 = document.getElementById(rwAuthInfo.conf.passElemKey);
if ( obj1.value != null && obj1.value != '' ) {
var myPass = escape(obj1.value);
rwAuthInfo.CookieWrite(rwAuthInfo.conf.kwordPass, myPass, rwAuthInfo.conf.savePeriod);
}
var obj2 = document.getElementById(rwAuthInfo.conf.idElemKey);
if ( obj2.value != null && obj2.value != '' ) {
var myId = escape(obj2.value);
rwAuthInfo.CookieWrite(rwAuthInfo.conf.kwordId, myId, rwAuthInfo.conf.savePeriod);
}
} else {
----ここ----
cName = "uName="; // 削除するクッキー名
dTime = new Date();
dTime.setYear(dTime.getYear() - 1);
document.cookie = cName + ";expires=" + dTime.toGMTString();
----ここ----
}
}
980Name_Not_Found:2013/05/14(火) 17:23:24.38 ID:???
document.cookie = cName + ";expires=" + dTime.toGMTString();

document.cookie = cName + ";expires=" + dTime.toGMTString()+"; path=/";
981Name_Not_Found:2013/05/14(火) 19:41:25.55 ID:???
ありがとうございます
それはどういう意味でしょうか、かなりググってみましたがわかりませんです
982Name_Not_Found:2013/05/15(水) 16:07:13.23 ID:???
dTime.toGMTString() がどんな値になってるか確かめてみな。
983Name_Not_Found:2013/05/15(水) 17:56:49.83 ID:???
タイムスタンプのようです
984Name_Not_Found:2013/05/15(水) 18:20:13.73 ID:???
よくみて
985Name_Not_Found:2013/05/16(木) 00:34:04.55 ID:???
986Name_Not_Found:2013/05/16(木) 20:25:46.85 ID:???
987Name_Not_Found:2013/05/17(金) 10:30:02.24 ID:Y7BVy4Uc
document.domainでのサブドメイン間の通信について

main.hoge.jp
sub.hoge.jp
とあり、main.jp/index.phpにget.jsを仕込み、ここにdocument.domain=hoge.jpと記述しています。
get.jsから、sub.hoge.jp/result.phpへgetでidを投げます、result.phpはidを受け取りsqlからidについての情報を取得しJSONで返します。
JSONで返す為、result.php側にはdocument.domainの記述はありません。

同一サブドメインではうまく行きます、ローカルでもうまくいきます。
別のサブドメインに投げた場合、制約にひっかかっているようです。
解決方法はありますか?
988Name_Not_Found:2013/05/17(金) 13:39:02.97 ID:+9cqTzDK
setTimeOutで実行する関数内で、再び時間が来たらどうなるでしょうか?
処理が無限に呼び出されておかしな動作にならないでしょうか?
989Name_Not_Found:2013/05/17(金) 14:06:27.95 ID:???
>>987
つJSONP
>>988
ブラウザ上のJavaScriptでは一時には1つしか動かないから。
990Name_Not_Found:2013/05/17(金) 14:06:59.52 ID:???
991Name_Not_Found:2013/05/17(金) 14:12:09.40 ID:???
>>989
えっ、そうなんですか
ありがとうございました
992Name_Not_Found:2013/05/17(金) 18:27:39.09 ID:???
頭の悪そうな質問ばかりだな
やって試してみりゃいいのに
993Name_Not_Found:2013/05/17(金) 18:33:46.93 ID:???
やりとりが楽しいんだよ
ゆとりはだまれよ
994Name_Not_Found:2013/05/18(土) 17:17:48.31 ID:???
そだね
995Name_Not_Found:2013/05/19(日) 16:49:42.47 ID:???
996Name_Not_Found:2013/05/19(日) 23:38:17.46 ID:???
997Name_Not_Found:2013/05/20(月) 13:33:28.68 ID:???
t
998Name_Not_Found:2013/05/20(月) 13:33:59.06 ID:???
o
999Name_Not_Found:2013/05/20(月) 13:34:40.05 ID:???
.
1000小倉優子 ◆YUKOH0W58Q :2013/05/20(月) 13:35:11.23 ID:???
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。