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

私的良スレ書庫

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

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
651 : Name_Not - 2010/11/26(金) 23:52:48 ID:??? (+28,+29,-18)
>>640
そこらへんはプロトタイプjsと同居させたりとかあったようななかったような
652 : Name_Not - 2010/11/26(金) 23:55:50 ID:??? (+27,+29,-16)
まずは、関数の定義はループに入る直前にしておいた方がいいんじゃないかな
653 : Name_Not - 2010/11/27(土) 00:00:08 ID:??? (-22,-30,-93)
ちょっとまえにもあったな
var f = function (hoge) {
return function() {
alert(hoge);
}
}

for (var i =0; i < 10;i++) {
addEvent(f(i));
}

こんな感じでaddEventはめんどくさくなったw
654 : 648 - 2010/11/27(土) 00:09:00 ID:??? (+17,+27,+1)
>>653
どうもありがとう
656 : Name_Not - 2010/11/27(土) 01:37:36 ID:??? (-26,-30,-114)
>>655
localStorageから取り出した物は文字列になる
宣言としては
var storage = "/(:?リンゴ|ナシ)、?/g";
と一緒なので明示的に正規表現オブジェクトを生成する必要がある

var storage = new RegExp("(:?リンゴ|ナシ)、?","g");

こんな感じで
657 : Name_Not - 2010/11/27(土) 02:02:26 ID:??? (-29,-30,-166)
<html>
<head>
<script type="text/javascript">
window.onload = function(){
  alert(document.all.tags("table")(0).border);
  alert(document.all.tags("table")(0).bgcolor);
}
</script>
</head>
<body>
<table border="1" bgcolor="#00ffff"><tr><td>test</td></tr></table>
</body>
</html>

このソースで、borderのアラート文は「1」と出るのに、bgcolorの方は「undefined」となってしまうのはなぜでしょうか?
660 : Name_Not - 2010/11/27(土) 02:23:19 ID:??? (-11,-30,-28)
JavaScriptである要素の中だけ、codepadやIdeoneみたいに行数を表示することってできないんでしょうか?

0001 :あ
0002 :い
0003 :う
0004 :え
0005 :お

上記みたいな感じです
どういう物を使えばできるかご教示お願いします
661 : Name_Not - 2010/11/27(土) 02:45:24 ID:??? (+24,+29,-29)
>>656
なんとか思い通り動くようになりました。
本当にありがとうございました。
662 : Name_Not - 2010/11/27(土) 10:36:34 ID:??? (+22,+29,-32)
>>660
何をやりたいのか分からんが、
要素の中の文字列を、左側に行の数を追加した文字列と差し替ええればいいだけでは。
663 : Name_Not - 2010/11/27(土) 10:47:24 ID:??? (-17,-30,-54)
多段階層のオブジェクトで、1つ上位階層の値を、
いちいちトップ階層から辿らないで参照することはできないのでしょうか。

例えば、
a={v1:1, b:{v2:2, c:{v3:3, d:function(){alert(this.v3)} }}}
とした時、dからv2の値を参照する場合
664 : Name_Not - 2010/11/27(土) 11:04:55 ID:??? (-20,-30,-177)
その関数は参照「されている」だけで、関数からそのルートを知る術はない。

var a1 = {v1:1, b:{v2:2, c:{v3:3, d:function(){alert(this.v3)} }}}
var func = a1.b.c.d;
var a2 = {u1:4, b:{u2:5, c:{u3:6, d:func }}}

としたとき、

func();
a1.b.c.d();
a2.b.c.d();

は全部同等だということからも明らか。
665 : 663 - 2010/11/27(土) 11:17:01 ID:??? (-5,+0,-7)
>>664
ありがとうございました。そういうルートは存在しないのですか。
windowのparentみたいなものが使えたらいいなって思ったのですが
666 : Name_Not - 2010/11/27(土) 11:21:43 ID:??? (+25,+29,-35)
だから親子関係なんてもとからない。
仮にparentという属性があったとして、
>>664の3パターンで同じ関数を呼び出したとき
どういう値を返せばいいのかなんて判別つかないだろ。
668 : Name_Not - 2010/11/27(土) 14:19:56 ID:??? (+21,+23,-39)
テキストエリアの中の文字で任意に選択した部分だけ
取り出す方法はありますか?
669 : Name_Not - 2010/11/27(土) 14:29:53 ID:??? (+0,+12,+0)
あります
670 : Name_Not - 2010/11/27(土) 15:02:24 ID:??? (-26,-29,-68)
ありますか、ありがとうございます
var text = windows.getSelection();
これでウィンドウのドラッグして選択した部分を取り出すことができるのですが
テキストエリアの中のいくらかの文字をドラッグしても、何も取り出せないのです、
テキストエリア内の文字を取り出すにはどうすればいいのでしょうか?
676 : Name_Not - 2010/11/27(土) 18:19:10 ID:??? (+22,+29,-4)
>>674
書く方法ならいくらでもありますよ
677 : Name_Not - 2010/11/27(土) 18:27:45 ID:??? (+27,+26,+0)
>>676
では、教えてくだされ。
678 : Name_Not - 2010/11/27(土) 18:29:26 ID:??? (+28,+26,-26)
>>677
テキストエディタでもなんでも使えばよかろう
679 : Name_Not - 2010/11/27(土) 18:42:11 ID:??? (-26,-29,-83)
abcにテキストを移動させたときにその内容を保持しておくとか
内容のstyleをいじってhiddenにして移動させたように見せかけておくとか
単純に移動させたときと逆のことをするとか
680 : Name_Not - 2010/11/27(土) 20:39:32 ID:??? (-21,-30,+0)
はじめまして,テキストボックスに入力された数を使って自動で計算できるようにしたいのですが、うまくいきません
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="content-script-type" CONTENT="text/javascript">
<TITLE></TITLE>
<script>
function Multiplication(form){
num1 = form.num1.value;
num2 = form.num2.value;
num3 = form.num3.value;
form.ansA.value = eval(num3)/100;
num4 = form.ansA.value
form.ansB.value = 4*eval(num1)+eval(num2);
num5 = form.ansB.value
form.ans.value = 1.20*eval(num4)*eval(num5);
return 0;
}
</script>
</HEAD>
<BODY>
<form name="multiplication">
<input type="text" size="5" name="num1" onBlur="Multiplication(this.form)">
<input type="text" size="5" name="num2" onBlur="Multiplication(this.form)">
<input type="text" size="5" name="num3" onBlur="Multiplication(this.form)">=
<input type="text" size="10" name="ans" class="txtbox">
<input type="reset" value="reset">
</FORM>
</BODY>
</HTML>
num1,num2,num3に入力された数値を1.20 * ( 4 * num1 + num2) * (num3 /100)という式に代入して計算結果をansに出力したいです
色々と試してみたのですがうまくいかないのでよろしければ教えてください
681 : Name_Not - 2010/11/27(土) 20:55:23 ID:??? (-28,-30,-73)
>>680
> form.ansA.value = eval(num3)/100;
> form.ansB.value = 4*eval(num1)+eval(num2);
ansA, ansBってフォーム部品はどこにあるの?
682 : zardrell - 2010/11/27(土) 20:57:40 ID:??? (-28,-30,-116)
>>680

form.ansA.value = eval(num3)/100;
num4 = form.ansA.value
form.ansB.value = 4*eval(num1)+eval(num2);
num5 = form.ansB.value
---------------------------

num4 = eval(num3)/100;
num5 = 4*eval(num1)+eval(num2);
683 : Name_Not - 2010/11/27(土) 22:26:34 ID:??? (+24,+29,-1)
>>679
なんとかめどが立ちました。ありがとうございます。
684 : 680 - 2010/11/27(土) 22:36:58 ID:??? (+17,+23,+1)
>>681
>>682
解決しました。
ありがとうございます
685 : 660 - 2010/11/28(日) 00:12:05 ID:??? (-23,-30,-254)
<!--
var i = 1;

function myfunc() {
while(true)
{
document.getElementById("line-[i]").innerHTML = i;

if(i == 10) {
break;
}
}
}
// -->

~~~省略~~~
<div id="line-1"></div>
<div id="line-2"></div>
<div id="line-3"></div>

>>662さんに言われたことを自分なりやってみたんですけど
こういう感じでやってみたんですけど、<div>~</div>間に数字が挿入されません
ChromeでJavaScriptコンソールで見たんですけど、エラーも出ず・・・
どのようにして<div>~</div>間に数字を代入することができますか?
687 : Name_Not - 2010/11/28(日) 00:14:07 ID:??? (+17,+29,+0)
無茶苦茶やな
688 : Name_Not - 2010/11/28(日) 00:19:21 ID:??? (-27,-30,-82)
function myFunc() {
for(var i=1;i<=10;i++){var l=document.getElementById("line-"+i);if(l)l.innerHTML=String(i)+l.innerHTML;}
}
689 : Name_Not - 2010/11/28(日) 00:29:59 ID:??? (+27,+29,-24)
本人にはもう少し自己学習で育ってもらわんと、また皆に迷惑をかけに来るから
チャチを入れるだけよりはマシだが、答えだけ教えるのもどうかと思うな
690 : Name_Not - 2010/11/28(日) 13:19:25 ID:??? (+37,+29,-52)
要素をソートしたいんですがjavascriptのソートって遅いですよね
Ajaxで鯖に投げるのが主流なんでしょうか?
691 : Name_Not - 2010/11/28(日) 13:38:31 ID:??? (+20,+24,-10)
鯖へ投げるよりは早いと思うよ?
計測した?
692 : Name_Not - 2010/11/28(日) 14:48:26 ID:??? (-26,-29,-159)
一般論
・ソート対象要素の数が少なければJSだけでも問題ないことも多い
  ・もちろん要素数が多ければその分時間がかかる
  ・鯖側で予め色々な順序でソートし、その結果をIDやインデックスのリストとして
   hidden要素に埋め込んでおくという手もある

・JavaScriptでループを回している間はブラウザが固まる
  ・Ajaxの強み
  ・何も操作できない2秒間よりも非同期通信の待ち時間3秒間の方がずっとマシ
  ・対応ブラウザを絞って良いのであればWeb Worker使う

・ソートした結果をどのように表示するのか
  ・テーブルの行を入れ替えたりするDOM操作はあんま速くない

■結論
  ・何をどうソートしてどう利用するのかを考えろ
  ・ターゲットとする利用者のマシンスペック、ブラウザも考慮に入れろ
693 : Name_Not - 2010/11/28(日) 19:55:35 ID:??? (+31,+29,-27)
顔文字だけで書かれたJavaScript
http://utf-8.jp/public/aaencode.html

これ凄いね
実用性ないけど凄いね
まったくもって無意味だけど凄いね
694 : Name_Not - 2010/11/28(日) 20:02:05 ID:??? (+5,+17,-13)
暗号化か
695 : Name_Not - 2010/11/28(日) 20:03:15 ID:??? (+22,+29,-16)
プレゼン資料見てみたが面白いな
696 : Name_Not - 2010/11/28(日) 20:06:01 ID:??? (+0,-29,-29)
forループの内側で何度もwindow.openするのは可能なのに、
setTimeoutを使ったループだとwindow.openさせてくれないのですね。
これは、やはり何らかの制限なのでしょうか?
697 : Name_Not - 2010/11/28(日) 20:18:21 ID:??? (+21,+28,-1)
何を言ってるの?
698 : 690 - 2010/11/28(日) 20:27:42 ID:??? (-24,-29,-47)
>>691-692
要素数は200~300個です

>   ・鯖側で予め色々な順序でソートし、その結果をIDやインデックスのリストとして
>    hidden要素に埋め込んでおくという手もある

これもよさそうですね。
699 : Name_Not - 2010/11/28(日) 20:34:02 ID:EDY82HOj (+23,+29,+0)
>>693
よし、まったくわからん
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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