のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,432,532人
昨日:no data人
今日:
最近の注目
人気の最安値情報

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

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

601 = :

>>600
さんくすです

602 = :

>>> document.getElementsByTagName("div") instanceof Array
false
>>> document.getElementsByTagName("div") instanceof Object
true

へぇArrayじゃなかったのか

605 = :

配列を数値に変換するときってどのような処理になるんでしょう?

(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が呼ばれているように読めるのですが、
その中身までは定義されていないようです。
ということはブラウザ依存の謎仕様なんでしょうか、
それとも何か読み落としてるだけでちゃんと理由があるんでしょうか。

606 = :

数値に変換する前にtoStringが入ってるから

607 = :

>>606
ありがとうございます!
もう一度読み直してきます。

609 = :

事故解決しました><

挿入先がAタグに囲まれてました。

610 = :

<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;
}
}
}


なぜか、
すべて選択」が効かないです。
エラーは出てません。

どうチェックして要ったらいいでしょうか。

おねがいします。

611 = :

そりゃそうだろうな
一行ずつ何をしているのか説明してみろよ
ついでに無駄なことをしているのにも気付け

612 = :

ブラウザのリサイズが終わったタイミングで動かしたい関数があるのですが、どのようにするのがいいのでしょうか?
onResizeEndは対応しているブラウザが少ないみたいなので使いたくありません。
onResizeを使うと、リサイズの間に何度も関数が実行されて好ましくありません。

いい方法があれば教えてください。

613 = :

リサイズなんて迷惑なことやめてくれ

614 = :

フラグとsettimeout使ってonリサイズをしてからある時間リサイズされてなければ実行はどうよ。

615 = :

リサイズなんてブラウザ側で無効にしてますけどね

616 = :

>>613
どういうことでしょうか?

>>614
ありがとうございます。そうします。

617 :

おまいらリサイズに脊髄反射しすぎw
ウィンドウをリサイズするんじゃなくて、
リサイズされたら発火したいんだろ。

で、厳密にやろうと思ったらマウスとウィンドウの大きさ見張って、
自分なりのイベント作るしかない、のかなあ。

618 = :

というか、いまどきタブブラウザ使っていればリサイズなんてしないけどな。

619 = :

横幅に合わせてアイテム数やカラム数を調整したりするサイトはたまにあるよね。

620 = :

>リサイズされたら
リサイズが終わったという文言でどうしてそういう解釈ができるのだろうか

621 = :

嗚呼リサイズってブラウザ全体じゃなくて要素のリサイズのことね

622 = :

「ブラウザのリサイズ中」は何もしたくないので「ブラウザのリサイズが終わったタイミング」と書きました。
スクリプトからブラウザのリサイズを行いたいということではなく、
閲覧者がブラウザのサイズを調節したり、最大化や「元に戻す」をしたときに
ホームページのレイアウトを調節したかったのです。

誤解を招くような表現で申し訳ありません。

623 = :

CSSでうまくいくようにやれよ。

624 = :

>>622
最初の文章で十分に伝わったよ。
判らない方がどうかしてる。

625 = :

こういう感じ? どれくらい待ったら「リサイズが終わった」と
判断するかは使ってみた感じで調整する必要があるかも。
<!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>

626 = :

>>625
ありがとうございます。
私も同じようなスクリプトを書きました。

そのとき思ったのが、tidへの書き込みが重なることがあるかないかです。
同時アクセスは起こりえないんでしょうか?

627 = :

>>626
ブラウザ上のJavaScriptは単一スレッドで実行されるから、同時アクセス
は起こり得ない。

628 = :

>>627
ありがとうございます。スッキリしました。

629 = :

リキッドデザインにすればよいのではないのかしら

630 = :

送信フォームなどでボタンの2度押しをできないしているものがありますが、
あれはjavascriptでやっているのでしょうか?

631 = :

一番必要そうなのは、多段組みで段数を領域幅に応じて変化させる
とかかな。そういうのはCSSだけじゃできないから。

632 = :

いや、できるし。

633 = :

うーん、1つの「段」に入るテキストの量も段数の変化とともに
変わるわけだと思うけど、内容量を変えるとかできるの?
本当ならCSSスレに質問に行こうっと。

634 = :

普通にCSSでできるだろ
JSが必要になるのは条件によって文字の詰め方を変えるとき

637 = :

>>630
・1回押したらJavaScriptでボタンを無効化する
・ボタン押下時、トークン(画面を表示するごとに毎回変わる値)を一緒に送信。
 サーバ側で2回同じ値が送信されてきたら2回目以降を弾く
を両方やるのが普通

638 = :

諸君らの愛してくれたIE6は死んだ。なぜだ!?

639 = :

>>638
まだまだ現役ですが。ウチの会社IE7以上は使用禁止

640 = :

だが斬る

641 = :

>>639
IE7使えるじゃん
問題ない


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について