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

    私的良スレ書庫

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

    元スレ[JavaScript]プログラム作成します

    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
    951 : Name_Not - 2010/11/01(月) 22:46:01 ID:??? (-17,-30,-107)
    原因がわかった。
    chrome最新だとDate.parse("1")が数字 かつ  == Date.parse("-1")が trueになるのが問題。
    他のブラウザだとDate.parse("1") = NaN になるけど、Chrome最新だと数字が帰る。
    953 : think ◆b - 2010/11/02(火) 03:42:16 ID:??? (+1,-29,-39)
    >>951
    とても勉強になりました。ありがとうございます。

    Togetter - 「TinyTableV3 のソート実装における文字列比較の問題点」
    http://togetter.com/li/65053
    955 : think ◆b - 2010/11/02(火) 22:14:08 ID:??? (+0,-30,-293)
    >>954

    function cp (f, c) {
     var g, h, i, n;

     f = g = f.v.toLowerCase();
     c = h = c.v.toLowerCase();

     i = parseFloat(f.replace(/[,$]/g, ''));
     n = parseFloat(c.replace(/[,$]/g, ''));

     if (!isNaN(i) && !isNaN(n)) {
      g =i;
      h = n;
     } else {
      i = Date.parse(f);
      n = Date.parse(c);
      if(!isNaN(i) && !isNaN(n)) {
       g = i;
       h = n;
      }
     }
     return g > h ? 1 : (g<h ? -1 : 0);
    }

    Togetterにも書きましたが、これは完全な修正ではありません。
    対象の文字列が数値であれば parseFloat でNumber型の値に変換し、期待通りに動作します。
    しかし、parseFloat で変換できない文字列を Date.parse がどのように扱うかは完全に実装依存です。
    仮に今期待通りに動作しても、今後に渡って期待通りに動作する保証はありません。
    956 : 951 - 2010/11/02(火) 23:41:18 ID:??? (+19,-30,-142)
    >>955
    thinkさんに予想外なところでレスもらってちょっと感動w(オミトロン使用者です。)

    それだとDate.parse("11/2")とかが使えないので、
     if (!isNaN(i) && !isNaN(n)) {
      g = i;
      h = n;
     } else {
      n = i;
     }
     if (n == i) {
      i = Date.parse(f);
      n = Date.parse(c);
      if (!isNaN(i) && !isNaN(n)) {
       g = i;
       h = n;
      }
     }
    とかどうでしょう。
    957 : think ◆b - 2010/11/03(水) 02:26:02 ID:??? (+10,-30,+0)
    >>956
    ああ、なるほど。
    cp({v:'11/2'}, {v:'11/3'}); で 0 を返す(同値と判定する)挙動を回避する措置ですね。
    賢いと思いますが、これは Date.parse に依存してしまう(Dateフォーマットでなければどんな値を返すかわからない)のがちょっと辛いかなあ。
    例えば、cp({v:'11e'}, {v:'11f'}); だと 0 を返してきます。(Date.parse は NaN を返しますが、どんな値が返ってきても文句はいえませんので…)

    思ったんですが、自然順ソートしてくれれば、"Last Access", Birthdate 以外は期待通りの結果になりそうですね。
    日本で扱われる日時に限れば、"11/3", "2010/11/03" というように自然順ソートで対応できるものばかりです。
    どこかに自然順アルゴリズムの仕様が載ってないかなあ…。
    (Array#sort の引数なしの挙動は自然順ソートではないようなので、独自に比較する関数を定義する必要があるようですが。)

    正式にDateフォーマットに対応するなら、"mm/dd/yyyy" とか "A dd, yyyy" の書式を正規表現で定義して、RegExp.prototype.test() で true を返す文字列を探し、Date.parse または Date.UTC() の返り値を比較するのが妥当だと思います。(後者が確実)

    # Proxomitron 最近いじってません。でも、手を付けるなら今まで全く手を付けていないフィルタを作ってみたいですね。擬似的に配列を利用できる仕組みとか。
    958 : think ◆b - 2010/11/03(水) 05:54:14 ID:??? (+3,-30,-53)
    とりあえず、こんな感じで。

    gist: 660141 - natsort.js : 自然順アルゴリズムで配列をソート- GitHub
    http://gist.github.com/660141

    自然順アルゴリズムは負の数を考慮しないようなので、数値比較を行うならもう一工夫必要です。
    959 : 956 - 2010/11/03(水) 09:00:27 ID:??? (+10,-30,-61)
    >>957
    このソートってアルファベットも対応していたんですね。というか"a" < "b"とかが出来ることに(ry
    cp({v:'11e'}, {v:'11f'}); に対応させるだけなら、
    Date.parseしたあとも同様にn==i比較してtrueならg=f;h=c;
    でいいんじゃないでしょうかね。
    数字→日付→文字列比較になってます。
    960 : Name_Not - 2010/11/03(水) 21:50:48 ID:??? (+40,+22,-2)
    誰?
    961 : think ◆b - 2010/11/04(木) 01:20:13 ID:??? (+3,-30,-107)
    >>959
    段々こんがらがってきたので、コードを整形して Ideone.com にまとめてみました。(f.v のプロパティは検証の都合上、外しました)

    Ideone.com | 0S648
    http://ideone.com/0S648

    課題は下記2点。

    ・['rfc1.txt', 'rfc2086.txt', 'rfc822.txt']
    ・['12/01/1981', '02/14/1990', '03/29/1970', '12/02/1962']

    前者は自然順アルゴリズム(>953) によって解決できますが、後者はやや面倒ですね。
    962 : Name_Not - 2010/11/10(水) 13:45:59 ID:??? (+3,-29,-46)
    http://192.168.0.1/等のウィンドウズセキュリティでIDとPASSを聞いてくるようなサイトに最初から指定したID、PASSを渡して開くことは可能ですか?
    ID = "root"
    PASS = ""
    を引数として開く、みたいな。
    963 : Name_Not - 2010/11/13(土) 19:54:54 ID:??? (+62,+29,-95)
    JQueryのアコーディオンを使ってナビゲーションメニューを作り、
    上から3番目のアコーディオンを開いて、そこからのジャンプ先のページには
    1,2,3…とページネーションがあって、1番目のページから2番目のページ
    3番目のページと飛んだ時にも上から3番目のアコーディオンが開いたままってのは出来ますか?
    967 : Name_Not - 2010/11/16(火) 06:13:09 ID:??? (+3,-29,-53)
    すいません自分で作ろうとしたんですが行き詰まっています
    どなたかお願いします
    こういうものです

    任意の数字XとYとZを入力し
    まずXの255までの倍数にYを足して

    その255個の数字それぞれをZで割り、その余りを255個表示する
    というものです

    よろしくお願いします
    968 : Name_Not - 2010/11/16(火) 12:16:27 ID:??? (+3,-30,-82)
    145 名前:Name_Not_Found[] 投稿日:2010/11/12(金) 20:46:35 ID:gQA2QT2F
    すいません
    特殊な電卓を作りたいと思っています

    どういうものかというと
    任意の数字XとYを入力し
    まずXの99までの倍数を99個表示し

    その99個の数字それぞれをYで割り、その余りを表示する
    というものなんですが可能でしょうか
    969 : Name_Not - 2010/11/16(火) 19:11:48 ID:??? (+46,+23,-13)
    頓挫しました^^
    970 : Name_Not - 2010/11/17(水) 12:16:01 ID:??? (+52,+29,+0)
    かんたんです。
    次どうぞ!
    972 : Name_Not - 2010/11/22(月) 16:28:14 ID:??? (-2,-30,-41)
    JavaScriptでExcelのドキュメントを生成してみた - muddy brown thang
    http://d.hatena.ne.jp/moriyoshi/20090125/1232877958
    973 : Name_Not - 2010/12/03(金) 21:39:55 ID:??? (+15,-17,-71)
    メインサイトに過去の更新履歴的なスペースを設けます。
    メインサイトとは別に作ったブログがあります。
    記事タイトルと日付だけをメインサイトの更新履歴スペースに表示するようなものは作れますか?

    googlefeedapiでいいじゃんって言われればそれまでなんですが、javascriptとかphpのみでいけたら
    いいなぁと思っています。


    974 : Name_Not - 2010/12/05(日) 18:07:27 ID:??? (+7,-30,-218)
    javascript:
    document.cookie="nicohistory=;path=/;domain=nicovideo.jp;";
    ml='watch/'+Video.v;sl='api/getflv/'+(Video.v+'\x3f').replace(/nm.*/,"$&as3=1&")+'ts='+(new Date()-7999);
    sb=function(ul){new Ajax.Request(ul,{method:'get'})};
    me=function(ul,ue){new Ajax.Request(ul,{method:'get',onSuccess:function(h){sb(ue)}})};
    me(ml,sl);
    void(0);
    このスクリプトを8秒ごとに30回実行させてその後45秒休むことを繰り返すスクリプトを作ってください
    975 : Name_Not - 2010/12/05(日) 18:24:11 ID:??? (+50,+27,-2)
    迷惑だからやめろ
    976 : Name_Not - 2010/12/05(日) 18:58:02 ID:??? (+46,+28,-1)
    工作はすんな
    977 : Name_Not - 2010/12/05(日) 19:15:38 ID:??? (-1,-29,-16)
    >>974
    マルチポスト

    スクリプト | OKWave
    http://okwave.jp/qa/q6364752.html
    978 : Name_Not - 2010/12/06(月) 11:12:31 ID:obQ151ay (+24,+29,-25)
    http://www.codingforums.com/archive/index.php/t-126189.html
    このテーブルセルをマージするスクリプトを
    もう少し短く簡潔に修正して欲しいです。
    よろしくお願いします
    979 : 被リンクサービス - 2010/12/06(月) 11:57:14 ID:pp3iHreT (-25,+29,-9)
    被リンクサービスはこれらの業者を掛け持ちするのがベスト!
    http://hibari.2ch.net/test/read.cgi/hp/1291304974/43
    980 : Name_Not - 2010/12/09(木) 11:03:25 ID:??? (+3,-30,-132)
    jQueryでulリストの子要素aにマウスオンすると
    ulに「マウスオンしたa要素のクラス名+On」というクラス名が付くものを作りました

    $('#ImgMapList a').hover(
    function () {
    var class = $(this).attr("class");
    $(this).parents().eq(1).addClass( class + "On");
    },
    function () {
    var class = $(this).attr("class");
    $(this).parents().eq(1).removeClass( class + "On");
    })
    981 : つづき - 2010/12/09(木) 11:11:13 ID:??? (+8,-30,-56)
    これはulに背景画像を設定しマップリンクのようにして、
    その後マウスオンしたa要素に応じて背景を変化させるためのものです。

    不格好ではありますが、一応これで動いているので良しとします。
    ただ、使いたいところが他にも幾つかあるので、できれば>>940のように

    $(function(){
    setImgMap($('対象の要素'), eqの値);
    });

    という感じでモジュール化というか、
    複数をもっと簡単に設定できればなぁと思いまして…どなたかお願いします
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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