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

私的良スレ書庫

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

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

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
751 : Name_Not - 2011/07/15(金) 22:00:17.57 ID:??? (+12,+28,-15)
>>750の優しさに泣いた・・・
753 : Name_Not - 2011/07/15(金) 22:47:19.16 ID:??? (-13,-11,-6)
JSで動的にスタイルシートを埋め込む。
754 : Name_Not - 2011/07/15(金) 22:50:15.72 ID:??? (-27,-29,-22)
>>752
>onmouseイベントだとどう考えても遅いし
それが体感できるほどの化石PCを使ってんの?
755 : Name_Not - 2011/07/15(金) 22:56:09.77 ID:??? (+30,+29,-29)
>>754
いや例えば例だとaだったけど
これがtdの各セルになると結構厳しいぞ
自分がどうとかより訪問者第一に考えないと
756 : Name_Not - 2011/07/15(金) 23:02:25.50 ID:??? (+26,+24,-5)
>>755
不特定の訪問者第一に考えるなら、tdにhoverなんて使えねえよ。
757 : Name_Not - 2011/07/15(金) 23:15:04.08 ID:??? (+20,+27,-1)
スタイルシートなら別に問題ない
758 : Name_Not - 2011/07/15(金) 23:15:06.27 ID:??? (+31,+29,-62)
>>755
アホか>>754を書いた真意がまだ分からんのか
つかtableの各セルとかそんなの>>746のどこにも書いてないし、そもそも質問した本人でもないのに
横から「JavaScriptは重い」とか的外れなチャチャ入れんなよks
759 : Name_Not - 2011/07/15(金) 23:17:10.89 ID:??? (+12,+24,+0)
何こいつ
761 : Name_Not - 2011/07/16(土) 01:33:47.82 ID:??? (-27,-30,-157)
hoge.attachEvent('click', function(){alert(this)}, false)

addEventListnerではちゃんとhogeオブジェクトを返してくれるのですが、
attachEventではwindowが返ってきます。

attachEventでもhogeを返すにはどうしたらいいですか?
762 : 761 - 2011/07/16(土) 02:10:57.56 ID:??? (+27,+29,-21)
すみません。自己解決しそうです。
メモリリークの心配があるそうですが、クロージャーとやらを使ってなんとかなりそうです。
763 : Name_Not - 2011/07/16(土) 04:02:05.53 ID:??? (-28,-30,-108)
var outer3=function(){
var x = 1;
var jj=function (n){
alert(x+n);
return x = x +8+n;};
return jj;};
outer3()(2);//3
outer3()(2);//3
outer3()(2);//3
var aaf=outer3();
aaf(2);//3
aaf(2);//13
aaf(2);//23
という挙動になりouter3()(2);ではxの値が保持されないのは
何故ですか?
764 : Name_Not - 2011/07/16(土) 04:44:03.81 ID:??? (-26,-30,-161)
>>763
>>684の人かな?
「outer3()(2);」ではouter3関数をその都度実行しているから、
xもその度に初期化されて値を保持できない

「aaf(2);」でxの値が保持されているのは、
変数としてのaafに、実行されたouter3関数の状態と共にjj関数が代入されて、
その状態のxがaaf関数に対するレキシカル変数になっているから

「outer3()(2);」で値を保持するなら、xをouter3関数に対するレキシカル変数にしないと
具体的にはouter3関数外でxを変数宣言し、outer3関数内では代入だけに留めてみるとか
765 : Name_Not - 2011/07/16(土) 05:02:50.80 ID:??? (+22,+27,+1)
>>764
ありがとうございました。よくわかりました。
767 : Name_Not - 2011/07/16(土) 06:52:49.57 ID:??? (-24,-30,-155)
>>766
setIntervalの引数のところ、countdownの直後の丸括弧は要らないです

関数名(関数を参照している識別子): countdown
関数呼び出し: countdown()
というのに注意してください
例)
setInterval(countdown, 1000);
// countdownを呼ぶようにsetIntervalでタイマ設定
// →OK 設定間隔で呼び出される(countdown() される)

setInterval(countdown(), 1000);
// まずcountdown()と呼び出して、その戻り値をsetIntervalでタイマ設定
// →NG countdown自体は戻り値を持たないので動かない

setInterval("countdown()", 1000);
// 文字列に収められたコードをsetIntervalでタイマ設定
// →OK 設定間隔で文字列内のコードが実行される(countdown() される)
769 : Name_Not - 2011/07/16(土) 07:26:31.55 ID:??? (-25,+29,-11)
>>767
色々いじってたらカウント始まりました
ありがとうございます。
ただ数字が倍々に減っていくので、もうちょっと調べてみます
ありがとうございました^^
771 : Name_Not - 2011/07/16(土) 08:58:49.93 ID:i4Jg6kyq (-15,+29,-47)
>>769
たぶんデクリメントする処理が
インターバルごとに追加されてる気がする

こんなんでどうだろう
http://jsbin.com/imaviy/3/edit

例えばインターバル時間を1秒として
10回処理を繰り返したときに経過する時間は10秒ではないことに注意
774 : Name_Not - 2011/07/16(土) 09:41:20.73 ID:??? (+23,+22,-61)
onMouseMoveで座標を変えてあげるだけだと画像をドラッグしようとしたとき
ブラウザのデフォルト仕様?で画像データをドラッグする状態になってスムーズに移動しない状態になります。
これを修正するにはどんな記述をすればいいのですか?画像ドラッグ時の動作を無効化?
775 : Name_Not - 2011/07/16(土) 09:44:54.39 ID:dG9aa+zW (-13,+24,-1)
>>774
イベントキャンセルしていないじゃないの?
776 : Name_Not - 2011/07/16(土) 09:45:38.17 ID:??? (-26,-30,-41)
調べた結果、こんなページが見つかったんですが
これを覚えれば>>774の課題は解消できますか?
http://www2.ocn.ne.jp/~yoochan/decoration/JavaScript/DHTML16.htm
777 : Name_Not - 2011/07/16(土) 09:48:00.16 ID:??? (+24,+29,-25)
>>776
全部コードを読んで試してくれ、ってこと?それぐらい自分で試して欲しい。
>>775で解決しないの?
779 : Name_Not - 2011/07/16(土) 09:58:36.48 ID:??? (+33,+29,-97)
>>775
return falseのことでしょうか?でも、これって該当の課題と関係ないような気がするのですが。
実際の現象はここのサンプルを実行したときに画像をドラッグするときと同じで
chromeで実行すると、青くなって移動するけど移動元は残っててマウスボタンを離したときにその場所に動く動作
(アドレスバーに持っていけば画像を直接開ける状態)です。
http://javascript.eweb-design.com/0806_dim.html

http://javascript.eweb-design.com/sample/s0806_1.html
780 : Name_Not - 2011/07/16(土) 10:09:45.72 ID:??? (+37,+29,-79)
>>779
Google Chrome なら event.preventDefault で解決すると思うけど。>>778
「課題と関係ない」と自己判断しないでとりあえず試してみたら?
ミスリードする人も中にはいるけど、間違いがあれば訂正する人が現れると思うよ。
781 : Name_Not - 2011/07/16(土) 10:13:11.05 ID:??? (+33,+29,-18)
回答者の脳みそが高度すぎてよくついていけなくなるな
回答者の脳内で出来上がった答えを質問者が想像できないパターンがありそうだ
782 : Name_Not - 2011/07/16(土) 10:16:29.80 ID:??? (+32,+29,-6)
>>781
ついていけない内容を質問すればアドバイスがもらえるんじゃないかな?
785 : Name_Not - 2011/07/16(土) 10:24:59.63 ID:??? (-26,-30,-101)
>>783
そっちは
<a id="nyan" onClick="return addimg('nyan');" href="img/nyan.jpg">img/</a>
でaddimgからfalse返してるので今のところ問題ないです。
今の課題は、addimgで追加したimgを結果としてはドラッグできるけど、ドラッグするときに>>779の状態に陥ります。
>>780を受けて>>784してみましたが変化がありませんでした。
789 : Name_Not - 2011/07/16(土) 10:41:18.61 ID:??? (-28,-30,-99)
>>787
>>778です。
自ソースで
document.getElementById("nyanko").addEventListener("mousedown", dragSetIn, false);
から呼び出しているfunction dragSetIn(evt){の先頭に
evt.preventDefault();を差し込んだらうまくいきました。
ありがとうございます。
791 : Name_Not - 2011/07/16(土) 12:30:09.71 ID:??? (-28,-29,-35)
stopPropagation は使ったことないなあ。有効な使い道が思い浮かばない。
792 : Name_Not - 2011/07/16(土) 12:43:59.96 ID:??? (-25,-30,-168)
if (event.preventDefault) {
 event.preventDefault();
} else if(event.returnValue){
 event.returnValue();
}else{
 return false;
}
こうしておけば良い感じ?
793 : Name_Not - 2011/07/16(土) 12:59:03.55 ID:??? (+23,+29,-24)
>>791
複数のユーザがイベント仕掛けるときに変な動きしないためとか
htmlならあんまり使わないかもね

>>792
どうしてreturnValueを呼ぼうと思ったんだ
794 : Name_Not - 2011/07/16(土) 13:04:03.82 ID:??? (-28,-30,+0)
<div>
<a id="x001" href="#">x001</a>
<a id="x002" href="#">x002</a>
<a id="x003" href="#">x003</a>
</div>
とリンクを並べたときこれらのリンクのみクリックを検知したい場合、もっとシンプルでスマートな方法はありませんか?
現状は以下のように全パターンセットして同じ関数に飛ばして飛ばした先でevt.targetで拾っています。
document.getElementById("x001").addEventListener("click", clickon, false);
document.getElementById("x002").addEventListener("click", clickon, false);
document.getElementById("x003").addEventListener("click", clickon, false);
798 : think49 - 2011/07/16(土) 14:01:15.69 ID:??? (-27,-30,-276)
すみません、嘘つきました。
if (event.returnValue) は event.returnValue === false の状況で正しく働きません…。

if (typeof event.preventDefault === 'function') { // [[Call]] を持つnativeオブジェクトなら
 event.preventDefault();
} else if ('returnValue' in event) { // returnValueプロパティを持っているなら
 event.returnValue = event.type === 'mouseover';
} else {
 return event.type === 'mouseover';
}
799 : Name_Not - 2011/07/16(土) 14:10:16.44 ID:??? (-28,-30,-70)
IEで
if(window.attachEvent){は通るのに
window.attachEventで関数は実行されないの?
document.body.attachEventは動くけど……
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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