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

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

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

    tableの中のcellをクリックすると、
    新しいrowが生成され、クリックされたcellがあるrowの一行下に追加される。
    というプログラムを作っています。

    すべてのcellのオンクリックイベントに以下のように指定しています。
    var row = table.insertRow(lineNum+1);
    var cell = row.insertCell(0);
    cell.innerHTML = lineNum;

    はじめのひとつをクリックしたときは想定通りに動くのですが、
    クリックするごとにrowが追加され、rowの行数が増えてしまい、
    table.insertRow(lineNum+1)で指定した場所からズレて行ってしまう問題が起こります。

    アルゴリズムが悪いのだと思いますが、どうすれば解決できるのかアドバイスをお願いします。

    152 = :

    クリックされた後、そのクリックされたセルは何行目なのかを調べ
    なければ「絶対に駄目」だよね。だって何行目なのか分からないまま
    正しい位置に挿入なんてできないから。

    153 = :

    >>151
    何行目かを判定する必要は全くない
    クリックされた要素から見て insertBefore もしくは appendChild すればいいだけ
    あと、cells にイベントを貼り付けるやり方だと insert する度にイベント定義しなくちゃいけないから tbody あたりにイベント定義する方がいいと思う

    154 = :

    > クリックされたセルは何行目なのかを調べなければ「絶対に駄目」

    そうでもない。

    155 = :

    oh... かぶりやがた

    157 :

    ウェブアプリケーションという不幸 】

    現在、多くのプログラマ(素人)が
    ウェブアプリケーションというものが
    ベストな正しい方向だと勘違いしている。

    ソフトウェアの作るにおいて
    そのアプリケーションに応じた
    状態遷移を実装するというのは
    基本中の基本である。

    その点においてウエブブラウザという
    ある状態遷移が実装されているアプリケーションの上に
    また別のアプリケーションを実装するのは
    論外である。
    そこまでするなら普通にアプリケーションを実装
    してダウンロードして使って
    もらえばいいのである。

    ウェブアプリケーションとは
    虚構にしか他ならない。

    ウェブアプリケーションを
    作ろうとしているあなた。
    今すぐ普通のアプリケーション
    とし設計し始めては
    いかがだろう。
    そうすればきっと後悔しないですむ。

    158 = 157 :

    HTMLやHTTPを悪者にはしていない。
    TCP/IPができあがり、その応用として、ファイルを送ったりするようになった。
    ファイルの中身のテキストにデータ構造をもたせ、それはつまりツリー構造なわけだが
    その実装としてのハイパーテキスト、つまりHTMLという送る側と送られる側で決め事(プロトコル)
    をつくり、画像や音楽など表現の幅を広げることは当然の成り行きだっただろう。
    そして、その送る側としてのHTMLファイルサーバ、つまりWebサーバ、送られる側としてのプロトコルの解釈・表示系としての
    ブラウザというアプリケーション。
    ここまではいい。

    だが、そこから先が素人の発想というか、いそがばまわれを忘れた者の愚かな発想。
    つまりブラウザ上で、アプリケーションを動かすという発想なのである。

    ブラウザというのは、おくられてきたステートレスな通信内容の一瞬の表示手段でしかない。
    つまりアプリケーションのためのひとつのパーツなのである。
    Windowsでいえば、コントロールのひとつ。(実際WebBrowserというコントロールがある。)JavaならWebClietnだ(これは、ブラウザではないが。)。

    包含関係が逆なのである。
    ブラウザ上にアプリケーションを作るのは愚かなブームである。

    161 = :

    現在はes5はまだまだでes3が一般的だと思うんですが、firefox js (mozilla仕様のjs)だと現在どのバージョンが一般的に使われてる(許容されてる)んでしょうか?

    164 = :

    >>157-158
    スレ違いだけどWebアプリのデメリットのみを強調してる恣意的な主張だな
    デメリットとメリットを秤にかけてメリットが大きいと見るからWebアプリ選択するものだろうに

    165 = :

    >>157-158
    google先生にも言って今後webアプリ作らないよう説得してください。

    167 = :

    mozilla rhinoを使っているので実際のところバージョンに神経質になることはありません。
    しかし未だにes3が一般的だとgenerator式やタプル渡しなどがes3系のブラウザだと使えないので、このままだとrhino jsで書いたコード修正が必要になりかなり面倒になります。
    es5がまだ一般普及してないなら旧式の構文で書こうかなっているので普及してるjsのバージョンは気になります。

    168 = :

    以下のスレの住民は皆あなた達を見下してます
    JavaScriptスレ
    http://toro.2ch.net/test/read.cgi/tech/1314333133/

    170 = :

    MDNではタプル渡しじゃなくて分割代入と翻訳してましたね。
    このスレでバージョンやjs1.6以降についての反応がないところを見ると未だにes3のままでes5系のコードはまだ普及もしてないようですね。

    171 = :

    >>170
    分割代入とかは今のところ実装としてはMozilla JavaScriptの独自実装に過ぎず
    仕様としてはES5ではなく、ES.nextの仕様に取り込まれる見通しだよ
    ES5は既に最新のブラウザーでだいたい実装済みだよ
    http://kangax.github.com/es5-compat-table/

    172 = :

    >>168
    見下してるようには見えませんでしたが・・

    173 = :

    >>170
    他の人が使ってるから使うのか、流行に乗りたいだけ?
    普通はブラウザが対応しているかで決める
    ES5使ってるが、他の人が使っているかを気にしたことはない

    174 = :

    ES5は流行ってるんですか?

    175 = :

    流行ってるよ

    176 = :

    マニアの間で

    177 = :

    なんで流行っているかに拘るの?

    179 = :

    ここは ECMAScript の話題を制限してないよ

    180 = :

    >>172
    全部読みましたか?

    >>179
    ム板のjsスレの先生方はここは質問用って言ってましたよ

    181 = :

    同じjsを扱うようですけどそもそも板が違うので内容や目的はまったく違うと思いますよ

    183 = :

    >>180
    ES5の質問しかないように見えるけど、どの辺が問題?

    184 = :

    <div id="P">
       <div class=a>aaa</div>
       <div class=b>bbb</div>
    </div>

    $('#a').click.(function(){
      クリックしたaと同じ要素内にあるid=bのhtml
    }
    とやりたいのですがprentやthisの指定が上手くいきません
    本当に初歩的な質問ですみません

    185 = :

    失礼します。
    jQueryで非同期POSTをする場合このようなサンプルがありますが
    $.post("hoge.php", {"hoge1" : 1, "hoge2": "hoge"}, my_func);

    引数に自分のform要素内のinput要素すべてを一括して送信するにはどうしたらいいでしょうか?
    簡単に言えば普通にsubmitしていたページを非同期で更新したいのです。
    したがってform要素すべてをtargetのURLに送信し、もどってきたhtmlDomを自分自身に適用したいのです。

    ヒントだけでもお願いいたします。

    187 = :

    >>186
    setTimeout(anim_func, 2000, 1);

    188 = :

    俺毎回思うんだけど、処理でsetTimeout(func,1)ってあるけど
    setTimeout(func,0)でよくね?
    俺毎回そうやってるんだけどコレもしかて悪いやり方?

    マウスアウト→マウスオーバーって動作が行われるとき

    var a=1
    マウスアウト{
      a =0
      setTimeout(alert(a),0)
    }
    マウスオーバー{
      a=1
    }

    ってやるとちゃんとaは1になってるし

    190 = :

    >>188
    最小値は仕様で定められていたような

    191 = :

    >>189
    クオートで括ってないから

    194 = :

    なんでそんなトリッキーな書き方してるかわからないが
    HTMLは基本class="class1 class2"って書くのがデフォだから
    そんな書き方やめんしゃい

    気になってチンコムズムズしてるんだろうけど正規じゃない書き方はいつの時代も弾かれる

    195 = :

    >>187
    できました。ありがとう。

    196 = :

    >>188
    それだとsetTimeout使う意味がなくね?

    197 = :

    >>196
    もしも、setTimeoutの中身が無いときと同じような順番で実行されるとしたら
    a=0の直後に実行されるわけだから0がalertされるわけじゃん?
    んでもマウスアウト→マウスオーバーの順番に実行されるような状況下でもちゃんとマウスオーバーのaの値が適応される

    var a=1
    マウスアウト{
      a =0
      alert(アウト)
      setTimeout(alert(a),0)
    }
    マウスオーバー{
      a=1
      alert(オーバー)
    }
    ってやるとアウト→オーバー→1ってなる
    最小値設定されてんのか、そうなんか。処理の優先度だと思ってた

    199 = :

    初歩的な質問すいません。
    var year = 2011;
    var name;
    name = year;
    var nextyear;
    nextyear = name + 1;

    alert(nextyear);

    この結果が20111になるのは何故でしょうか?

    200 = :

    DOMのwindow.nameがstringだからやね


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

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


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