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

    私的良スレ書庫

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

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

    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
    351 : Name_Not - 2012/01/10(火) 02:24:00.92 ID:CIijrwn/ (+19,+16,-22)
    jsを弄る前にhtmlとcssを勉強したほうが幸せになれるぞ
    352 : Name_Not - 2012/01/10(火) 02:27:37.52 ID:??? (+27,+29,-5)
    >>351
    やってみる。
    しかしどの程度までできるようになったらいいんだ?
    354 : Name_Not - 2012/01/10(火) 03:19:48.58 ID:??? (-28,-29,-16)
    >>352
    HTML5とかDHTMLの質問スレッドがあればそこに行った方がいい
    355 : Name_Not - 2012/01/10(火) 03:21:23.06 ID:??? (+22,+29,-13)
    もはやここは隔離スレだな
    356 : Name_Not - 2012/01/10(火) 03:26:51.44 ID:??? (+27,+29,-27)
    質問者が初心者なのはいいんだが、回答する方に初心者がいると不毛な議論に発展するんだよな
    357 : Name_Not - 2012/01/10(火) 03:40:39.03 ID:??? (+22,+29,-1)
    初心者スレだからそれでいい
    358 : Name_Not - 2012/01/10(火) 04:05:12.81 ID:??? (+11,+13,-32)
    HTML5が流行ってWebProgから人が流れ込んできたせいだな
    2012年はHTML5の時代やで
    359 : Name_Not - 2012/01/10(火) 04:08:54.27 ID:??? (+13,+20,-1)
    本スレがないのがよくない
    365 : Name_Not - 2012/01/10(火) 05:12:17.95 ID:??? (+22,+29,-2)
    あれ、名前が…。
    366 : Name_Not - 2012/01/10(火) 07:32:24.07 ID:??? (+41,+28,-39)
    jQueryでドロップダウンメニューをslideToggleで作ったのはいいんですが、
    連続でマウスオーバーしたらその回数だけ開閉するのはどうにかならないんでしょうか?

    調べてもそれらしい情報がでてこないもので・・・
    368 : Name_Not - 2012/01/10(火) 08:08:29.87 ID:??? (-22,-30,-49)
    >>367
    eval()を使うのが間違い。parseInt(文字列, 10)を使う。
    >>366
    onmouseoverではフラグ立てるだけにして、setInterval()から呼ぶコードで
    フラグ立ってたらメニュー開くようにすればいいんじゃないかな。
    369 : Name_Not - 2012/01/10(火) 08:16:43.53 ID:??? (+33,+30,-205)
    eval不要説唱えてる奴は宗教でしょ。
    言われてた当初はそれなりに意味があったのかもしれないけど
    多くは思考停止して闇雲に追従しているだけみたいな。
    スレの性質に関係なく「sageろカス」とかいうのもその類。

    「スクリプトのコードはコメントタグで囲わなきゃいけないんだよ^^」なんて
    自称JSそれなりに知ってる人さんから昔優しく“指導”されたことがある。
    そのくせ「Netscapeなんてもう誰も使ってないし切り捨てていいよ」みたいな。はぁ。

    自称JSそれなりに知ってる人さんにとっては、Netscapeなんかよりも
    JavaScript非対応でコードが文字列としてずらずらと表示されちゃうブラウザ
    (NCSA Mosaicとかですかね?)の占めるシェアの方が無視出来ないらしいです。
    そういうくだらないしがらみはもう捨てていきましょうよ。
    370 : Name_Not - 2012/01/10(火) 08:28:47.94 ID:??? (+33,+29,-63)
    eval()必要説も同じくらい宗教なんだよね。宗教論争、無意味でスレの浪費だからやめてほしい。
    せっかく終わったのに上から目線でまた火をつけるとかもやめてほしい。
    371 : Name_Not - 2012/01/10(火) 08:30:39.76 ID:6w+N2uy0 (+32,+30,-73)
    >>366
    少し待ち時間入れればいいよ
    マウスオーバですぐ発火させないで、setTimeoutで20msecくらい
    待ってから表示させるだけでだいぶ違う
    触った時のレスポンスと待ち時間はバーターだから丁度よいタイミングに
    なるように待ち時間をすりあわせするといいよ


    ここまで書いて>>368に気付いた…
    せっかくだから投下しときますすんません
    372 : Name_Not - 2012/01/10(火) 08:31:22.80 ID:??? (+35,+29,-274)
    まあevalはCのgotoと同様に、宗教上?の理由で嫌われているのと同様だろうな。
    要するにユーザーの入力を単なる文字列では無く、
    JavaScript的(あるいはDOM的)に意味のあるものとして利用するのは危険なので、
    evalでもinnerHTMLでも、本当にその文字列を使って大丈夫かどうかを必ず意識する必要があるという事。
    初心者云々は単に慢心を生むだけなので、初心者経験者は全く関係無い。
    evalが嫌われるのは、代替手法が無いような本当に必要となる場面が少ない(JSON文字列をJSONオブジェクト化するなどくらい)ので、
    わざわざリスクのある手法を回避したいという人間が多いからでは。
    373 : Name_Not - 2012/01/10(火) 08:34:18.50 ID:??? (+34,+29,-6)
    >>370
    うだうだ言ってないで早くコードかけよ
    374 : Name_Not - 2012/01/10(火) 08:50:59.46 ID:??? (-13,+30,+0)
    >>373 ん?数式の解析とかは >>328-329 にあるからね。
    >>372 とっても賛成。テンプレに入れるかはともかく、Q&Aにしてみた。

    Q. eval()は使ってはいけないと言われたのですがなぜでしょう。
    A. ユーザ入力をそのままeval()に与えるということは、ユーザにあなた
    のプログラムを全く任意に改変させるのと同等なリスクがあります。
    また、プログラム保守上も、そこで「何が」起きるかコードを見たとき
    に分かり難くなるというリスクがあります。なのでeval()を使う際は
    (a)与える文字列は予め検査して想定されている事だけが起きることを確認。
    (b)そこで何が起きることを想定しているかをコメント等で記述。
    の2つを守るのがよいスタイルですが、これは一定の手間が掛かります。
    過去スレにあるほとんどの(99%以上の)事例は「数値への変換」「変数
    の設定」など自然かつ安全な代替手段があるものなので、そのような
    ものを知らないレベルの人が安易に使うことを警告して「eval()禁止」
    と言われることが多いようです。eval()を使わなければできないことは
    確かに存在しますが、そのようなことで普通のWeb制作者がやりたいこ
    とは大抵、上記の要件をカバーしたライブラリなどの形でパッケージさ
    れたものがあるので、自分で直接eval()を書こうとする前に十分見直さ
    れることを薦めます。
    375 : Name_Not - 2012/01/10(火) 09:05:13.71 ID:??? (+0,+0,+0)

         /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ    ___
         /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、  /     ヽ
        /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/  リ!: ::/ノ  l`ヽl !: : |: : : :l: :l: リ / そ そ お \
       /: : ヽヾ/: : l/::l |/|||llllヾ,、  / |: :/ , -==、 l\:::|: : : :|i: | /   う う  前  |
    .   /: : : //ヾ ; :|!: イ、||ll|||||::||    ノノ  イ|||||||ヾ、 |: ::|!: : イ: ::|/   な 思 が
       /: : ://: : :ヽソ::ヽl |{ i||ll"ン    ´   i| l|||l"l `|: /|: : /'!/l     ん う
     ∠: : : ~: : : : : : : :丶ゝ-―-      ,  ー=z_ソ   |/ ハメ;, :: ::|.   だ ん
       i|::ハ: : : : : : : : : : : 、ヘヘヘヘ     、  ヘヘヘヘヘ /: : : : : \,|.   ろ な
       |!l |: : : : : : : : :、: ::\    、-―-,      / : : :丶;,,;,:ミヽ   う  ら
         丶: :ハ、lヽ: :ヽ: : ::\__  `~ "      /: : ト; lヽ)   ゝ
           レ `| `、l`、>=ニ´        ,  _´ : :} `   /
             ,,、r"^~´"''''"t-`r、 _  -、 ´ヽノ \ノ   /    お ・
           ,;'~  _r-- 、__     ~f、_>'、_         |  で  前 ・
          f~  ,;"     ~"t___    ミ、 ^'t         |  は  ん ・
          ,"  ,~         ヾ~'-、__ ミ_ξ丶     |  な  中 ・
         ;'  ,イ ..          ヽ_   ヾ、0ヽ丶    l         /
         ( ;":: |: :: ..          .`,   ヾ 丶 !    \____/
         ;;;; :: 入:: :: ::      l`ー-、   )l   ヾ 丶
         "~、ソ:: :い:: :     \_  ノ ,    ヾ 丶
    376 : Name_Not - 2012/01/10(火) 09:10:19.76 ID:??? (+27,+29,-19)
    やっぱり宗教だなあ
    evalに限った危険なんて1つもないのにw
    377 : Name_Not - 2012/01/10(火) 09:14:08.46 ID:??? (+27,+29,-64)
    ユーザーが入力したコードが実行されて何が問題なのかわからない
    あるとしても重箱の隅を突くような特殊なケースじゃないか?
    そんなんだったらevalに限った話じゃない
    378 : Name_Not - 2012/01/10(火) 09:21:08.86 ID:??? (-23,-30,-27)
    >>366

    var obj = $(selectors).not(':animated');

    animate()実行中要素を選択しない


    var obj = $(selectors).stop();

    実行中animate()を停止
    379 : Name_Not - 2012/01/10(火) 09:23:10.06 ID:??? (+33,+30,-154)
    別にユーザが任意の改変をしてもかまわないという人は別にそれでいいんじゃないの。
    ふつう、ユーザ入力に対してチェックとかするよね。それはサーバ側に送られる
    ユーザ入力をある程度制御しないとまずいと思うからやるんだと思うけど。
    JS上でのチェックとサーバのチェックと2重にするところを、サーバだけの
    チェックになっても構わないとか、よそのAPIをJSから直接叩いてるところで
    何を叩かれても構わないとか、そういう意味になるわけどいいんだろうか。
    漏れはそれは嫌だからユーザに任意の改変は許したくないと思うわけで。
    380 : Name_Not - 2012/01/10(火) 09:24:37.34 ID:??? (+20,+18,-8)
    ユーザー入力じゃなくて開発者の意図しない入力って言えよ
    381 : Name_Not - 2012/01/10(火) 09:28:48.90 ID:??? (+24,+29,-11)
    >>380 なるほど御意。
    382 : Name_Not - 2012/01/10(火) 09:32:18.61 ID:??? (+33,+29,-58)
    >ユーザ入力をある程度制御しないとまずい
    これは間違いだろ
    JS側での入力チェックはユーザビリティの観点以外の何物でも無いと思うのだが
    383 : Name_Not - 2012/01/10(火) 09:36:33.16 ID:??? (+32,+29,-63)
    全くもって意味わからんな
    ユーザーが改変したいと思ったときは
    わざわざソース調べてここにeval使われてるから狙おうとかしないだろ
    普通にアドレスバーに打つだけ
    それにそもそもformチェックでevalの出番はないでしょ
    384 : Name_Not - 2012/01/10(火) 09:46:40.95 ID:??? (+27,+29,-38)
    屁理屈こねないで使うなって注意されたら使うなよ。
    躾がなってないなこいつら。
    385 : Name_Not - 2012/01/10(火) 09:53:53.77 ID:??? (+48,+30,-62)
    >>382
    フォームとかからサーバに投げる前段階としてのチェックならそうだけどね

    入力から、それによって引き起こされる何らかのアクションまで
    ブラウザ側で完結してる部分なら、当然ブラウザ側でちゃんとチェックしないといけない

    問題とされている領域を間違えてるっていうかなんと言うか…
    jsでアプリケーション作ったこと無いから、もしかしてこういう発想しか出来ないのかな
    386 : Name_Not - 2012/01/10(火) 09:58:37.11 ID:??? (-27,-30,-73)
    入力をチェックすることとeval禁止が直接結び付かないんすけど…
    こいつさっきから何言ってんだ?
    例えば
    NAME=prompt("主人公の名前を決めてください","")
    ~NAMEのチェック~

    とやるのはわかるが
    こいつが言いたいのは

    NAME=eval(prompt("主人公の名前を決めてください",""))
    ~NAMEのチェック~

    ってことか??
    387 : Name_Not - 2012/01/10(火) 10:01:30.35 ID:??? (+33,+29,-16)
    >>385
    うだうだ言ってないで具体的で示せよ。
    特殊じゃない凡例をな。
    388 : Name_Not - 2012/01/10(火) 10:05:42.28 ID:??? (+27,+29,-22)
    evalは悪魔
    悪魔は不要
    不要不要
    不要
    悪魔
    悪魔
    不要
    悪魔
    不要
    悪魔

    要悪




    魔不要悪魔不要悪魔
    389 : Name_Not - 2012/01/10(火) 10:10:40.28 ID:??? (+39,+29,-50)
    >>385
    クライアント側のみで完結する方が珍しいだろ。
    通信が発生する時点で完結はしないからな?
    それに
    >サーバ側に送られる
    これがついてる時点で"ブラウザ側で完結してる部分"なんて意図するわけ無いだろ
    ブラウザ側で完結する部分ならチェックするのは当たり前
    390 : Name_Not - 2012/01/10(火) 10:27:35.56 ID:??? (+37,+29,-39)
    文字の色を上下でわける方法はありますか?
    http://jsfiddle.net/gxuJw/
    このような感じに書いてできると思ったのですができませんでした。
    アドバイスおねがいします。
    392 : Name_Not - 2012/01/10(火) 11:01:21.83 ID:??? (+27,+29,-10)
    そういう特殊なことはブラウザ間で差が出るからやめとけ
    素直にシンプルにCSS3使っとけ
    393 : Name_Not - 2012/01/10(火) 11:04:26.30 ID:??? (-5,+10,+1)
    >>107お願いします
    394 : Name_Not - 2012/01/10(火) 11:06:52.92 ID:??? (-27,-29,-55)
    >>393
    えー、別にその要素のXY座標を求めて差し引くだけじゃないの。
    offsetTop、offsetLeftで調べてみては。
    395 : Name_Not - 2012/01/10(火) 11:08:38.25 ID:??? (+21,+29,+0)
    >>394
    今から調べてやってみます
    どうもありがとうございます
    396 : Name_Not - 2012/01/10(火) 11:15:05.40 ID:??? (-29,-29,-30)
    >>395
    マウスイベントのoffsetX,offsetY
    398 : Name_Not - 2012/01/10(火) 11:56:38.44 ID:??? (-27,-30,-162)
    >>393
    var xo = $('selector').offset().left;
    var yo = $('selector').offset().top;
    var x = Math.floor( event.clientX - xo - 180);
    var y = Math.floor(-event.clientY + yo + 180);

    こんなかんじでやれる。
    399 : Name_Not - 2012/01/10(火) 11:58:19.32 ID:??? (-21,-14,+0)
    ±180消し忘れた
    400 : Name_Not - 2012/01/10(火) 12:59:10.18 ID:??? (+0,+7,-14)
    jqueryは甘え
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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