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

    私的良スレ書庫

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

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

    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 - 2009/12/30(水) 19:48:11 ID:??? (+3,-30,-103)
    innerWidthが0のとき
    DOM1なら必ず存在するdocumentElementをチェック
    そして互換モード時は0になり、この場合は標準モード時でも0であろう
    documentElement.clientWidthを見て
    フォールバックとしてDOM0でも存在が怪しいbody.clientWidthを見て終了

    いやはや
    652 : Name_Not - 2009/12/30(水) 21:05:35 ID:??? (+31,+8,-12)
    質問じゃないな。
    653 : Name_Not - 2009/12/31(木) 02:09:07 ID:??? (+23,-30,-86)
    http://developer.apple.com/jp/documentation/ScriptingAutomation/Conceptual/JSCodingGuide/OOJavaScript/chapter_4_section_3.html#//apple_ref/doc/uid/TP40006088-CH4-SW1

    ここのページにnewとdeleteはセットで使う必要があるみたいなことが書いてあるんだけど
    少なくともsafariではこれに倣って必ずやらないといけないのかな
    それともただ単にいらないものは几帳面に消しておくということなのか
    654 : Name_Not - 2009/12/31(木) 02:39:59 ID:??? (+34,+3,-31)
    >>653
    どっちでもいい
    プロパティ名を残した方が JIT コンパイラによる最適化が働く場合もある。気がする
    655 : Name_Not - 2009/12/31(木) 12:21:57 ID:??? (+3,-29,-69)
    計算についての質問なのですが、
    足し算で、2つのフォームから数字を入力してjavascriptで自動計算して足し算するとして、
    1+1のように入力すればいいのですが、1+001 などと0を付けて書かれた場合にうまく計算されなくなってしまいます。
    こういうものはどのようにして対処すればいいのでしょうか。
    656 : Name_Not - 2009/12/31(木) 12:34:49 ID:??? (+15,-29,-21)
    今やって見たら001は大丈夫そうだったので訂正
    0101+1のような場合です、番号のように書かれてしまった場合にズレるのをどう直したらいいでしょうか
    657 : Name_Not - 2009/12/31(木) 14:58:22 ID:KnfjwU1v (+26,+29,-10)
    >>656
    まず、そのような期待する数値以外の入力をどう処理したいのか決めないと。
    658 : Name_Not - 2009/12/31(木) 16:25:36 ID:??? (-6,-29,-1)
    8進数→10進数
    659 : Name_Not - 2009/12/31(木) 19:25:47 ID:??? (+11,-29,-137)
    んーと・・・
    最初の0を取り除いて、「計算させたい」です
    10進法になってないところを10進法にしたいです
    0101+1なら101+1の102にしたいです
    0010などと入力されても10として計算できるようにしたいです

    うまい対処の仕方を知りたいのです
    「最初に0を入力させない」や「数字を選択方式にする」以外の方法がいいです
    0は自由に入力されてしまうとして、ベストだと思う解決法を教えてください
    660 : Name_Not - 2009/12/31(木) 19:31:36 ID:??? (+8,-29,-19)
    >>659
    正規表現で先頭の0を探して、replaceで削除
    661 : Name_Not - 2009/12/31(木) 19:37:53 ID:??? (+3,-30,-30)
    >>659
    parseInt("0101", 10)で101になる
    662 : 660 - 2009/12/31(木) 19:44:34 ID:??? (+52,+29,-1)
    すまん、そっちのほうがよさそう
    663 : Name_Not - 2009/12/31(木) 20:35:28 ID:??? (-1,-30,-12)
    >>661
    Number("0101") -> 101
    664 : Name_Not - 2009/12/31(木) 22:49:00 ID:??? (+57,+29,-15)
    脳内インタープリターがそうはならないと言っている
    665 : Name_Not - 2010/01/01(金) 21:54:59 ID:??? (-1,-29,-3)
    >>> 034
    28
    >>> Number(034)
    28
    >>> Number("034")
    34
    666 : Name_Not - 2010/01/02(土) 10:17:17 ID:??? (+13,-9,-33)
    正規表現と置換で済ますのはカスだろ
    667 : Name_Not - 2010/01/02(土) 15:51:25 ID:??? (+7,-30,-42)
    これをもっとスマートに短く書くにはどうすればいいですか?

    var URL = window.location.pathname.match(/(.*?)\//g);
    URL = thisURL[thisURL.length-1];
    668 : Name_Not - 2010/01/02(土) 15:54:19 ID:??? (+3,-30,-102)
    途中で送信してしまいました。
    これをもっとスマートに短く書くにはどうすればいいですか?

    var URL = window.location.pathname.match(/(.*?)\//g);
    URL = thisURL[thisURL.length-1];

    var file = window.location.pathname.match(/([^\/]+?)$/);

    str = URL + file;
    alert(str);
    669 : Name_Not - 2010/01/02(土) 15:55:44 ID:??? (-1,-29,-13)
    たびたびすみません

    URL = URL[URL.length-1];

    です...
    670 : Name_Not - 2010/01/02(土) 16:16:35 ID:??? (+3,-30,-85)
    ht~aa/bb/cc/dd
    →cc/ddってこと?
    var u = window.location.pathname.match(/[^\/]+/g);
    str = u[u.length-1] +'/' +u[u.length]

    というか、window.location.pathname.match(/([^\/]+\/[^\/]+)$/);
    使い方がわからんが。
    671 : Name_Not - 2010/01/02(土) 16:17:33 ID:??? (+2,-30,-19)
    "aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]
    672 : Name_Not - 2010/01/02(土) 17:17:49 ID:??? (-1,-30,-42)
    alert(window.location.pathname.split('/').slice(-2).join('/'));

    とりあえず>>671でいいんじゃね?
    673 : Name_Not - 2010/01/02(土) 20:55:07 ID:??? (+57,+29,+0)
    みなさまどうもありがとうございました。勉強になりました。
    674 : Name_Not - 2010/01/02(土) 21:08:54 ID:??? (-1,-30,-46)
    >>667
    parseInt(eval(thisURL=@,[[0],[1]]),false);
    675 : Name_Not - 2010/01/03(日) 20:22:19 ID:??? (+3,-30,-55)
    "aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]

    これって、ddd 取り出すときは
    "aaa/bbb/ccc/ddd".match(/[^\/]+$/)[0]

    ですよね?
    /ccc/
    を取り出すにはどうすればいいの?
    676 : Name_Not - 2010/01/03(日) 20:31:13 ID:??? (-2,-30,-38)
    "aaa/bbb/ccc/ddd".match(/(\/[^\/]+\/)[^\/]+$/)[1]

    [ 正規表現 match ] ・  [ 配列 javascript ]
    でそれぞれググるよろし。
    677 : Name_Not - 2010/01/03(日) 20:51:38 ID:??? (+0,-27,-29)
    どーもです!
    実は[1]にしたらundeだったんで質問しますた
    もっかいやりまーす
    678 : Name_Not - 2010/01/03(日) 21:08:33 ID:??? (+46,+28,+0)
    まずぐぐれよw
    679 : Name_Not - 2010/01/03(日) 21:23:09 ID:??? (+19,+1,+0)
    スルー笑
    680 : Name_Not - 2010/01/04(月) 22:45:16 ID:aj/XS+wl (+24,+29,-27)
    JavaScriptの勉強がしたいのですが、どの本がおすすめですか?
    C言語は知っています。作りたい具体的なプログラムはありません。
    681 : Name_Not - 2010/01/04(月) 22:58:10 ID:??? (-1,-29,-21)
    読んだ中では head first javascript
    http://www.amazon.co.jp/dp/4873113733

    ただ ``作りたい具体的なプログラムはありません。'' ってのがjs学ぼうって奴にしては珍しいな
    682 : Name_Not - 2010/01/05(火) 13:33:41 ID:??? (+16,-1,+0)
    宣伝きめえ
    683 : Name_Not - 2010/01/05(火) 22:37:05 ID:??? (+7,-30,-173)
    document.TxtArea.myText.value += "("+day[cnt2]+")"+hour+":"+min+"\n";

    上記の最後の改行部分 \n" を消して改行しないようにしたいのですが \n"を消すと動作しなくなりました。
    上記は計算したものを表示するテキストエリアに表示させる部分なのですが、なぜかこの後に記述した
    ここに表示された文字をコピーさせるボタンも動作しなくなります。

    何がしたいかと言うとこのままだと表示に改行が入り、コピーした場合1行しか貼り付け出来ない所に
    貼り付けると3行あっても1行しか貼り付けられないのを回避したい為、表示の時点で改行を消し1行にしたいのです。
    よろしくお願いしまっす。
    684 : Name_Not - 2010/01/05(火) 22:45:40 ID:??? (+32,-29,-13)
    >>683
    消すなら +"\n"

    次に質問することがあったらもうちょっとレベルあげてからきてくれ
    685 : Name_Not - 2010/01/05(火) 22:49:42 ID:??? (+18,-9,-15)
    文字列と変数についてもう一度ググッてくれば良いんじゃない。
    \n"を消すとその後も動かなくなるのはそこでルール違反しているから。
    686 : Name_Not - 2010/01/06(水) 00:13:17 ID:??? (+62,+29,-27)
    >>684-685
    出来ました!本当にありがとうございます。
    レベルが低いのはすみません、昨日始めたばかりで調べてもさっぱりでした。
    精進しまっす!
    688 : Name_Not - 2010/01/06(水) 02:50:11 ID:??? (-2,-30,-24)
    overflowをhiddenでいいんでないの?
    CSSだけど
    689 : Name_Not - 2010/01/06(水) 09:30:31 ID:??? (-1,-29,-27)
    CSSの独自プロパティtext-overflowを標準化したいってことじゃないかな
    690 : Name_Not - 2010/01/06(水) 16:35:49 ID:??? (+24,+6,+0)
    日本語でおk
    691 : Name_Not - 2010/01/06(水) 22:15:52 ID:??? (-2,-30,-51)
    createElementでdiv作って100px超えないようにvariableを調整したあとに
    width:100px;は最後に設定するとかっていうのはどうだろうか
    692 : Name_Not - 2010/01/06(水) 22:44:24 ID:??? (+2,-30,-111)
    jsで埋め込むと何故かtezt-overflowが効かないな。<nobr>で囲ったような表示になる。
    <span style="margin:0 0 0 10px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; width:100px;">~~</span>
    693 : Name_Not - 2010/01/06(水) 23:33:58 ID:??? (+2,-29,+0)
    >>692
    tezt-overflow
    694 : Name_Not - 2010/01/06(水) 23:40:23 ID:??? (-1,-29,-30)
    >>693
    あ、typow
    JSに使った部分は2行目のコピペだから問題ないはず。
    んで、動かないのは埋め込んだサイトが原因っぽいかも?
    695 : 687 - 2010/01/06(水) 23:52:56 ID:1m8if9ga (+6,+29,-33)
    cssで解決すべき問題だったんですね。
    すれ違いの質問に有り難うございます、やってみます。
    696 : Name_Not - 2010/01/07(木) 00:40:13 ID:??? (+25,-30,+0)
    もう用なしっぽいけど、書いちゃったし。。。

    var AnyWidth = (function () {
     var getWidth = function (txt) { //txt幅を返す(プライベート関数)
      var n = 0, body = document.body;
      if (body) {
       var d = document.createElement("div"), t = document.createTextNode(txt);
       d.appendChild(t); d.style.visibility = 'hidden';
       d.style.position = 'absolute'; d.style.whiteSpace = 'nowrap';
       body.appendChild(d); n = d.clientWidth; body.removeChild(d);
      }
      return n;
     }
     return {
      getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
       var str = "";
       if (!getWidth(txt) || getWidth(txt) < w) { str = txt; }
       else {
        for (var i = txt.length; i >= 0; i--) {
         var s = txt.substring(0, i) + "...";
         if (getWidth(s) <= w) { str = s; break; }
        }
       }
       return str;
      },
      createElm: function (tag, txt, w) { //w幅に収まるtxtを持つw幅のtag要素を生成して返すメソッド
       var d = document.createElement(tag), t = document.createTextNode(AnyWidth.getStr(txt, w));
       d.appendChild(t); d.style.width = w + "px";
       return d;
      }
     }
    })();
    697 : Name_Not - 2010/01/07(木) 00:40:59 ID:??? (+4,-30,-254)
    >>696続き

    <body>
    <script type="text/javascript">
    var variable = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    document.write("<div id='test'>" + AnyWidth.getStr(variable, 100) + "</div>");

    //createElmメソッド使用例
    var testElm = document.getElementById("test");
    var elm = AnyWidth.createElm("div", variable, 200);
    testElm.parentNode.appendChild(elm);
    alert("test " + testElm.clientWidth + "px / hoge " + elm.clientWidth + "px");
    </script>
    </body>

    body要素認識後でないと使えない。
    エラは吐かないけど、渡した文字列をそのまま返す。
    大量の文字列は適当に削って渡さないとかなり重い:-(
    698 : Name_Not - 2010/01/07(木) 01:22:18 ID:??? (+43,+14,-6)
    >>695
    CSSでは解決できない問題だから↑の人が書いてくれたのを使いなさい
    700 : Name_Not - 2010/01/07(木) 02:09:56 ID:??? (+15,-12,+0)
    "..." に置換 が一番面白いとこなのに
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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