元スレ+ JavaScript の質問用スレッド vol.109 +
JavaScript覧 / PC版 /みんなの評価 :
451 = :
即時関数の中に全部いれるパターンだとどうなるんだろ
452 = :
さっぱりよくわかりません
サンプルコードをください
453 = :
ブラウザのように戻ると進むの機能を実装します
A→B→C→D
と移動したあと
戻るボタンを二回押し、
A→B
に戻ったあと、
A→B→E
と別ルートに行ったとすると、最初のC→Dルートには、戻る・進むボタンでは行けなくなるのでしょうか?
454 = :
A→B→C→D→C→B→E
履歴を記録しといて、履歴からたどれば
455 = :
>>453
ブラウザではどうなりますか?
ブラウザのように実装するのでしょう?
456 = :
>>454
そういう正味の履歴も、ないと不便なので付けてあります
>>455
chromeでは消えるみたいです
ただブラウザによってはどうも違うみたいで、実装が謎なんですよね
457 = :
実装が謎な理由が今分かりました
google検索では、A→B→A→Cと行っても、「戻る」からBが消えない
検索エンジンではそういう動作の方が便利なので、これはどうも履歴を操作してそうしているようです
wikipediaで移動してもそういう動きにはならない
つまりgoogle検索で試していたから良く分からない挙動になっていたようです
458 = :
B消えるだろ
459 = :
解決したんだからぶり返すな
460 = :
$(document)をキャッシュして使用していました
scrollハンドラの動作がおかしいので調べたところ、
キャッシュした$documentにスクロールハンドラを付けた時には一度しか動作せず
関数内で$documentを作り直した時には動作するようです
しかし$(document)は、作り直そうがキャッシュしようが同じものではないのでしょうか?
scrollハンドラ以外で問題出ていないのも謎です
こんな問題に当たった人いますか?
461 = :
キャッシュの問題ではなく、他のイベント内でスクロールハンドラを付け外ししてるので、
その時に外しちゃってるみたいです
失礼しました
462 = :
chromeデバッガでconsole.dirしたオブジェクトを
その後変更すると、console上のdir出力も書き換わってしまい
出力された時点のオブジェクトではなくなってしまうのですが
これを解決する方法ありますか?
463 = :
>>461
この件ですが、
$(document).off('scroll', 存在しない関数)
となっていたため、第二引数がundefinedになり
その結果documentにbindされた全てのscrollイベントがリムーブされていたのが原因でした
465 = :
エラーになる理由がない
468 = :
ドットインストールいいね
独学だと基礎的なところをぽろぽろ落としてたりするから助かる
472 = :
npmから入れたら古いだろう?
476 = :
数値を最小値と最大値の間におさめるなど
数値関係のユーティリティライブラリありませんか?
underscore.numberというのがあったのですが、上記のような関数はないようです
477 = :
>>476
飽和演算とかsaturationでググると吉かも。
478 = :
1つのページでPOSTとGETをするフォームがあるのですが、
そこをXMLHttpRequestで非同期で処理しています。
XMLHttpRequestは2つインスタンスを作成するべきでしょうか?
それとも1つを使い回ししていいのでしょうか?
479 = :
>>476
作るは簡単なんだけど、適切な関数名が
思いつかないんだよね。
>>477
軽く飽和演算で検索してみたけど、
演算した時に飽和する話が多かった。
480 = :
>>476
> underscore.numberというのがあったのですが、上記のような関数はないようです
おい、あるじゃねーかw
http://github.com/hanamura/underscore.number
pinch _.num.pinch(num, min, max)
Puts num in a range of min to max.
Returns min if num is smaller than min, max if num is larger than max, and num itself if it’s already in a range of min to max.
_.num.pinch(12, 0, 10); // 10
_.num.pinch(5, 0, 10); // 5
_.num.pinch(-3, 0, 10); // 0
481 = :
(function(){
function AAA() {
var a = document.getElementById('a');
var F = function() { //処理 };
a.addEventListener('load', F, false);
a.addEventListener('click', F, false);
}
window.addEventListener('load', AAA, false);
}());
ページロード時とaをクリックしたときにFを実行するために上のように書いてみました。
a.addEventListener('load'~ができないのでここを
window.addEventListener('load'~に変えたけど動きませんでした。
色々ためしたものの拉致があかなかったので、
(function(){
function AAA() {
var a = document.getElementById('a');
//処理
a.removeEventListener('click', AAA, false);
a.addEventListener('click', AAA, false);
}
window.addEventListener('load', AAA, false);
}());
このようにしてみたところうまく動きました。
これで大丈夫でしょうか?なおすところがあったらご指導お願いします。
jQueryに頼らない書き方を覚えたいのでjQueryはなしでお願いします。
482 = :
10x400くらいの数字が入った二次元配列をtableにして表示するのに高速な方法教えてください。
それに最初の行の各セルに異なるclickイベントを付けたいです。
483 = :
>>482
よくわかんないけど
array[tr要素10個][td要素400個]
こういうこと?
for'()する時毎回length取得するんじゃなくてfor(vari,len=array[tr要素1].length; i<len; i++)
ってやるぐらいしか
484 = :
質問ですが、
GoogleってJavaScriptコードを外部ファイルではなくHTML内に記述していますよね?(cssもそうですが)
これって何か理由があるのでしょうか?
JSファイルは外部ファイルにすべきと聞いてそうしていたのでとても気になります。
外部ファイルにした方がブラウザのキャッシュを利用して読み込みを軽減してトラフィックとかも減りますよね?
もし理由がわかる方いらっしゃれば教えてください。
485 :
>>484
リクエストが減るからじゃね?
488 = :
>>484
逆にキャッシュに残らないようにしてるんじゃね?
489 = :
>>480
あれ本当ですね
早とちりでした
ありがとうございました
490 = :
関数の実行時間を測る簡単な方法を教えてください
494 = :
>>491
エラーになりましたが?
495 = :
hogeという変数?オブジェクト?とdocument.getElementById('hoge')が連動するのは仕様なのでしょうか?
var hoge = document.getElementById('hoge');
alert(hoge.value);
という感じで今までやってたのですが、ふとしたことからいちいち定義しないでも、
alert(hoge.value);でいけることに気づきました。
496 = :
仕様
497 = :
operaなんだが、
var obj = { "items": [] },
val1 = "---",
val2 = "===";
obj.items.push ( {"p1":val1, "p2":val2 } );
として、
var str = JSON.stringify (obj);
とすると、
{"items": [ {"p1":"---", "p1":"==="} ] }
にならずに、
{"items": "[{\"p1\":\"---\",\"p2\":\"===\"}]" }
となるのは仕様?
498 = :
気のせい
499 = :
>>496
どこの仕様書に載ってるんですか。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について