元スレ+ JavaScript の質問用スレッド vol.106 +
JavaScript覧 / PC版 /みんなの評価 :
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();});
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
トップメニューへ / →のくす牧場書庫について