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

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

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

    (自己レス:Web上で高度な描画ができるサービス)

    見つかりました! タイトルは Sketchpad です。 ttp://mudcu.be/sketchpad/

    10 Best HTML5 Sketching and Drawing Tools for Designers っていうサイトに載ってました。
    http://smashinghub.com/10-best-html5-sketching-and-drawing-tools-for-designers.htm

    207 = :

    「fadeoutが終わってからremoveする」というのは、
    $('.hover_white').fadeOut("slow",function(){$('.hover_white').remove();});
    この書き方で合っていますか?

    こうすると、一見、正常に動作しているように見えたのですが
    .hover_whiteにマウスオンしたカーソルが一旦その上で動きを止めると、フェードインしたdiv_whiteが
    何故か一度サッと消えてしまうようになりました。
    更にそこから1pxでもカーソルを動かすと、またすぐにフェードインして現れるんですが・・・
    何がいけないのでしょうか;

    208 = :

    普通に続けて書くだけ

    210 = :

    度々すみません。さっき
    $('.hover_white').fadeOut("slow",function(){$('.hover_white').remove();}); と書いたところを
    $('.hover_white').fadeOut("slow",function(){.remove();}); にしたら、大分良い感じに動くようになりました!
    div_whiteがサッと消えてしまう現象も無くなりました。後ろの$('.hover_white')が余計だったようです(?)

    これで解決したかと思われたのですが、よく見るともうひとつ問題点があることを発見してしまいました
    どうやらマウスアウトでフェードアウトする処理が、必ず最初のフェードインが終わりきってからでないと実行されないようです
    なので、高速でマウスを乗せたり外したりを繰り返すと少し奇妙な挙動になってしまいます・・・

    出来れば、マウスオンでフェードインが始まってから、その途中でマウスアウトした場合はすぐさまフェードインを中止して、
    hoverの第2引数の処理へと移ってほしいのですが・・・難しいでしょうか?

    211 = :

    >>202
    動くはずだよ?ケアレスミスじゃない?

    215 = :

    >>214
    文書型宣言を書く

    217 = :

    >>216
    jQueryちゃんと勉強しな
    てかリファレンスくらい読みなよ

    220 = :

    $(".class").text("こうだろが馬鹿野郎");

    221 = :

    ちなみにそのまま書いたらjs実行時にclassは存在しないから変化しないけどな
    $(document).ready(function(){
    $(".class").text("こうだろが馬鹿野郎");
    });

    222 = :

    >>220
    >>221
    ありがとうございました。

    .textは読み取り専用なんですか・・・

    223 = :

    なんかサイト新規オープンのサイトの不具合修正とかの案件受けてても>>216みたいに中途半端なjquery読み込まれてる事があるんだけど何なんだよ

    224 = :

    ブラウザがHTMLをダウンロード → jQueryで操作(たとえば要素を消す) → ブラウザの見ているHTMLからも要素が消える


    このとき、ブラウザから右クリックでHTMLのソースを見てもその要素は残っているのですが、
    これはブラウザがローカルにダウンロードしたHTMLはそのままになっているだけで
    メモリの中のHTMLは変更されたということですか?

    226 = :

    リファレンスが見当たらないんですが。
    オフラインで見れるやつ。

    227 = :

    for文のなかでインクリメントしながらsetIntervalで関数を実行しているのですが、
    インクリメントが終了した状態のあた値のみが関数に渡ってしまうのですがなぜでしょうか?

    for(i = 0; i < num; i++) {
      a_data = a[i];
    setInterval("func()",1000);
    }

    function func(){
    document.getElementById("hello").innerHTML += "あ";
    }

    ---実際出力される結果----
    あ × num数
    ↓1秒後
    あ × num数

    ---出力して欲しい結果----

    ↓1秒後

    228 = :

    てか、めちゃくちゃなコードだなw

    230 = :

    Web Workers って、他ブラウザとのやり取り出来なかったっけ?
    ブラウザのタブ間でのやり取りは出来たんだが・・・
    それとも、書いたコードのどこか間違ってるかな。

    // main.js
    var worker = new SharedWorker('worker.js');
    worker.port.onmessage = function (e) {
    console.log(e.data);
    };
    worker.port.start();
    worker.port.postMessage('ハロー');

    // worker.js
    var ports = [];
    onconnect = function (e) {
    var port = e.ports[0];
    port.onmessage = function (e) {
    ports
    .forEach(function (port) {
    // すべてのポートにメッセージを送信
    port.postMessage(e.data);
    });
    };
    ports.push(port);
    };

    231 = :

    >>227
    func()を文字列で書いたら呼び出された時点(1秒後)には
    forループはすべて実行し終わっているだろ。途中に値を保持したいなら
    まずはクーロジャの勉強をしてこい。話はその後だな。

    233 = :

    処理系がES5対応だったら A.map(function(x){return x.B;}).join('') かな。試してないけど。

    235 = :

    javascriptでブラウザ内の時間の進み方を遅くする
    とかできるんですか?

    236 = :

    >>235
    できない。できたらマズい。

    237 = :

    document.getElementById("nm").onclick=function(){bullet();}
    document.getElementById("nm").onclick=function(){bullet2();}
    ってやるとonclickイベントって上書きれて、関数bullet2のみ実行
    ってなるようなのですが、上書きされないようにするって可能でしょか?

    238 = :

    var FeedReader = function (feedUrl) {
     this.initialize.apply(this, arguments);
    }

    FeedReader.prototype = {
     initialize: function(feedUrl) {
      this.feedUrl = feedUrl;
      this.entries = [];
     },
     collect : function() {
      var feed = new google.feeds.Feed(this.feedUrl);
      
      feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
      feed.setNumEntries(100);
      
      feed.load(function(result)){
       if(!result.error) {
        // result.feed.entriesは配列でcloneメソッドは実装済みとする
        this.entries = result.feed.entries.clone();
        console.log(this.entries.length); // *1
       }
      }
     },
     logging : function() {
      console.log(this.entries.length); // *2
     }
    }

    239 = :

    (続き)

    var fd = new FeedReader('http://...');
    fd.collect(); fd.logging();

    もう数時間嵌まって抜け出せないんだけど、上の例を解決できる人いますか?
    関数内の関数でthis.変数(this.entries)を参照できなくて、this.entriesがundefinedになります。
    this.entriesを止めて
    var FeedReader = function (feedUrl) {
     var entries = [];
     this.initialize.apply(this, arguments);
    }
    にすると*1で、console.log(entries.length);とするとエントリー数を取得できますが、*2では0になってしまいます。
    クロージャーの問題なのかなと考えてますがthis使いつつ上手く回避する方法を知ってる方是非教えて下さい。
    お願いします。

    240 = :

    >>238
    collect:function(){...}の最初あたりにvar that=this;を追加して、
    collect:function(){...}の中の無名関数内の二つのthis.entriesをthat.entriesへ変更

    242 = :

    >>240
    ありがとうございます。
    無事参照できました。

    しかしながら、entriesは0になってしまいます。
    どうもfeed.loadが非同期になるからみたいです。
    collect関数内での処理が終わるまで待つみたいな実装は無理なんでしょうか・・・。
    JQUERYのDeferredとか使ってコールバック関数を記述するしかないんだろうかねえ。

    244 = :

    >>242
    取得後の処理のための関数をcollect()へ渡すようにしてもいいし
    collect()がPromiseを返すようにしてもいいし好きにすればいい

    247 = :

    >>246
    普通、Deffered使うなら*2の処理をthenに登録するだろ
    fd.collect().then(functinon(){fd.logging();});


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

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


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