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

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

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

801 = :

>>798
結局コピペコードじゃねえかw
>>799と書いて結果を見てごらん。

>>800
エラーの種類ごとにエラーメッセージがたくさんあるとか

802 = :

>>798
答えを書いてもいいけどそれじゃまた同じとようなことで躓くだろうからちゃんと勉強しろ
まずは""でくくられた部分はテキストとして扱われることくらい理解してこい
当然テキスト中では変数の内容参照なんて無理だからな

803 = :

質問です。
for文で複数の対象にそれぞれ引数の違うonclickをつけたいのですが

eleAry = document.getElementsByTagName(td);
for (id=0; id<ary.length; id++){
eleAry[id].addEventListener('click',function(){change(id);},false);
}

のようにしても、どの対象も実行される時のid値を参照してしまいます。
これをfor実行時のidを綺麗に渡してやる方法はありますか?

806 = :

>>804-805
おおお、ありがとうございます。
無名関数使うと解決できるんですね……!

807 = :

何が問題だったのかを理解できていればいいんだが

808 = :

見りゃ分かる通りボタンを押すとdivタグが非表示になるスクリプトなんだけど、リロするとまた表示されちゃうのはどうにかなりませんか?

<div id="area">
<buttononClick="document.getElementById('area').style.display='none'">
</div>

810 = :

くっきーを使うんだ

812 = :

そんな簡単に退治できるような代物じゃないぞ、あれ

814 = :

単なる循環参照ではリークしない
DOMとの循環参照ではリークする
ページが閉じられようとリークを開放できない(ブラウザ自体のリークになる)のがIEのバグ

だと認識してたけど自信はない

815 = :

unloadで後処理すればいいってもんでもないの?

817 = :

null突っ込むんじゃなくて、きちんとdetachEventしてもダメ?
イベントリスナとして使ってるクロージャが原因でリークしがちだから・・・(もちろん他のパターンもある)

リーク対策は各種ライブラリのコード読むと、コメントで明示されてたりするから参考になるかも

819 = :

ゲームを作ろうとしているのですが1つ質問があります
PCだとそうならないようですが、時間が経つとGIFアニメが止まってしまいます
そこで止まる前に読み込んで交換するを繰り返しているのですが、
しばらくすると非常に重たくなります
メモりを解放(?)するにはどうしたらよいのでしょうか

820 = :

>>817
可能です。
以上。
↓次の方どうぞ

822 = :

セレクタの使い方がまず違う
とりあえず基本をもうちょっと理解してからの方がいいような気がする

823 = :

[type="button"]
[value="チェック"]
input[type="button"]
input[value="チェック"]
どれでもどうぞ

825 = :

一つの要素に定期的に画像を一つ入れてイベントを負荷することをやっているんだが、
メモリリークとかで気を付けることありますかね?以下二行繰り返し部分
elm.innerHTML = '<img src="hoge.jpg">';
elm.getElementsByTagName('img')[0].(attachEvent おr addEventListener)('onload', function (){ 処理 })
while(elm.childNodes.length) delete elm.childNodes[0]とか使わずにinnerHTMLも使っちゃって楽してるんだけど
大きな問題あります? 対象ブラウザはIE8, Chrome firefoxだけでいいです。

828 = :

いやだから、その処理を「どう書くか」が問題なんだが……
まあそれよりも先に気にするべきことがあるレベルだと思う

829 = :

とりあえずクロージャ使ってないなら大丈夫だろう

830 = :

>>823
これは
↓この部分に入れて使用しますよね?
$("").click(function())

で、「ボタンがクリックされたら」という条件を書く事は出来ますが、
>>821のonclickイベントのように関数を実行するにはどうするのでしょうか?
$("input[type="button"] ").click(function(){
check(1);
});
これだと、1の値を変えたい時は無理だし・・。

831 = :

1を書き換えたらええやん
何言ってるのかよくわからない

833 = :

1はどこにあるんだよ

834 = :

察するに、今までonclick="check(1)" onclick="check(2)" とHTMLに書いてたのをjQueryにしようとして
1、2を書く場所に困ってるんじゃねーの
HTMLの構造がわからんが、こんな感じかね
$('input[value="チェック"]').each(function(i){
$(this).click(function(){check(i+1);});
});

835 = :

例えば単純なんですが、
<input type="buttpn" value="チェック" onclick="check(1);">

function check(val){
alert(val);
}

みたいにすると、1だろうと2だろうとアラートで表示されますよね?
用はこういう風な書き方をjQueryでどうやってやるのかな?と思いまして。

836 = :

同じように引数で変数渡せばいいじゃない

839 = :

>>835
それなら>>830でも1だろうが2だろうがalertで表示されるでしょ
どういうことがやりたいのか伝わってこないな

例えば、
<input type="buttpn" value="チェック" onclick="check(1);">
<input type="buttpn" value="チェック" onclick="check(2);">

<input type="buttpn" value="チェック" onclick="check(10);">
みたいにたくさんあるのをjQueryで書きたいっていうのだとして、
じゃあ「1,2,…,10」はどこから出てきたの?って話しになるから答えようがない

「inputが出現する順番に従ってcheckに渡す」とかなら>>834みたいに書いたらいい

840 = :

>>839
check()内の値は確定していないんです。つまり、1か2かわからないと。

check()内の数値をPHPで出力して
どのIDのデータか判別してJavascriptで処理させたいのです。

ですので、jQueryを使わない場合は
<input type="buttpn" value="チェック" onclick="check(<?php echo $id ?>);">
function check(val){
switch(val){
case "1":
/* 1の場合の処理 */
break;
case
/* 2の場合の処理 */
break;
}
}

と言うように、check()に渡される値に対して処理を分岐させられます。
inputが出現する順番に従って全て渡したり、inputが複数あるのではありません。

つまり、「ボタンを押してそのボタンから渡される数値によって処理を分岐したい」
と言う事をjQueryでどう書けば良いか分からず、質問させていただきました。

841 = :

それjQueryの構文とか関係ないやん
>>836で終了

842 = :

その「引数を渡す」という書き方がjQueryだと全く分からないのです・・・

843 = :

だからjQuery関係ないって
JavaScriptの基本だろ

844 = :

>>840
それなら>>830
$("input[type="button"] ").click(function(){
check(<?php echo $id ?>);
});
これで解決なんじゃなくて?

846 = :

>>844
もちろんそれで解決するんですが、
Javascriptを外部ファイルにしたい時は無理です。

何か引数を渡す方法があると思うんですが、
無い場合はjQueryを使わない方法でやります。

848 = :

>>847
ありがとうございます。結局はこうするしかないと言う事ですね。
そしてjQueryを使わない方が速いと。

なんでもjQueryにすればいいわけではないですね、納得しました。

849 = :

document.writeでスクリプト要素を書き出してjQueryを読み込ませると
そのスクリプト内で$(document).ready()などが使えません
全てのHTMLヘッダにjQuery読み込みのタグを追加するしかないのでしょうか?

850 = :

>>821
$("input[type="button"] ")[0].onclick()ではないのか?
ぱっと読んだ限りだと「jQuery(というかjs)でボタンを押したことにしたい」
ということだと思ったんだけど。>>843とかもこう思ったハズ。
が、>>848では違うと否定されているという・・・

>>849
jQuery書き出しとreadyでscriptタグ分ければいけるんじゃないのか?


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

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


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