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

    元スレ+ JavaScript & jQuery 質問用スレッド vol.5 +

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

    551 = :

    jQuery 使ってんのに速い遅いなんかいちいち気にすんなよ

    553 = :

    >>540
    使いまわしてもいいけど、ほとんど効果はないと思ったほうがいいよ。
    変数が増えて管理がめんどくさくなるデメリットのほうが上回る。

    通常はメソッドチェーンでやればいいから、同一関数内で変数に入れる必要はない。
    関数がわかれた場合は、それはイベントの違いだろうから、
    そのイベント関連の(内部の)コードでボトルネックになるだろうからやっても体感できない。

    ということでお薦めしない。やるならベンチマークしてから
    どれだけ効果があるかを調べてからにすること。
    この時○倍速くなったか?ではなくて○秒速くなったかを考えること。
    10倍速くなっても、実際には1ms速くなるだけだったらやる価値ないでしょう?

    554 = :

    60FPS出すには一回の描画を18msに抑える必要がある
    そんな中での1msは馬鹿に出来ないと思うが?
    価値なんて一律に決めれるわけ無いだろ

    555 = :

    >>554
    めんどくせーやつだな。
    60FPSが必要なゲームならそもそもDOMは使わねーよ。

    そもそも1msは例えばの話だ。

    実際の話をしたいなら、実際にはどれだけ時間がかかるか
    調べてからにしろ。

    jsPerf死んでるんだな。なんか適当なサイトがあったから貼り付け
    http://jsrun.it/kyo_ago/oTns
    > $('div#hoge') * 1000 = 16ms
    > $('#hoge') * 1000 = 3ms
    > $('div.hoge') * 1000 = 11ms
    > $('.hoge') * 1000 = 10ms

    この結果を持って訂正するわ

    10倍速くなっても、実際には3マイクロ秒、速くなるだけだったらやる価値ないでしょう?

    557 = :

    計算じゃないだろ常識的に考えて

    559 = :

    ソース見りゃわかるだろ

    560 = :

    JSも一応、型の考え方あるしな

    561 = :

    function func(){
    func();
    }
    のように再帰的に実行すると何か問題有りますか?

    562 = :

    問題の出る内容でなければない

    563 = :

    >>561
    それを実行したら問題があることに気づくと思うよ

    564 = :

    >>561

    無限ループな件w
    スタックオーバーフローwwwwwwwwwww

    565 = :

    ネタにマジレスか、、、

    566 = :

    スタックって100回くらいの再帰なら大丈夫?

    567 = :

    もっと回しても大丈夫だよ

    568 = :

    Promiseで
    p1()
    .then(p2)
    .then(p3);
    だと三つ実行して終わりますが、これを
    p3が終わったら再びp1に行くような記述は可能ですか?
    ようするにグルグルとループしたいんです。
    やり方を教えて下さい。

    569 = :

    >>568
    それは無理だろ

    570 = :

    >>560
    > JSも一応、型の考え方あるしな

    どんな言語でもオブジェクト(値)自体に型はあるよ。

    型があるか無いかって話は、変数自体(中身ではなく)に
    型情報があるかどうかって話。

    JavaScriptは変数自体には型がない。

    571 = :

    >>568
    while{ p1(); }

    単純に、p1を無限ループすれば?
    p1を呼べば、p2, p3も呼ばれるのでしょ?

    573 = :

    >>570
    型がないという型がある。

    574 = :

    >>573
    JavaScriotには無い。

    575 = :

    >>571
    それだと
    p2やp3を実行中に二回目のp1を実行してしまうんじゃない?

    576 = :

    全体を関数でくるんで、.then(p3)の次に.then(それ)って呼べばどう?

    578 = :

    >>576でいいじゃん

    579 = :

    >>578
    その場合、その全体をくるんだ関数はどうやってresolveやrejectを返せばいいの?

    580 = :

    function p1loop(){
    var result;
    while(result = p1()){
    p2();
    p3();
    }
    return result;
    }

    用途が不明すぎる上にそんな変な組み方なんて誰もしないだろうから、別の手段ありそうなんだよなぁ

    581 = :

    >>579
    普通の関数の場合は、その時点で実行されるんやで

    http://jsfiddle.net/y4xzp24L/

    jQueryのDeferred/Promiseでも同じはず(未確認)

    582 = :

    >>581
    これが問題なく動く。

    p(1)
     .then(r)
     .then(f)
     .then(function(i) { return i + 1})
     .then(i => i+1) // ES6の書き方
     .then(p);

    function p(i) {
     return new Promise(function(resolve) {
      console.log(i);
      resolve(i+1);
     });
    }
    function r(i) {
     console.log(i);
     return Promise.resolve(i+1);
    }
    function f(i) {
     console.log(i);
     return i+1;
    }

    これがPromiseの設計の素晴らしさで、r()またはf()が、Promiseを返すかどうかに関係なく
    つまり内部の実装に関係なくthenでつなげていけるんだよ。

    これによって、開発中はダミーで値を返すけど、最終的にはAjaxでデータを取り行く。
    なんてことも、スムーズに書き換えることが出来る。

    583 = :

    5回のリトライ処理。もう少しシンプルに書ける?

    process();
    function process(i = 0) {
     if (i < 5) {
      console.log('retry ' + i);
      p().then(() => i+1).then(process);
    }
    }

    function p() {
     return new Promise(function(resolve) {
      setTimeout(function() {
       resolve();
      }, 1000);
     });
    }

    584 = :

    条件としては、p()関数の中は
    一切手を入れないこと。

    591 = :

    ていうか js で何したいの

    592 = :

    jsで何かをしているサイトなら
    いくらでもあるだろう。

    それらをやるためにjsが必要なだけ。

    593 = :

    scrollY = $(window).scrollTop();

    $("body").css({position:"fixed",top:-scrollY});

    $("'.modal-graylayer").fadeIn();

    iPhoneのサファリで要素をタッチした時に
    ページのスクロールを固定してモーダルを表示したいのですが
    2行目の固定の処理の時にスクロールの位置が0の時以外
    fixedで固定表示されている別の要素が一瞬消えて背景が見えてちらつきのようになります
    動作は問題ないですが見苦しいので消えないようにしたいのですが
    対応の仕方がわかる人いませんでしょうか?
    スクロール位置が0で完全に一番上にいる時はfixed表示されている要素もちらつきません

    594 = :

    button内にあるtextを変更したいのですが、変更されません。
    removeClassやaddClass、ajax処理などはきちんと動作しているのですが、
    どうしてもtextだけは変更されないのです。

    ヒントっぽいのが、atomではremoveClassやaddClassが白色文字なのに対して、
    textがオレンジ色文字になっていることです。


    ○部分抜粋↓
    $('#request-form').submit(function(event) {
    var $form = $(this);
    var $button = $form.find('button');

    //ajax処理...

    $button.removeClass('btn-success');
    $button.addClass('btn-primary');
    $button.text('テキスト変更');

    .....
    <form class="form" id="request-form" method="POST" action="hoge">
    <div class="form-group">
    <button type="submit" class="btn btn-primary">
    <span class="glyphicon glyphicon-user" aria-hidden="true"></span>申請する
    </button>
    </div>
    </form>

    595 = :

    >>594
    デベロッパーツールを使えばわかる

    596 = :

    セレクターで ".hoge .piyo" と ".hoge > .piyo" の使い分けがよくわからない
    親子と子孫って何が違うんだろう

    597 = :

    >>596
    <foo class="hoge" id="a">
     <foo class="piyo" id="b">
      <foo class="piyo" id="c">
       <foo class="piyo" id="d">
        <foo class="piyo" id="f">
        </foo>
       </foo>
      </foo>
     </foo>
     <foo id="g">
     </foo>
    </foo>

    前者ならhogeの子孫だから、bcdfgを取得する
    後者はhogeの子だけだからbgだけを取得する
    後者ならhogeの子だけだからb

    598 = :

    親子と子孫は違うだろ、、、

    599 :

    日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!!
    「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」
    などと自殺教唆を公然と行った!! その結果人が死んだ!!
    丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に
    「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」
    と発言するのと同じレベルだ!!
    しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ
    どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」
    などとイカ様気取りも大概にしろという発言を行った!!
    抗議先 日本マイクロソフト人事本部 西川昌邦
    メール:masaikaw●microsoft.com
    (●を@に置き換えて)
    電話:09025411718

    600 = :

    <ul>
    <li class="a">1</li>
    <li class="a">2</li>
    <li class="a">3</li>
    <li class="b">4</li>
    <li class="b">5</li>
    <li class="b">6</li>
    </ul>



    <ul>
    <li class="b">4</li>
    <li class="b">5</li>
    <li class="b">6</li>
    <li class="a">1</li>
    <li class="a">2</li>
    <li class="a">3</li>
    </ul>

    のように.aと.bの位置を入れ替えたいのですが
    $('.a').insertAfter($('li').last());
    だと<ul>~</ul>が複数あると処理が延々続いてしまいます。
    複数の<ul>それぞれの中で、それぞれ.aと.bを
    入れ替えるにはどうしたらいいでしょうか?

    ・<li>の数は各<ul>で様々です。
    ・各<ul>で、.aと.bの数は同じです。.aが4行なら.bも4行です。
    ・全<ul>で、クラスは.aと.bだけです。

    よろしくお願いします。


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

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


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