私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.77 +

みんなの評価 :
レスフィルター : (試験中)
>>600
さんくすです
さんくすです
>>> document.getElementsByTagName("div") instanceof Array
false
>>> document.getElementsByTagName("div") instanceof Object
true
へぇArrayじゃなかったのか
false
>>> document.getElementsByTagName("div") instanceof Object
true
へぇArrayじゃなかったのか
NodeList(またはHTML Collection)は配列みたいなオブジェクト
後で追加した要素にも対応してくれるけど、配列より遅いだったか?
後で追加した要素にも対応してくれるけど、配列より遅いだったか?
でも IE の場合、NodeList は Object のインスタンスじゃないし、
Array.prototype.slice.call(NodeList) で配列に変換できない罠。
Array.prototype.slice.call(NodeList) で配列に変換できない罠。
配列を数値に変換するときってどのような処理になるんでしょう?
(1) alert( +[123] ); // 123
(2) alert( +[0xFF] ); // 255
■サイズ1で、要素が数値の配列はその値そのものに変換されるように見える。
(3) alert( +["0xFF"] ); // 255
■サイズ1で、要素が文字列ならToNumber()か何かで数値に変換される?
(4) alert( +["010"] ); // 10
(5) alert( +["123ABC"] ); // NaN
■この挙動はやっぱりToNumber()が使われているように見える
(6) alert( +[true] ); // NaN
■ToNumber(true) って1のはずなのになんで?
仕様書を見るとArrayのDefaultValueが呼ばれているように読めるのですが、
その中身までは定義されていないようです。
ということはブラウザ依存の謎仕様なんでしょうか、
それとも何か読み落としてるだけでちゃんと理由があるんでしょうか。
(1) alert( +[123] ); // 123
(2) alert( +[0xFF] ); // 255
■サイズ1で、要素が数値の配列はその値そのものに変換されるように見える。
(3) alert( +["0xFF"] ); // 255
■サイズ1で、要素が文字列ならToNumber()か何かで数値に変換される?
(4) alert( +["010"] ); // 10
(5) alert( +["123ABC"] ); // NaN
■この挙動はやっぱりToNumber()が使われているように見える
(6) alert( +[true] ); // NaN
■ToNumber(true) って1のはずなのになんで?
仕様書を見るとArrayのDefaultValueが呼ばれているように読めるのですが、
その中身までは定義されていないようです。
ということはブラウザ依存の謎仕様なんでしょうか、
それとも何か読み落としてるだけでちゃんと理由があるんでしょうか。
createElementで作ったtype=textなInputで、内容のテキストが選択できないというか、
マウスのクリックが全く効かないんですが、何か理由があるんでしょうか?
マウスのクリックが全く効かないんですが、何か理由があるんでしょうか?
<form>
<input type="button" value="すべて選択" onClick="select(1)">
<input type="button" value="すべて解除" onclick="select(0)">';
・・・・・・・・・・・・・・・・・・・・・・・・・・・
function select ( bool){
var x=document.getElementsByTagName('input');
if(x[i].type.match('checkbox')){
if(bool){
for(var i=0;x[i];i++)x[i].checked = true;
}else{
for(var i=0;x[i];i++)x[i].checked = false;
}
}
}
なぜか、
すべて選択」が効かないです。
エラーは出てません。
どうチェックして要ったらいいでしょうか。
おねがいします。
<input type="button" value="すべて選択" onClick="select(1)">
<input type="button" value="すべて解除" onclick="select(0)">';
・・・・・・・・・・・・・・・・・・・・・・・・・・・
function select ( bool){
var x=document.getElementsByTagName('input');
if(x[i].type.match('checkbox')){
if(bool){
for(var i=0;x[i];i++)x[i].checked = true;
}else{
for(var i=0;x[i];i++)x[i].checked = false;
}
}
}
なぜか、
すべて選択」が効かないです。
エラーは出てません。
どうチェックして要ったらいいでしょうか。
おねがいします。
そりゃそうだろうな
一行ずつ何をしているのか説明してみろよ
ついでに無駄なことをしているのにも気付け
一行ずつ何をしているのか説明してみろよ
ついでに無駄なことをしているのにも気付け
ブラウザのリサイズが終わったタイミングで動かしたい関数があるのですが、どのようにするのがいいのでしょうか?
onResizeEndは対応しているブラウザが少ないみたいなので使いたくありません。
onResizeを使うと、リサイズの間に何度も関数が実行されて好ましくありません。
いい方法があれば教えてください。
onResizeEndは対応しているブラウザが少ないみたいなので使いたくありません。
onResizeを使うと、リサイズの間に何度も関数が実行されて好ましくありません。
いい方法があれば教えてください。
フラグとsettimeout使ってonリサイズをしてからある時間リサイズされてなければ実行はどうよ。
おまいらリサイズに脊髄反射しすぎw
ウィンドウをリサイズするんじゃなくて、
リサイズされたら発火したいんだろ。
で、厳密にやろうと思ったらマウスとウィンドウの大きさ見張って、
自分なりのイベント作るしかない、のかなあ。
ウィンドウをリサイズするんじゃなくて、
リサイズされたら発火したいんだろ。
で、厳密にやろうと思ったらマウスとウィンドウの大きさ見張って、
自分なりのイベント作るしかない、のかなあ。
>リサイズされたら
リサイズが終わったという文言でどうしてそういう解釈ができるのだろうか
リサイズが終わったという文言でどうしてそういう解釈ができるのだろうか
「ブラウザのリサイズ中」は何もしたくないので「ブラウザのリサイズが終わったタイミング」と書きました。
スクリプトからブラウザのリサイズを行いたいということではなく、
閲覧者がブラウザのサイズを調節したり、最大化や「元に戻す」をしたときに
ホームページのレイアウトを調節したかったのです。
誤解を招くような表現で申し訳ありません。
スクリプトからブラウザのリサイズを行いたいということではなく、
閲覧者がブラウザのサイズを調節したり、最大化や「元に戻す」をしたときに
ホームページのレイアウトを調節したかったのです。
誤解を招くような表現で申し訳ありません。
こういう感じ? どれくらい待ったら「リサイズが終わった」と
判断するかは使ってみた感じで調整する必要があるかも。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tid = 0;
function ex() {
var d0 = document.getElementById('d0'), d1 = document.getElementById('d1');
d1.style.left = Math.floor(d0.offsetWidth / 2) + 'px'; tid = 0;
}
function rs() { tid > 0 && clearTimeout(tid); tid = setTimeout(ex, 1000); }
</script>
</head><body onresize="rs()" onload="ex()">
<div id="d0"><div id="d1" style="position:absolute">X</div></div>
</body></html>
判断するかは使ってみた感じで調整する必要があるかも。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tid = 0;
function ex() {
var d0 = document.getElementById('d0'), d1 = document.getElementById('d1');
d1.style.left = Math.floor(d0.offsetWidth / 2) + 'px'; tid = 0;
}
function rs() { tid > 0 && clearTimeout(tid); tid = setTimeout(ex, 1000); }
</script>
</head><body onresize="rs()" onload="ex()">
<div id="d0"><div id="d1" style="position:absolute">X</div></div>
</body></html>
送信フォームなどでボタンの2度押しをできないしているものがありますが、
あれはjavascriptでやっているのでしょうか?
あれはjavascriptでやっているのでしょうか?
一番必要そうなのは、多段組みで段数を領域幅に応じて変化させる
とかかな。そういうのはCSSだけじゃできないから。
とかかな。そういうのはCSSだけじゃできないから。
うーん、1つの「段」に入るテキストの量も段数の変化とともに
変わるわけだと思うけど、内容量を変えるとかできるの?
本当ならCSSスレに質問に行こうっと。
変わるわけだと思うけど、内容量を変えるとかできるの?
本当ならCSSスレに質問に行こうっと。
普通にCSSでできるだろ
JSが必要になるのは条件によって文字の詰め方を変えるとき
JSが必要になるのは条件によって文字の詰め方を変えるとき
min-width max-width min-height max-height
好きなのを選べ
好きなのを選べ
>>635
全部IE6で使えないね
全部IE6で使えないね
>>630
・1回押したらJavaScriptでボタンを無効化する
・ボタン押下時、トークン(画面を表示するごとに毎回変わる値)を一緒に送信。
サーバ側で2回同じ値が送信されてきたら2回目以降を弾く
を両方やるのが普通
・1回押したらJavaScriptでボタンを無効化する
・ボタン押下時、トークン(画面を表示するごとに毎回変わる値)を一緒に送信。
サーバ側で2回同じ値が送信されてきたら2回目以降を弾く
を両方やるのが普通
>>638
まだまだ現役ですが。ウチの会社IE7以上は使用禁止
まだまだ現役ですが。ウチの会社IE7以上は使用禁止
>>641
IE7以上は使用禁止=IE7は×
IE7以上は使用禁止=IE7は×
>>645
>>643じゃないけど、それは関係ないと思う
こっちで試してみ
var arr = [], elems = document.getElementsByTagName("img");
for (var i = 0, len = elems.length; i < len; i++) (function(elem) {
var img = new Image();
img.onerror = function() {
console.log(this.src);// こっちは出力される
arr.push(this.src);
};
img.src = elem.src;
})(elems[i]);
console.log(arr);// こっちは出力されない
さっきから試行錯誤してるんだが、よー分からんな
onerrorが駄目ならonloadでとって差分とればいいじゃないと思ったけどこれも駄目だった(Chromeならこの方法でできた)
>>643じゃないけど、それは関係ないと思う
こっちで試してみ
var arr = [], elems = document.getElementsByTagName("img");
for (var i = 0, len = elems.length; i < len; i++) (function(elem) {
var img = new Image();
img.onerror = function() {
console.log(this.src);// こっちは出力される
arr.push(this.src);
};
img.src = elem.src;
})(elems[i]);
console.log(arr);// こっちは出力されない
さっきから試行錯誤してるんだが、よー分からんな
onerrorが駄目ならonloadでとって差分とればいいじゃないと思ったけどこれも駄目だった(Chromeならこの方法でできた)
うまく伝わらなくて申し訳ない。
ヒント:スコープ
ヒント:スコープ
Fxではimg.onerrorが非同期になっているから?!
同期にすればいいってこと?
同期にすればいいってこと?



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.107 + (1001) - [95%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.117 + (1009) - [95%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.127 + (160) - [95%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [95%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [95%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2011/12/10 18:31
トップメニューへ / →のくす牧場書庫について