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

    私的良スレ書庫

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

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

    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
    752 : Name_Not - 2010/06/13(日) 00:25:09 ID:??? (+49,+21,-20)
    フルブラウザ用に即席で単純なbookmarkletを作ったことあるけど
    あのダイヤル入力でサクサクは無理だった
    753 : Name_Not - 2010/06/13(日) 00:47:30 ID:??? (-4,-29,-1)
    >>751
    色ごとにbeginPathが必要
    755 : Name_Not - 2010/06/13(日) 01:11:35 ID:??? (+22,-30,-26)
    >>754
    var self = this;
    req.send(function(){
    alert(self.name)});
    }}
    756 : Name_Not - 2010/06/13(日) 01:23:33 ID:??? (+57,+29,-6)
    一日ずーといじってたら、何をどうして良いのか分からなくなって仕事がすっかり止まってしまった
    757 : 751 - 2010/06/13(日) 01:36:04 ID:??? (+2,-30,-192)
    >>753
    レス有難うございます。beginPathを含めましたが、今度は線そのものが出なくなりました。
    Googleで調べましたが、面内のグラデーション記述はありましたが、線の色変更は見つかりませんでした。
    下記が試したコードです。

    context0.moveTo(0, 0)
    context0.lineWidth = 5;

    var x = 10;
    var dx = 1;
    var iroX;

    function draw() {
    x += dx;
    y += dy;
    iroX="#9999"+x.toString(16);
    //
    context0.beginPath();
    context0.strokeStyle = iroX;
    context0.lineTo(x, y);
    context0.closePath();
    context0.stroke();
    }

    function startDraw() {
    timerID=setInterval(draw, 20);//繰り返す
    }

    再度間違いをご指摘頂けないでしょうか?
    758 : Name_Not - 2010/06/13(日) 01:43:49 ID:??? (+4,-30,-27)
    context0.beginPath();
    context0.moveTo(0, 0);
    759 : Name_Not - 2010/06/13(日) 01:44:29 ID:??? (+60,+29,-27)
    >>755
    有り難うございます。
    思った通りの動作をしました。
    760 : 751&757 - 2010/06/13(日) 02:07:37 ID:??? (+7,-30,-48)
    >>758
    すいません、変更箇所は

    context0.beginPath();をcontext0.moveTo(0, 0); の前に置くだけなのでしょうか?
    変化がありませんが・・・

    HTML全体をTxtでUpしました。
    http://uproda11.2ch-library.com/247176oLw/11247176.txt
    761 : Name_Not - 2010/06/13(日) 04:22:24 ID:??? (+39,-29,-22)
    >>760
    draw内の
    beginPathとlintToの間にmoveToでアンカーを初期化しないとあかん
    762 : Name_Not - 2010/06/13(日) 04:27:08 ID:??? (+11,-30,-99)
    てか、
    var grad = ctx.createLinearGradient(0, 0, WIDTH,0);
    grad.addColorStop(0,'#999900');
    grad.addColorStop(1,'#9999ff');
    ctx.strokeStyle = grad;
    ってしておいて、setIntervalのなかで
    ctx.lineTo(x, y);
    ctx.stroke();
    だけでいけるよ
    yの初期化忘れないようにね
    763 : Name_Not - 2010/06/13(日) 06:01:25 ID:??? (+112,+29,-23)
    >747
    >748
    >749
    >750
    ありがとうごさいます
    友達に携帯でもJavaScriptが使えるiswebというサイトを教えてもらいました
    作れたらまた書き込みます
    764 : Name_Not - 2010/06/13(日) 06:15:01 ID:??? (+72,+29,-20)
    >>763
    お前は何を言っているんだ
    てか、JSに関係ないことは書かなくていいから
    765 : Name_Not - 2010/06/13(日) 06:23:58 ID:??? (+50,+29,-66)
    あんま中学生いじめてやるなよ
    書籍かえばノートにでも考えながら書いて
    いざパソコンを触る機会があったら
    コードをうつして実行してみればよい
    昔の人は机上デバッグで本当にそんなことやってたらしいよ
    766 : 751&757& - 2010/06/13(日) 11:11:03 ID:??? (+61,+29,-1)
    >>761-762
    さんくすですう。
    試してみます。
    767 : 751&757& - 2010/06/13(日) 12:08:09 ID:??? (+7,-30,-194)
    >>761-762
    できました。下記が試した記述です。

    var x = 0;
    var y = 0;
    var dx = 1;
    var dy = 1;
    var iroX;

    context0.lineWidth = 5;
    function draw() {
    context0.beginPath();
    context0.moveTo(x, y)
    x += dx;
    y += dy;
    iroX="#9999"+(x+16).toString(16);
    // (x+16)で色の補正。これが無いと黒から始まってしまう。
    context0.strokeStyle = iroX;
    context0.lineTo(x, y);
    context0.closePath();
    context0.stroke();
    }

    なお、今回の線描画は最終的には直線でなく関数の曲線で行いたい
    ので>>762さんの方法は適用できません。
    768 : Name_Not - 2010/06/13(日) 12:26:51 ID:??? (+8,-30,-31)
    canvasで作成された画像のみが表示されているhtmlがあるのですけど、
    このhtmlを<img src="hoge.html">みたいな感じにできないでしょうか?
    769 : Name_Not - 2010/06/13(日) 12:30:13 ID:??? (+34,-24,-11)
    そこはiframeだべ
    770 : 768 - 2010/06/13(日) 12:35:35 ID:??? (+67,+30,-151)
    >>769
    やっぱそうしないとだめですか。
    サーバ側のでードから画像を生成するプログラムなんかは、
    HTTPヘッダでContent-typeを指定すればブラウザで画像として扱われるのですが、
    JavaScriptはクライアントサイドですし、
    canvasはそもそもそれら画像生成プログラムとは根本的に仕組みが違う気がするので、
    無理なのかなぁとは思ってました。
    どうもレスありがとうございました。他の方法でページにうまく組み入れることにします。

    それより地震だよ結構長く揺れてるよコワイヨママン
    772 : Name_Not - 2010/06/13(日) 12:44:26 ID:??? (+31,-27,-4)
    onload使うのを止めても同じ結果?
    773 : Name_Not - 2010/06/13(日) 12:58:44 ID:??? (+13,-30,-124)
    javascriptで
    function test(x,y,z){
    }
    という関数を作って
    test()と引数を入れないでもエラーが出ることなく動作します
    xは必須でyとzはオプションにしたい場合
    function test(x,y,z){
     if(!x) {
      return;
     }
    }
    といった感じで実装しないといけないのでしょうか?

    それとyとzは指定しなかった場合デフォルトでとある値を使いたいので某言語風に
    function test(x,y=1,z=2){
     var yy=y;
     var zz=z;
    }
    のような書き方をしたのですが動きませんでした
    この場合
    function test(x,y,z){
     var yy=y;
     var zz=z;
     if(!y){
      yy=1;
     }
     if(!z){
      zz=2;
     }
    }
    と書くしかないのでしょうか?よろしくお願いします。
    774 : Name_Not - 2010/06/13(日) 13:11:14 ID:??? (+55,+28,+0)
    >>772
    うーん、変りません。
    775 : Name_Not - 2010/06/13(日) 13:16:21 ID:??? (+34,-30,-26)
    function test(x,y,z){
     if(typeof x != 'undefined') {
    y = y || 1;
    z = z || 2;
    処理
     }
    }
    776 : Name_Not - 2010/06/13(日) 13:19:08 ID:??? (+9,-30,-260)
    >某言語風に
    トライ&エラーも大切だけどそのぐらいはリファレンスで済まそうぜ

    false扱いの引数を無視していい場合
    if (!x) throw "arguments error";
    y = y || "default";

    厳密にチェックしたいなら
    if (arguments.length < 1) throw "arguments error"; // 最低1個

    switch (argument.length) {
    case 0: throw "arguments error";
    case 1: y = "default";
    case 2: z = 0;
    }
    777 : 773 - 2010/06/13(日) 13:32:01 ID:??? (+72,+29,-55)
    >>775-776
    レスありがとうございます
    本質的には同じような感じに処理しないといけないんですね
    throwはどこに投げてるのか分かりませんがこういう書き方もできるんですね
    その辺も含めてわからないことが多いので
    ご指摘通り>>1にあるMozillaのリファレンスをじっくり読んでみたいと思います
    778 : Name_Not - 2010/06/13(日) 13:39:19 ID:??? (+50,-30,-25)
    >>776
    重箱だけど、 throw "文字列" はIEでエラーになるよ
    エラーが起これば良いわけだから動作的にはあんまり問題ないけど
    正しくエラーを投げるには throw new Error("文字列");
    779 : Name_Not - 2010/06/13(日) 17:04:00 ID:??? (-1,-29,-8)
    FirefoxとIE6では問題なかったからそれでいいと思ってた> throw "hogehoge";
    780 : Name_Not - 2010/06/13(日) 19:18:02 ID:??? (+9,-29,-49)
    >>777
    強いて言えばエラーコンソールに

    >>778
    知らなかったthx
    IE8で試してみたら、catchする分には問題がないけど
    エラーメッセージとして投げるにはErrorオブジェクトの必要があるみたい
    781 : Name_Not - 2010/06/13(日) 21:16:50 ID:??? (-2,-30,-20)
    If Crockford catches an error, he roundhouse kicks it again.
    782 : Name_Not - 2010/06/13(日) 23:51:08 ID:??? (+76,+30,-59)
    >>778
    それって↓で説明されてる件?
    http://d.hatena.ne.jp/uupaa/20100127/1264566103

    JavaScriptで明示的に例外投げさせる場面って、設計にもよるけどそう頻繁にあるわけじゃないからな・・・
    そもそも「例外?なにそれおいしいの?」って輩が多くて泣ける(実体験)
    783 : Name_Not - 2010/06/13(日) 23:57:52 ID:??? (+19,-30,-205)
    *** JS **************************
    var skip;
    $("#box").click(function(){
    skip = 0;
    $("#box a").click(function() {
    skip = 1;
    });
    if (skip == 0) {
    alert ("box selected");
    }
    });

    *** HTML **************************
    <div id="box" style="width:100px;height:100px;">
    <a href="">link</a>
    </div>

    ************************************
    jQuery 1.3.2です。
    100x100のDIVボックスがあり、ボックス内をクリックすると「box selected」とメッセージを出します。
    しかし、Aリンクをクリックした場合は表示しないようにしたいのですが、上手く動作しません。
    784 : Name_Not - 2010/06/14(月) 00:13:39 ID:??? (+17,-29,-55)
    >>783
    .clickの指定からしておかしいな。それはboxがくりっくされたときにaのonclickにつけてないか?
    aがクリックされたらイベントの伝播を止めればいけるはず。ぐぐれば山ほど情報が出てくるよ。
    785 : Name_Not - 2010/06/14(月) 00:16:27 ID:??? (+17,-30,-72)
    var skip = 0;
    $("#box").click(function(){
    if (skip == 0) {
    alert ("box selected");
    }
    skip = 0;
    });
    $("#box a").mousedown(function(){
    skip = 1;
    });

    こうだな
    786 : Name_Not - 2010/06/14(月) 00:19:35 ID:??? (+50,-30,-237)
    >>784が答えてるが補足。
    http://semooh.jp/jquery/cont/doc/event/

    要素が重なってるので、clickイベントが上の要素下の要素、
    つまりaタグからdivタグへと順に伝播(バブリング)してゆく。
    aタグのclickイベントの中で return false とするか、
    Eventオブジェクトの stopPropagation() 等を呼んでやればいい。

    >>782
    テキストフォームの値をバリデーション関数に渡して
    エラーだったらalertを出して処理中止、そうでなければ続行、
    なんていうときにこう書いたり……しない?
    try {
     バリデーション関数(xxx);
    } catch(message) {
     alert(message);
     return false;
    }
    787 : Name_Not - 2010/06/14(月) 00:27:35 ID:??? (-1,-29,-52)
    void型の関数の場合、無名関数を使って、
    プロパティのように呼ぶことも可能ですが、
    ()を省略したいがために、
    無名関数を使うのはやめたほうがいいですよね?
    788 : Name_Not - 2010/06/14(月) 00:33:49 ID:??? (+53,+25,-3)
    なにを勘違いしたのかわからんが関数実行に()は不可欠
    789 : Name_Not - 2010/06/14(月) 00:55:20 ID:??? (+57,+29,-14)
    すみません無名関数を何か勘違いしていたようです
    790 : 783 - 2010/06/14(月) 01:09:11 ID:??? (+5,-29,-40)
    >>784
    >>785
    >>786
    ありがとう!
    重なると伝播するんだな…
    aタグのclickイベントの中で return false とすると、
    今度はaタグのリンクが機能しなくなってしまうので、
    >>785さんの方法で希望する動作になりました。
    791 : Name_Not - 2010/06/14(月) 02:05:09 ID:??? (+3,-30,-151)
    jQueryのanimateについてです。
    変数ABCの中の数字をbackgroundPositionに入れる場合

    $("#Contents").stop().animate({
    backgroundPosition : ABC+"px 0" },
    'slow','swing');

    とすれば背景の横の位置にはABCの値が入りますが
    縦の位置に入れたい場合どうすればよいのでしょうか?

    おしえてください。
    792 : Name_Not - 2010/06/14(月) 02:39:38 ID:??? (+18,-29,-20)
    >ABC+"px 0"
    自分で答え書いてないか?
    何か勘違いしてる?
    793 : Name_Not - 2010/06/14(月) 02:58:05 ID:??? (+73,+26,-13)
    コピペか?
    まあそんなのはどうでもいいけど
    pxのうしろの0はなんなの?
    794 : Name_Not - 2010/06/14(月) 03:28:47 ID:??? (+38,-2,-119)
    >>792
    上の例の場合
    水平がABC 垂直位置が0
    になってしまいます。
    これを逆にしたいのです。

    >>793
    コピペではないです。
    >pxのうしろの0はなんなの?
    背景の垂直の位置です。
    これがないと水平位置ABC 垂直位置50%になってしまいます。
    795 : Name_Not - 2010/06/14(月) 03:31:25 ID:??? (+58,+26,-20)
    逆にしたいならABCと0を逆にしたらいいじゃないのさ
    796 : Name_Not - 2010/06/14(月) 06:08:11 ID:??? (+62,-30,-29)
    >763です
    無事使えましたが質問があります
    document.write("テスト")
    はiモードとフルブラウザ両方で動いたのですが
    alert("テスト")
    がiモードだけ動きません
    どうしてなのでしょうか
    797 : Name_Not - 2010/06/14(月) 06:13:14 ID:??? (+64,+29,-21)
    >>796
    セキュリティの関係で無効化されてるだけ
    iモードがしょぼいとしか言いようがない
    フルブラウザでそのまま開発して下さい
    798 : Name_Not - 2010/06/14(月) 06:31:42 ID:??? (+76,-30,-27)
    >>795
    ためしに
    backgroundPosition : "0px menuTop+px"
    としましたが動かないです。

    逆にしたい場合どう記述すれば良いでしょうか?

    799 : Name_Not - 2010/06/14(月) 07:02:14 ID:??? (+33,-30,-16)
    alert("0px menuTop+px")
    800 : Name_Not - 2010/06/14(月) 07:22:21 ID:??? (+99,+28,-8)
    >>786
    バリデーション関数は例外前提で作らないだろ…
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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