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

    私的良スレ書庫

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

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

    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
    701 : Name_Not - 2014/08/18(月) 11:41:11.19 ID:???.net (-28,-16,-12)
    ようこそ
    702 : Name_Not - 2014/08/18(月) 12:39:06.29 ID:???.net (-16,+29,-59)
    http://peace.2ch.net/test/read.cgi/hp/1400313626/
    なんでこんなスレがあるのに追い出したがってjQueryスレにしたがるの?
    乱立って他のスレ7.8レスしかない頭のおかしい人が立てたスレってすぐわかるのに
    703 : Name_Not - 2014/08/18(月) 12:39:44.17 ID:???.net (+22,+29,-3)
    皮肉が伝わらないとは
    704 : Name_Not - 2014/08/18(月) 12:57:39.86 ID:???.net (+35,+30,-113)
    >>702
    そこはjQuery以外をここに誘導する作為的なスレ
    そこをまともと思っているなら君も相当おかしい
    もしくは、君はjQuery以外をここに誘導したいの?

    まともな人ならライブラリ総合スレに誘導すると思うけどね
    プログラム板誘導者はまともじゃないからjQuery以外の書き込みを追い出したいか、
    jQuery信者がこのスレにいる事を諦めて他をプログラム板に誘導しているか、のどちらかでしょう
    705 : Name_Not - 2014/08/18(月) 13:21:14.69 ID:???.net (+37,+29,-60)
    >>704
    jQueryで検索しただけでそこまで事情知らないしw
    vol4までいってんだからそれなりに繁盛してるんだろう程度にしか思ってない

    ム板に誘導してるのはローカルルール無視してるアホ
    706 : Name_Not - 2014/08/18(月) 13:23:10.31 ID:???.net (+33,+29,-24)
    >>705
    誘導するならスレッドの内容をよく読んだほうが良いよ
    小さな行為が余計な火種を生むからね
    707 : Name_Not - 2014/08/18(月) 16:35:08.48 ID:RH5yWiUcm (+8,+23,-1)
    だね
    708 : Name_Not - 2014/08/18(月) 16:38:04.74 ID:???.net (+32,+29,-30)
    イベントをデレゲートすると速くなるといいますが
    既にデレゲートして付けるイベントハンドラの数も相当なものになっています
    やはりデレゲートしている場合でもイベントハンドラの削減に努めるべきでしょうか?
    709 : Name_Not - 2014/08/18(月) 16:44:27.02 ID:???.net (-13,-22,-32)
    たとえばドロップダウンごとに
    "#hoge a"のようなセレクタでクリックハンドラを設定しているのですが
    ドロップダウンアイテムのクリックを受けるハンドラをひとつ設定して
    その先でドロップダウンを判定し、分岐した方がいいんじゃないか
    と思ってきました
    皆さんはどうやっていますか?
    711 : Name_Not - 2014/08/19(火) 04:50:53.30 ID:???.net (-27,-30,-66)
    offsetWidth/Height=コンテンツ+パディング+ボーダー
    clientWidth/Height=コンテンツ+パディング
    ということは分かりましたが、コンテンツのサイズを取得するにはどうしたらいいですか?
    712 : Name_Not - 2014/08/19(火) 05:17:38.47 ID:???.net (+26,+29,-22)
    >>709
    原則として「無関係なコードを混ぜるな」に従えば良い
    715 : Name_Not - 2014/08/19(火) 17:39:33.80 ID:???.net (-29,-30,-188)
    clientWidth/HeightはjqueryのinnerWidth/Heightと同じと思いきや
    スクロールバーがある時はその領域を含まないと分かりました
    jqueryのinnerWidth/Height、width/heightと同等機能を実現するには
    offsetWidth/Heightからパディングとボーダーを減算して算出するしかないと思われます
    この認識はあってますか?
    717 : Name_Not - 2014/08/19(火) 21:38:46.69 ID:???.net (-27,-30,+0)
    // Get document width or height
    if ( elem.nodeType === 9 ) {
    doc = elem.documentElement;

    // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
    // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
    return Math.max(
    elem.body[ "scroll" + name ], doc[ "scroll" + name ],
    elem.body[ "offset" + name ], doc[ "offset" + name ],
    doc[ "client" + name ]
    );
    }

    return value === undefined ?
    // Get width or height on the element, requesting but not forcing parseFloat
    jQuery.css( elem, type, extra ) :

    // Set width or height on the element
    jQuery.style( elem, type, value, extra );
    }, type, chainable ? margin : undefined, chainable, null );
    };
    });
    });
    718 : Name_Not - 2014/08/19(火) 22:18:07.10 ID:???.net (+27,+29,-31)
    jqueryのソースですか
    これを見ても何をしているのか正直よく分かりません
    分かる人教えて下さい
    719 : Name_Not - 2014/08/20(水) 00:27:58.04 ID:???.net (-23,-30,-193)
    displayがnoneの時はoffsetWidthが0になるのに気付きました
    しかしjqueryでは計測可能です
    visibilityをhiddenにしてから、displayをnone以外にして
    計測後、また元に戻す
    みたいなことをしていると思われます
    ですが、displayが非noneの時のdisplayはどうやったら分かるのでしょうか?
    style属性にnoneを直接指定している場合、style.display=''とやればいいでしょうが
    cssが適用された結果noneになっている場合は難解だと思われます
    720 : Name_Not - 2014/08/20(水) 00:45:06.46 ID:???.net (+10,+15,-13)
    >>719
    いい加減うざい。
    jQueryのソースコード嫁と言ってる。
    721 : Name_Not - 2014/08/20(水) 00:56:09.13 ID:???.net (+27,+29,-14)
    このままjQueryの話でもしましょうか?
    722 : Name_Not - 2014/08/20(水) 00:56:38.40 ID:???.net (+27,+29,-10)
    分からないからと言って不快になられても困りますね
    たしかにこれは難問なのですが
    723 : Name_Not - 2014/08/20(水) 01:02:22.88 ID:???.net (+27,+29,-18)
    この人には理解できないし、今後も理解できないだろう
    トライアンドエラーも仕様書を読むことも質問の仕方も知らない人は素直にライブラリを使っておくべき
    724 : Name_Not - 2014/08/20(水) 01:05:01.34 ID:???.net (-29,-30,-191)
    まず一二行目

    // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
    jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {

    height系とwidth系にそれぞれ同じ処理をしている所から
    heightとwidthは高さと幅の違いだけで同じように求めることができることがわかる。
    725 : Name_Not - 2014/08/20(水) 01:10:33.91 ID:???.net (+33,+30,-56)
    どうせ解説してもまた別の場所で躓いてすぐに泣きつくに決まってる
    調べ方を覚えないとどうしようもないが、自分で試して挙動を確認するとか仕様書を読むとか、
    この人は面倒くさいことは自分でしないのでどうしようもない
    726 : Name_Not - 2014/08/20(水) 01:13:35.93 ID:???.net (+21,+28,-3)
    おまえら親切だな
    727 : Name_Not - 2014/08/20(水) 01:23:31.10 ID:???.net (+33,+30,-104)
    > たしかにこれは難問なのですが
    本当に難問か?
    jQueryと同等機能を実現するにはjQueryのコードを読むだけでいい
    他人のコードを読むのは時間がかかるが、足がかりがある以上、先は見えてる
    本当の難問はどこから手をつけて良いか分からないものだと思うが
    728 : Name_Not - 2014/08/20(水) 01:28:43.81 ID:???.net (-20,-30,-169)
    #test {
    height: 32px;
    }

    $('#test').hide();
    console.log($('#test').height());

    このコードをjqueryで実行すると32になりますが
    jquery互換で名高いzepto.jsで実行すると0になります
    zeptoの作者もこの問題に気付いていないのでしょう
    表示する前にサイズを知りたい、ということはあるので、決して些細な問題とは言えませんが、
    解決は難解
    S級問題です
    732 : Name_Not - 2014/08/20(水) 03:25:17.84 ID:???.net (-21,-30,-129)
    難解さにくじけそうになりましたが
    domdashとjqueryのhasClassを100万回ループさせると
    domdash: 540.000ms
    jquery: 5596.000ms
    と約10倍の差があるので、方向性は間違ってないですよね
    733 : Name_Not - 2014/08/20(水) 04:33:11.99 ID:???.net (+34,+29,+0)
    >>732
    大間違い。
    理由はいわん。
    734 : Name_Not - 2014/08/20(水) 05:17:11.82 ID:???.net (-26,-30,-235)
    jqueryの処理をデバッガで追っていき、確認したところ
    ブロック要素であろうとなかろうと、
    display: block;
    position: absolute;
    visibility: hidden;
    を一時的に設定して計測していました
    それを真似したところ、インライン要素でもjqueryと同じ値が取れました
    つまり非none時のdisplayを知る必要などなかったのでした。
    しかしブロック要素以外の要素を絶対配置のブロック要素に変換しても
    サイズが変わらないのは、妙な気がします。
    jqueryがそうしているので、そうなるのでしょうが、
    何故そうなるんでしょう?
    要素の種類は表示のされ方も変える気がするのですが・・
    735 : Name_Not - 2014/08/20(水) 05:18:37.42 ID:???.net (+31,+29,-7)
    >>733
    なんで理由言わないんですかw
    説得力ゼロと言わざるを得ませんね
    738 : Name_Not - 2014/08/20(水) 06:21:04.16 ID:???.net (+27,+29,-1)
    >>733
    理由いえねーのかよwwwwww
    739 : Name_Not - 2014/08/20(水) 08:56:16.10 ID:???.net (+21,+28,-4)
    そんなに理由が知りたいのか?w
    740 : Name_Not - 2014/08/20(水) 09:51:51.22 ID:???.net (+29,+29,-29)
    >>728
    仕様書とコード読めば解決できる問題は難解とはいわん
    おまえにとって難問なだけ

    >>734
    おまえ仕様書をまともに読んだことないだろ
    CSSの勉強をやり直せ
    741 : Name_Not - 2014/08/20(水) 11:12:47.20 ID:???.net (+17,+29,-18)
    >>737
    DOM含んでおいて純粋JSとかばっかじゃねーの?
    742 : Name_Not - 2014/08/20(水) 13:42:10.06 ID:???.net (+31,+29,-59)
    >>740
    結局のところjqueryの作者ですら実現不可能で、妥協するしかなかったのですから
    十分難解だと思いますが?
    問題を把握出来ていないと言わざるを得ませんね
    743 : Name_Not - 2014/08/20(水) 14:54:03.24 ID:???.net (+25,+29,-15)
    >>728
    後出しぶりが酷い
    インライン要素とかどこにも書いてないし、質問の仕方を学んでから出直してきたら?
    744 : Name_Not - 2014/08/20(水) 15:00:14.57 ID:???.net (+35,+29,-19)
    ここまで分かりにくく質問できるのはある意味才能だな
    745 : Name_Not - 2014/08/20(水) 15:34:07.28 ID:???.net (+36,+30,-39)
    >>744
    表示時は要素の種類にかかわらずサイズ計測できるのですから
    ブロック要素以外も計測可能できるようにするのは当たり前ですが?
    そもそもむしろブロック要素決めうちなら問題にすらならないんですから。
    ちゃんと問題の本質理解してます?
    >>744
    質問が分かりにくいのではなく問題自体が難解なのです
    746 : Name_Not - 2014/08/20(水) 15:34:55.35 ID:???.net (+31,+28,-4)
    >>639の質問に答えられる人はいないのでしょうか?
    747 : Name_Not - 2014/08/20(水) 15:56:19.09 ID:???.net (-19,-29,-71)
    >>745
    そういう前提を初めから整理して書くべきだろ
    >>728 は「diplay: none だから計測できない」以外に読めないわ

    しかも、width は display: inline では指定できないし、clientWidth がインラインボックスで0になる仕様だし
    君が仕様を理解してないのはよくわかったから、仕様を読んで仕様どおりに作ることから始めろ
    749 : Name_Not - 2014/08/20(水) 16:20:48.56 ID:???.net (+30,+30,-72)
    >>747
    A級以上の技術者には書かなくても分かることなので書かなかったのです
    A級以上でなければ問題を理解することすら困難な種類の問題なので。
    インライン要素にwidthを指定できないから何なの??
    そんなことはこの問題とは何の関係もない
    分からなければ分からないでいいのです
    意地になって頓珍漢なディスをするのはやめなさい
    それが技術的向上への道です
    750 : Name_Not - 2014/08/20(水) 16:28:36.93 ID:???.net (+25,+29,-40)
    A級とかS級とか馬鹿じゃないの?
    ナルシストっぷりもうざいわ
    まあ、どうせ「負け犬の遠吠えは見苦しいですよ」的な発言を返してくるんだろうけど
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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