1 :
デフォルトの名無しさん :
2008/12/22(月) 02:45:48 ¥マークなどの特殊な文字列について質問させてください。 <script type="text/javascript"> $(document).ready(function(){ $("td:contains('\\')").css("text-align","right"); }) </script> <table> <tr> <td>商品名</td> <td>価格</td> </tr> <tr> <td>iPod</td> <td>¥10,000</td> </tr> </table> このようにして、\の付いている価格だけを右揃えにしようとし、 ¥は¥でエスケープさせました。 この方法はWINでは上手くいったのですが、 MACの環境だと¥が\(バックスラッシュ)になってしまったそうです。 そこで¥を&yen;などにしてみたのですが、そもそもCSSが効かなくなってしまいました。 どのように記述すればCSSを効かすことができ、さらにWIN、MAC両方で文字化けを防げるのでしょうか? よろしくお願いします。 ※jQuery歴は2週間程度です。
終了!
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
アイちゃんの言語野はまじパネェけど 前頭連合野が未発達なのが惜しい とはいえ、チンパンジーがjQueryの質問を自発的に行うということが 何か新しい可能性を感じさせる これは良スレになる予感
ジェイキューエルィwww ピロトティペテンジェイエス使えよ素人www
>>1 2chは初めてですか?
少しは調べてから書きましょう
jQuery の問題じゃないし。 板違いだし。
Vipでやれ
aQueryからきちんと順を追ってやったのかな? いきなりjQueryは中級者以上じゃないと難しいだろ
mQueryのダンジョンで苦戦したなぁ
11 :
デフォルトの名無しさん :2008/12/30(火) 07:01:29
どうせだし、ここは「jQuery の質問スレッド」にしようぜ。
ついでだし、ここは「Prototypeも同居」にしようぜ。
Prototypeはちょっと
14 :
デフォルトの名無しさん :2009/01/11(日) 22:45:24
jqueryの質問OKとのことなので質問します。 要素に対しHTMLを追加したいのですが、<>この記号が含まれているとタグと解釈するため 困っています。タグと解釈させない方法はあるのでしょうか? //こんな感じ $("body").append("<TEST>");
>< ってかjQuery以前の問題だが
ああ変換されちゃった > <
>>15 <>は、<とかで置換してるんですけど、それでもだめですねぇ・・・。
謎が解けないです。
あ、変換されちゃた。 &gt;&lt;を使ってもタグ扱いにされてしまうんです。 どうしたらいいんでしょう。
19 :
デフォルトの名無しさん :2009/01/11(日) 22:52:25
>
あ、できました。 何か勘違いしていたようです。 ありがとうございました。
せめてどうやったら出来たのか書いてくれ
板違いというが jQueryのスレってどの板にもないんだよなぁ ム板じゃなけりゃWebProg板なのか?Web制作板なのか?
24 :
デフォルトの名無しさん :2009/01/30(金) 16:53:14
test.php が「hello」と返す場合、 var a; jQuery.get("test.php", function (data) { a = data; }); alert(a); としたら hello と alert が出てほしいのですが undefined になります…。 hello と出るようにするにはどのようにしたらいいでしょうか。 よろしくお願いします。
getの呼び出しは単に第二引数をコールバックとして登録してるだけで、受信するまでブロックするわけではない。 また、この場合のローカル変数aはfunction(){...} 内では定数のように振る舞う(クロージャ)のでそこでaに値を代入してもエラーになるだけ。 それに、そんなことができたとしてもコードの実行順序からして意味がない。 これぐらい普通小学校で習っただろ!困ったちゃんだなまったくもう。
26 :
24 :2009/01/31(土) 11:38:24
>>25 そうですよね。>実行順序
他言語の参照渡しや、遅延評価的な仕組みで取得する方法はありませんか?
コールバック関数の中でalertよべばいいだけジャネーノ
あまりに低レベルな質問ばかりでワロタ
そもそもJavaScript解ってないんじゃないの
Ruby の p や PHP の var_dump 的に 配列やオブジェクトの中身を表示する方法ない?
ねーよw
33 :
デフォルトの名無しさん :2009/06/29(月) 15:04:41
<li> をドラッグ&ソートするプラグインはいくつかありますが、 <table> の <tr> 単位でドラッグしてソートできるプラグインはありませんか?
34 :
デフォルトの名無しさん :2009/07/17(金) 02:05:29
$.ってどういう意味ですか?
35 :
34 :2009/07/17(金) 02:19:00
あまりに低レベル・・・
37 :
デフォルトの名無しさん :2009/07/28(火) 20:56:19
$('[type="hidden"]')とかではとれるのに $('[for="hoge"])がとれないんですがなぜ?? <script> $(function(){ alert($('[type="hidden"]')); alert($('[for="hoge"]')); }); </script> <input type="hidden" for="hoge" value="1" />
38 :
デフォルトの名無しさん :2009/07/28(火) 20:57:13
まちがった <script> $(function(){ alert($('[type="hidden"]').val()); alert($('[for="hoge"]').val()); }); </script> <input type="hidden" for="hoge" value="1" />
>>38 input要素にfor属性なんてねーよ、ばーか
40 :
デフォルトの名無しさん :2009/07/29(水) 20:54:19
baka=aaa とかでもとれるからいいのかと思ってたんだけどダメなのね ばーか
>>40 jQueryのバージョン何?
俺のとこでは取れてるよん。
42 :
デフォルトの名無しさん :2009/07/29(水) 21:05:17
ほんとですか!? バージョンはjquery-1.3.2です。 なんでだろ他でポカやってんのかな…
39は真性バカ
44 :
デフォルトの名無しさん :2009/09/02(水) 22:26:05
困りに困って書き込ませていただきます。 助けてください。 onclick="return confirm('いいの?');" なアンカーに対してjQueryのclickイベントに $('hoge').click(function(e){ //処理 console.log(this); console.log(e); }); 上記のように処理を追加したとき onclickでのリターンを取得することはできないでしょうか? thisやeventやらをダンプしてみたのですが見当たらずコマています。 やりたいことはreturnでfalseが帰っている時はclick内の処理を行いたくないのです。 できるのでしたらお教えいただけると幸いです。 よろしくお願いします。
$('hoge').click(function(e){ //処理 console.log(this); console.log(e); return confirm('いいの?'); });
いいわけねーだろーが!
47 :
デフォルトの名無しさん :2009/09/11(金) 02:34:38
liveにready登録できないの? $('#ajax .hide').live('ready', function(){ $(this).hide(); }); 読み込んだ要素を即効消したいんだけどliveではむりですか?
48 :
デフォルトの名無しさん :2009/09/11(金) 03:37:30
liveQueryで同じ事やってチッ結局できねーのかよ と思ったら第一引数省いた↓でいけて自己解決です。 $('#ajax .hide').livequery(function(){ $(this).hide(); }); liveQueryさんすげー しかもblurにもliveQueryあらバインドできたし。 そのうちliveは追いつくのかな?
49 :
デフォルトの名無しさん :2009/09/19(土) 01:11:49
何千行もあるtableに対して、 $("tr").hover() やると、 読み込みに随分時間がかかるんですが、 何か回避策はないものでしょうか?
このスレなんでweb板じゃなくてム板にあんの?
アイちゃんがここにたてたからに決まっておろうが。
$doc = phpQuery::newDocumentHTML("
http://www.yahoo.co.jp/ ");
$html = $doc['div'] -> html();
サーバーサイド側でこんな簡単にHTMLが抜け出せる。
正規表現も使わないで済む。jqueryライクな書き方でOK
54 :
デフォルトの名無しさん :2009/09/28(月) 17:10:07
あらら simple_html_domってのがまさにそんな感じだから今まで使ってたけど そっちのが良さげなら乗り換えようかな
55 :
デフォルトの名無しさん :2009/10/05(月) 06:47:35
clickイベントに押されたボタンに応じた値を渡したいんだけど、 どうすればいいのん?
56 :
デフォルトの名無しさん :2009/10/06(火) 00:09:11
$('input:submit').click(function(){ switch($(this).attr('id')) { ......... .... ......... ....... } }); こんなんでいいのか? つーか、ちゃんとわかるように説明しろ ばーかあほまぬけ糞 しんでこいヴぉけ
57 :
デフォルトの名無しさん :2009/10/06(火) 04:17:37
>>56 最初のセレクタをidで指定するほうがスマートじゃないか?
58 :
デフォルトの名無しさん :2009/10/06(火) 04:22:25
>>57 だったらそもそも55のような質問はないだろうと踏んだんだが?
俺が質問の意図を読めてないのか?もしかして
渡しのためにケンカは止めて!>< ボタンを押すだろ?そうするとそのボタンに応じた反応をさせたいだろ? で、そのボタンの反応が似たり寄ったりだったら関数化したいだろ? つまり押したボタンに応じて関数に渡す変数を変えて、それで挙動を変えたいんですわ このボタンクリックしたらフォームにほげが、このボタンクリックしたらフォームにふがが、みたいな感じで だけどjQueryのクリックイベントだと渡しようがなくね?という疑問です 普通に onclick使うもん?
このスレなんでweb板じゃなくてム板にあんの?
61 :
デフォルトの名無しさん :2009/10/06(火) 05:20:12
>>58 なるほどなあ。
確かにそう読みとれるな。
62 :
デフォルトの名無しさん :2009/10/06(火) 10:13:49
63 :
デフォルトの名無しさん :2009/10/06(火) 11:56:19
>>56 の書き方だと、結局idをセレクタにするのと同じことを冗長にして
重くなっただけじゃないのか?
64 :
デフォルトの名無しさん :2009/10/06(火) 12:20:08
なんで?おなじファンクション通したいならID複数並べてセレクタ指定しても、 $('input:submit')でも同じじゃん。 どうせあとでIDで振り分けるんでしょ? 要は $('#id1, #id2, #id3').click(function(){ //id1なら以下の処理 //id2なら以下の処理 //id3なら以下の処理 }); てやりたいんじゃないのこの人? これなら>56といっしょじゃんね? つーか↓こういうことか? $(function(){ $('input:submit').click(function(){ var $title = $('this').attr('title'); switch($title){ case..... case..... case..... } }); }); <input type="submit" title="渡す値"> <input type="submit" title="渡す値2">
俺も便乗で質問なんだけど、
>>64 はなんでそんなに頭悪いの?
66 :
デフォルトの名無しさん :2009/10/06(火) 14:25:02
えっ?
質問する前に少しは考えるなり調べるなりしろよ・・・ 検索すればすぐにわかるんだろそんなこと
68 :
64 :2009/10/06(火) 19:53:39
>>65 ちゃんと突っ込んでくれるか?
何が言いたいのかわからん
jsとhtmlがほぼ分離されてる サーバーから吐くhtmlの中にonclickで起動するボタンやらリンクらやがあり、その呼び出される関数の引数は動的に変わる この状態でjQueryを導入したいと考えた場合、onclickの変わりにどのような動作をさせるのが普通なのか
70 :
デフォルトの名無しさん :2009/10/07(水) 00:36:47
おまえ55,59だろ もういいから来るな。調べろ
だって56じゃできねーもんよ id毎に挙動変えますってだけじゃん 無限の可能性記述しろってこと? 説明し直せって言われて説明し直しても煽りあいばっかでロクな答え返ってこんかったじゃん 俺は単純にバインドした関数に1とか2とかhogeみたいな引数を渡したいんだよ 調べた感じでは出来ないっぽいけど絶対にいい感じな代替の方法があるだろと思って気軽に書いた ばーかもうこねぇよ
72 :
デフォルトの名無しさん :2009/10/07(水) 09:34:32
何言ってんの?自分の説明力とjqueryの知識が足らなすぎって気付きなよ
>俺は単純にバインドした関数に1とか2とかhogeみたいな引数を渡したいんだよ
渡す値はボタンのHTML(付近)に書くのか?
だったら
>>64 の書き方でいいだろ
それで無理なんだったら、無理な理由をかけ。
情報小出しうぜーけど、情報出さずにごちゃごちゃいうよりはましだ
73 :
デフォルトの名無しさん :2009/10/07(水) 09:36:59
>調べた感じでは出来ないっぽい とか言ってる時点で頭おかしい
>>72 いや、お前も十分知識足りないんじゃないか?
どっちもどっちだと思うぞ。
75 :
デフォルトの名無しさん :2009/10/07(水) 10:40:40
>>74 だったらあんたが答えてあげればいい話じゃん
説明力が足らないから 今のソースがどうなってるのか晒せ
サーバ側で<a onclick="foo(*)">ってHTMLを出力する。 ただし*はその時によって違う値でサーバ側で生成する。 onclickをjQueryを使ってstaticなjsファイルに追い出したい。 ってことかね? Ajaxで取ってこない限り、HTML中の<script>で 適当な変数に代入するしかないと思うけど。つかjQuery関係ないな。
>>71 >気軽に書いた
あんんたの気軽さのせいで回答者がいろんなパターンで補わなきゃいけないんだけど?
できる限り具体的に明確に示そうよ質問者さん。
>>78 だからこれでいいんじゃないの?
プログラム(が吐き出すHTML)でvalueとかtitleとかに値入れてやる
>>64 をbuttonに書き換えただけだけど
[jsファイル]
$(function(){
$('button').click(function(){
// value値が取得できるからそれつかって処理すればいい
alert($('this').attr('value'));
}
});
[html]
<button value="hoge">hogeのボタンだよ</button>
<button value="foo">fooのボタンだよ</button>
・
・
・
[php(おまけ)]
<?php
$vars = array('hoge', 'foo', 1, 2);
foreach ($vars as $var) {
echo "<button value=\"{$var}\">{$var}のボタンだよ</button>";
}
?>
ためしてないからミスってるかも知らんが。。
>>80 すまん既出だったね。
アンカーはtitleに入れたのがツールチップで表示されたりするじゃん。
他にはclassやrelに適当なプリフィクス付けて入れるとか面倒な方法しか
俺には浮かばない。
tooltipが嫌なら↓こういうの走らせればいいのでは? (試してない) $('a{特定する必要があればclass名など}').each(function(){ var _this = $(this); _this.data('{何かキー名を}', _this.attr('title')); _this.attr('title', ''); }); 当然これを走らせるとtitleではもう取得できないから data('{何かキー名を}')で取得する。
あーチェーンするの忘れてた まぁいいや
>onclickの変わりにどのような動作をさせるのが普通なのか
って
>>69 にあるのな。
普通かどうかはわからないけど、俺はいつも80みたいな方法でやってる。
ほかに方法があるなら俺も聞きたいな。
jqueryの参考本でオススメてありますか? 近所に本屋がないど田舎なんで感想とか聞けるとありがたいです アマゾンもレヴューはまだあんまりありませんでした。
田舎もんはウェブなんてやらず畑耕してればいい。
本などなくてもウェブで十分だろ
>>86 んじゃ、あんたが俺の代わりにサイト作ってくれやw
俺はweb屋じゃないんだ。上司がどこで知ったか知らんがjqueryとかajaxを使って
突然会社のサイト作れとか言ってきたんだよホームページビルダー買って
やるからとか言ってな。
おまえ新しく知った単語使いたいだけちゃうんか?
jqueryとかajaxとか言いたいだけちゃうんか?と
もうねアホかと馬鹿かと・・・・何か言ってやってくれ
>>88 だからその上司にこう言ってやれアホ
「俺らjQueryとかじゃなくて畑耕しません?ジェイキュウリって名で売りましょうよ」
web って net に対するアンチテーゼで出てきた用語なのか?
実際 jQuery っていい本ないよね 特に日本語の本
俺は「jQueryで作る Ajaxアプリケーション」って本を適当に買って読んでる
それなりに参考になってると思うけど他の本読んだことないしよくわからん
それはさておきjQuery日本語リファレンス(
http://semooh.jp/jquery/ )見てて思ったんだけど、
filter(expr)のページの「引数 index」って、これはもしや「filter(fn)」のページの方の、
fnの引数のことなのだろうか。
93 :
デフォルトの名無しさん :2009/11/06(金) 12:37:37
プラグインのJQTouchでiPhoneサイト上でswipeさせるようにさせるにはどうしたら良いでしょうか?? 因にswipeはボタン経由ではなくて 直に指をスライドさせてswipeして画面遷移をさせたいです。 様々なサイトを見たのですが解決できませんでした。 不可能な気がするのですが誰か宜しくお願いします。
>>91 jQuery in Action にどんな不満が?
sortable で、自分の指定した順番で並び替える方法ってありますか? 並べ替えは動作するんですが、その順番をcookieに保存しておいて、 次に表示した時に、cookie を読み込んで、最初からその順番で表示したいんですが…
>>95 モレも知りたい。
jQueryを使用したCookie開閉保持メニューをよりjQueryっぽく書き直す|caraldo.net | MT Blog
http://blog.caraldo.net/2009/03/newjqqookiemenu.php こんな感じでjquery.cookie.jsでも使えばいける。
でも、単に遷移したページから戻ったときに前の状態を保存するだけにしたい場合、
swfobjectを使ってるようにURLにアンカーリンクを追加して
「hoge.html#SORT1」みたいなかんじで状態を維持するにはどうすればいいでしょうか?
animate で、任意の変数(css)でない値を変化させるのってどうするんだろ?そもそもそんな利用法はサポートされていない? 今のところ見えないダミーのdivを作って、そいつのwidthとかを値の入れ物にしてるんだけど。
100 :
デフォルトの名無しさん :2010/01/18(月) 18:30:29
$(this).next() だと$(this)の次の要素となりますが、 次の要素だけでなくセレクターで指定したい場合、どのように書けばよいのでしょうか? $(this + ' > div')とか$(this[attribute])みたいに書きたいんですけど…。 よろしくお願いいたします。
101 :
デフォルトの名無しさん :2010/01/19(火) 11:35:52
1.4にしたら、$.ajax(dataType: "json")がparsererrorを戻すようになった。 戻ってきてるのは{"abc": "def"}で、headerがapplication/jsonでも駄目。
1.4にしたら動かなくなったお FFのエラーコンソールでは の部分で、未定義の実体が云々言われるんだが、どういうことなんだ
$.fn.newfunction = function() { ... } と書くのと、 $.fn.extend({ newfunction : function() { ... } }); と書くのとでは、どのような違いがあるのでしょうか?
jQueryでアコーディオン的なインタフェースを書こうと考えています。 以下のように複数のアコーディオンで連動するようなものを考えています。 例えば1つのアコーディオンに4つのページ(以下1ページ〜4ページ)が含まれていて、 それが3つ(以下アコーディオンA〜アコーディオンC)あるとします。 今アコーディオンAの2ページ目を開けるようにクリックしたら、 他のアコーディオンBCも同じ2ページ目をシンクロして開けたいと いうものです。 このことについて何か有益な情報はないでしょうか? よろしくお願いします。
105 :
デフォルトの名無しさん :2010/01/31(日) 17:35:17
http://bost.bostudio.co.jp/?p=1331#respond にあるjQuery+draggable+cookieを試そうと思っています。
対象物をドラッグして、リロードしても位置を記憶するというものです。
<script type="text/javascript">
$(function() {
$('#myDrag').draggable({
opacity : 0.5, //ドラッグ時の不透明度
cursor : 'move', //カーソル形状
containment: '#maincol',//移動範囲制限
stop: function(e, ui) {
$.cookie("tname",ui.position.top,{expires:30});//topの数値をクッキーに保存
$.cookie("lname",ui.position.left,{expires:30});//leftの数値をクッキーに保存
}
})
});
if($.cookie("tname")) {
$(function(){
$("#myDrag").css("top",$.cookie("tname") + "px");//保存したクッキーの値を挿入
$("#myDrag").css("left",$.cookie("lname") + "px");//保存したクッキーの値を挿入
});
}
</script>
以上のスクリプトで対象物の移動はできるんですが、リロードしたときその位置は保存されていません。
どなたか解消方法を教えていただけないでしょうか。
ページにボタンがあり、ボタンが押されるとそのページを見ている全員にボタンが押された旨を通知する ものを作りたいのですが、どのような仕組みになるのでしょうか?
>>106 それを実現しているサイトの例がある?
サーバ側の協力とブラウズしている側でのポーリング(またはそれに代わる仕組み)が必要だと思うけど。
Cf. Comet
108 :
デフォルトの名無しさん :2010/02/18(木) 21:02:37
<a id="test" href="#" onclick="return confirm('移動しますか?')">リンク</a> これをJQueryに移植しようとしたんですけど、できませんでした。 どうreturnさせればいいのかわかりません。 教えてください。二百円あげます。
あ、できた
で き ま し た ! /\___/ヽ /'''''' '''''':::::::\ . |(●), 、(●)、.:| + | ,,ノ(、_, )ヽ、,, .::::| . | `ヒ---イ ' .:::::::| + \ `ニニ´ .:::::/ + ,,.....イ.ヽヽ、ニ__ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
おれもできた
113 :
デフォルトの名無しさん :2010/02/27(土) 23:14:17
>>112 何を参考にしてるのか知らないが、そのページでDraggableをチェックしてダウンロードできるファイルで
すべて事足りる。
アコーディオンメニューで困ってます(´;ω;`)
http://sawa-s.com/sample_js/scroll_accordion_menu/index.html# とりあえずここのを参考にして作ってます。
上のサイトは
親>子(該当ページへジャンプ)
になってますが、作りたいものは、
親>子>孫(該当ページへジャンプ)
・・のような物を作りたいと考えてます。
ソースは下記
<div id="accordionmenu">
<div class="menuheader expandable" id="test">テキスト</div>
<ul class="categoryitems">
<li class="expandable">テキスト
<ul class="categoryitems">
<li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li>
</ul>
</li>
</ul>
</div>
デザインとして親、子をクリックしたら開閉がわかるプラスとマイナスのボタンをつけたいので上記サイトを選んだのですが・・・。
アドバイス頂ければ幸いです・・・!
115 :
デフォルトの名無しさん :2010/03/12(金) 21:00:32
$("#a").click(function(){});なんかのイベント時の処理を $(function(){});の外に書いた場合に動かないのはなんでですか? 関数と一緒で動きそうな気がするんですが
id=aの要素の前に書いてんじゃないの? $("#a")の評価時点で存在しない要素は処理できません。
117 :
デフォルトの名無しさん :2010/03/23(火) 01:39:37
jQuery.ui.tabsの、ヘッダ部分の高さを取得する方法はあるでしょうか?
>>117 どうせHTML要素になるんだから
var height = $(selector).tabs().css('height');
とか
var height = $('ui-tabs-nav').css('height');
でいけるんじゃないか
119 :
117 :2010/03/23(火) 23:20:41
>>118 ご助言、ありがとうございました。
後者ではうまく取得できませんでしたが、前者で<ul>にIDをつけてソレの高さを取得したところ、大体の大きさは取得できたようです。
ぴったりとはいきませんが、やはりマージンなどの関係でどうしても誤差が出てしまうのは避けられないのでしょうね。
ver1.3.2 $("#form1").serialize()が、あるウィンドウ1(showModalDialog)では成功するけど、 別のウィンドウ2(showModalDialog)では空文字を返します。 もちろん、serialize()を行っているJavascriptファイルは同一ファイルです。 このような現象見たことある人いますか?
>>120 jQueryオブジェクトをマージすることはできますか?
$([$('div#test1'), $('div#test2'), $('div#test3')]).click(function(){});
のようなことがしたいです。
個別にイベント設定すればいいじゃんってのは無しの方向でw
セレクタで書けないなら、.add() で追加するとか
123 :
120 :2010/03/25(木) 10:39:45
>>121 個別のform部品の値は取得できるので、
その方法しかないのでしょうか?
FirefoxやChromeでは成功するんですけど、
IEだけ空文字が返るんです。
124 :
120 :2010/03/25(木) 11:14:14
>>121 $("ID :input").serialize()ってしたら取れたw
つきあってくれて、ありがと
Google AJAX APIからjQuery本体とJquery UIを取ってきて、プラグインはローカルから読み込ませる、ということは可能でしょうか?
どうも、単純に「<script src="
http://www.google.com/jsapi "></script>」の下にローカルからの読み込みを記述してもダメなようです。
127 :
デフォルトの名無しさん :2010/03/27(土) 00:27:19
jqueryとui.tabs.jsを使って $(function(){ $('#info-tab>ul').tabs(); }); //--></script> タブを動かしたいのですが、firebugによると $.widget is not a function [Break on this error] destroy: function() { ui.tabs.js (457 行目) $("#info-tab>ul").tabs is not a function [Break on this error] $('#info-tab>ul').tabs(); のようなエラーが出てしまいます。数時間やってみましたが原因がわかりません。 どうしたらよいでしょうか?
128 :
デフォルトの名無しさん :2010/04/04(日) 21:40:16
jQuery.ui の draggable & droppable で開発しています $('#hoge').draggable({ revert: 'invalid' }); $('#fuga').droppable({ accept: '#hoge', drop: foo }); として、ドロップに成功した場合にも、 関数 foo 内で指定した条件だった場合にドロパブル要素をリバートさせたいんですが、 可能でしょうか return false; なんかで可能なのかとおもい、試して見ましたがうまく動きません
129 :
128 :2010/04/04(日) 22:32:42
自己解決しました function foo(e, ui){ ui.helper.draggable('option', 'revert', false); if(....){ ui.helper.draggable('option', 'revert', true); return; } ... } という感じで無事に、 ドロパブル要素にはしたけどある条件下に置かれた場合にはやっぱりドロップしたくない場合も、 リバートできることが判明しました
リンクをクリック→jQueryに引数を渡す→Loading表示→jQueryが該当するrssを取得してきて表示 ってのをやりたいのですが、「jQueryが該当するrssを取得してきて表示」はできてるのですが、 「リンクをクリック→jQueryに引数を渡す→Loading表示」がわかりません。 参考になるコードはありますか? また、リンクをクリックして更新するのはページ全体ではなく、jQueryの読み込みだけです。
>>130 上のほうで同じような質問をしてボロクソに叩かれた者だけど、
結論としては引数を指定してやることはできないっぽい
ただ代わりにinput要素やらなんやらを隠し持ってていたりすればいけるっぽい
例えば
$('#hoge').click(function(){
var url = $(this).next().val();
....
}
<input type="button" id="#hoge" />
<input type="hidden" value="
http://example.com/ " />
また、引数として渡ってくる値が有限ならこんなふうにクラスを指定して分岐させてやる手もある
function getRss(url){...}
$('input.hoge').click(function(){
getRss('
http://example.com/hoge ');
});
$('input.fuga').click(function(){
getRss('
http://example.com/fuga ');
});
...
>>130 引数を渡すってどういうこと?aタグのhrefを取得してAjaxでデータを取ってきたいとかなら
clickのコールバック関数でthisを呼べばいい
loading表示はajaxSend呼び出して、ajaxCompleteで消すとかすればいいよ
>>131 さんくです。参考にします。
>>132 ボタンでもaタグのリンクでもいいんですが、クリックするとボタンかaタグのvalueを関数に送ってそれを処理って感じです。
134 :
125 :2010/04/09(金) 11:38:22
>>125 失礼、自己解決しました。
<script src="
http://www.google.com/jsapi "></script>
<script type="text/javascript">google.load("jquery", "1");</script>
<script type="text/javascript" src="プラグイン"></script>
<script type="text/javascript">
※jQueryのコード
</script>
・・・でよかったんですね。
>>134 $.getScript('hoge.js'); 便利
$('#aaa').append("hoge"); これ($('#aaa'))を初期化したいのですが、どうすればよいですか?
あ、自己解決しました empty()
最近はjQueryの入門書みたいなのが何冊か出てるから、それ読んでからプログラミング したほうが効率がいいんじゃないかな。
― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭
>>95 でも書いたんですが、sortable で最初から並び替えておく良い方法は無いでしょうか?
>>140 キーを順番に
5,2,3,1,4
とかしてcookieに保存すればいいじゃない
jQueryで表示した<div>要素をクリックして、clickイベントで拾う事はできないのでしょうか? HTMLに直接書いたものだと機能したのですが・・・
>>142 .live("イベント",こーるばっく)
146 :
デフォルトの名無しさん :2010/04/19(月) 10:51:19
147 :
デフォルトの名無しさん :2010/04/19(月) 20:17:15
148 :
デフォルトの名無しさん :2010/04/20(火) 20:31:45
ほかのサイトRSSとかXML取得していろいろやりたいんやけど クロスドメインはダメってことで何もできん… JSONに変換するのも面倒やし。 みんなどうやってXMLゲットしてますか?
149 :
デフォルトの名無しさん :2010/04/21(水) 21:15:35
Perlをつかってる
150 :
デフォルトの名無しさん :2010/04/22(木) 01:58:16
>>147 宣伝すぎるだろw
前にJavaScriptスレにあった「Web3.0がくるんでしょうか」で締めた宣伝レス思い出したわw
もっとがんばってから宣伝しろよ
151 :
デフォルトの名無しさん :2010/05/02(日) 14:54:48
ttp://hisasann.com/housetect/2008/06/javascript_4.html に
$(function () {
$("#data").load("data.html");
}
);
でローカルファイルdata.htmlにアクセスできる、とありました。
確かにFirefoxでは動作したのですがGoogle ChromeではNGでした。
Google Chromeで同様に動作させるためにはどのようにすればよいでしょうか。
また、本来このようにローカルファイルへアクセス出来るのは問題がある動作なのでしょうか。
152 :
デフォルトの名無しさん :2010/05/02(日) 19:54:03
>>151 これ、書いている人が勘違いしてるんだろうけど、
サーバからクライアントのローカルファイルにアクセスできるわけじゃないからあんま意味ないよ
ローカルのhtmlをブラウザで見たらローカルのファイルを見れてるだけ。
153 :
151 :2010/05/02(日) 22:02:45
>>152 あ、私がやりたかったことに沿っていたのであまり気にしてませんでしたが、
確かに引用文元からの文脈でみると勘違いしているようですね。
ただ、今回試したのは
ローカルのhtmlからjQueryを用いてローカルファイルをloadする、
ということなのですが、これがGoogleChromeでは出来ませんでした。
>>153 そういうのをやるとTiddlyWikiのソースを見ると参考になるよ。
結局ブラウザごとに違う処理を使ってるわけだが。
155 :
デフォルトの名無しさん :2010/05/03(月) 03:02:12
>>153 chromeはセキュリティポリシーでローカルファイルへのアクセスを禁止してるからね
検索すると結構出てくると思う
156 :
151 :2010/05/03(月) 14:13:50
157 :
デフォルトの名無しさん :2010/05/22(土) 12:15:00
これってそこかしこにサンプル転がってるけど 競合ってするの?めぼしい物を入れていこうと思ってるんだけどさ
$が重複しそうなときには回避できる 詳しくはぐぐれ
160 :
デフォルトの名無しさん :2010/06/02(水) 17:09:54
>>159 $の衝突は回避できても
>>158 が想像してるのはプラグインのnamespaceだから衝突しそうじゃね?
161 :
a :2010/06/03(木) 01:46:20
a
162 :
デフォルトの名無しさん :2010/06/03(木) 01:58:52
クロスブラウザで統一されたデザインを成り立たせようと思ったらとたんに難しくなる どう回避してる?
>>163 そもそもIEユーザーが見るようなサイトではなかったから、IEは無視することにした
165 :
デフォルトの名無しさん :2010/06/07(月) 13:31:00
すいません jquery 1.4.2 を使って、 $.getJSON( '/api', null, function(data, status) { alert(data); alert("abc"); } ); のような感じのコードを書きました。 firebugで確認すると、Ajaxでのgetメソッド通信は200 ok で成功していて、 欲しいデータも取ってこれてるのですが、なぜかコールバック関数が呼ばれず、悩んでいます。 Ajax通信が成功したあとの alert(data)もalert("abc")も実行されないんです。(ダイアログが何もでない) 何か思い当たる節がある方教えていただけると幸いです。
nullって何だよ?
167 :
デフォルトの名無しさん :2010/06/07(月) 14:12:59
レスありがとうごじます。 第2引数がなんなのかよく分からなかったのですが、nullにしてる サンプルを発見したのでそのまま使いました。 第2引数を省略して、コールバック関数を第2引数にしてる例もあったので そちらも試してみたのですがうまくいきません。。
Forefox+Firebugのコンソールで、Javascriptのどこかでエラーが発生してないかどうか確認。 なければ、packされてないjqueryを使ってステップ実行で、どこでどうなるのか把握。 invalidなJSONデータを戻してるとか、そんなんじゃねーの?
169 :
デフォルトの名無しさん :2010/06/07(月) 14:29:13
>>invalidなJSONデータを戻してるとか うわーおっしゃる通りでした。 smarty使わなくてはいけなくて、勝手にhtmlエスケープされていたからでした。 ありがとうござまいした。助かりました。
domにdomをappendすることってできないのでしょうか?? d = $(".hoge_class"); dd = $("#fuga_id"); dd.append(d); とやってみたのですが、どうも要素が追加されません。 appendの引数は文字列限定しょうか。 domにdomを追加したい場合のやり方あったら教えて頂きたく><
171 :
デフォルトの名無しさん :2010/06/18(金) 20:47:03
>>170 DOMを文字列に変換して追加すればいいんじゃない?
>>170 hoge_classのノード(複数の可能性あり)を移動したいって事だよね?
普通に可能だ
<script src="
http://www.google.com/jsapi "></script>
<script>google.load("jquery", "1");</script>
<script>
function move() {
d = $(".hoge_class");
dd = $("#fuga_id");
dd.append(d);
}
</script>
<div id="fuga_id" style="background-color:aqua;"></div>
<input type="button" class="hoge_class" onclick="move()"><br/>
<input type="radio" class="hoge_class"><br/>
<textarea class="hoge_class"></textarea>
raphaelってどうですかね?
177 :
デフォルトの名無しさん :2010/06/23(水) 20:31:37
詳しく調べたわけじゃないけど、 jquery内で使う変数が、BODY内で使われてるidと同じ場合、 IE6、7、8で100%エラーでるんだけど、これはバグと認識していいのかな? それとも仕様? JQueryの1.3、1.3.2、1.4.2で確認した。
<html><body>
<div class="test" style="width:100;height:100;background:#eee;">ああ</div>
<div id="hoge"></div>
<script src="
http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js " type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
hoge = "dummy";
$('div.test').hover(
function() { $(this).css('background-color', '#ccc') },
function() { $(this).css('background-color', '#eee') }
)
});
</script>
</body></html>
適当だけど、こんなやつ。
どちらかのhogeを変えたら動く。
>>178 alert(hoge.nodeName); // DIV
と出るのでDOMアクセスやスコープチェーンの違いかねぇ・・・
var hoge = "dummy"; ならエラー出ないよ。
>>179 本当だ。宣言されてればいいのか。
プラグインで数時間くらいハマって、泣きそうだった。
まさか全然無関係と思われる<div id="result">が原因とは思えないじゃんw
自作プラグインかそうで無いのかは知らないが、 varの書かれていないコードに疑問を持たない時点で・・・
182 :
デフォルトの名無しさん :2010/06/25(金) 16:47:33
テンプレートなしでHTML作ろうとしたら頭が死にかけた・・・
意味が分からない
184 :
デフォルトの名無しさん :2010/06/26(土) 07:21:35
jquery.tmpl.js の最新にrenderが存在しないのは何故ですか? これで1日潰れました
すみません SmartClient のスレはどこですか?
186 :
デフォルトの名無しさん :2010/06/29(火) 18:37:02
$(".op").live("click", function(){ event.stopPropagation(); }); liveだとeventが取得できないんですが、どうすれば良いですか?
テーブルのセルを得る方法がわからないです。 $(上から何段目、左から何個目のセル).html('hoge'); みたいなことをやりたいんですけど
>>187 $("table tr:eq(0) td:eq(1)").html("hoge");
>>186 $(".op").live("click", function(event){
event.stopPropagation();
});
190 :
187 :2010/06/30(水) 09:41:15
>>188 おおお・・・ありがとう
うちに来て妹とファックしてください
191 :
デフォルトの名無しさん :2010/06/30(水) 14:34:12
>>189 動きました。ありがとう。
htmlのタグの構成が間違ってました。
>>190 数回くらいの実行なら、
>>188 でいいけど、結構な数のアクセスが必要な場合は、
毎回セレクタ使ってるととんでもなく遅くなるよ(100回で秒のオーダーになったりする)。
そういう場合は、DOMで直接アクセス(なおかつ、ノードが下がるごとに変数にキャッシュ)が速い。
var rows = $('#my_table>tbody>tr');
var row = rows[0];
access row.cells[0], row.cells[1], ...
レキシカル変数って言うんですかそれ? 覚えたてでよく分からないです
単なるローカル変数
そですか
196 :
187 :2010/07/01(木) 14:25:25
>>192 まさにそのくらいになってたからちょっと改良しなきゃなと
思ってたところだった。ありがとう。
$(xml).find('hoge,piyo,fuga').each(function(){ というループを実行してるとき、hoge,piyo,fugaのどれに 引っかかったのかを$(this)から取得する手段ってある?
>>197 $(this).get(0).nodeName とか?
200 :
デフォルトの名無しさん :2010/07/01(木) 20:10:34
下のような2ペインになるようなhtmlを書いています。 <body> <div class="ui-layout-west"></div> <div class="ui-layout-center"></div> </body> ui-layout-westは左メニューでui-layout-centerがメイン画面です。メイン画面の方にGoogleのトップページなど任意の外部のWebページをロードしたいのですがどのようにすればよいでしょうか。 アドバイスお願いします。
<iframe>
202 :
デフォルトの名無しさん :2010/07/01(木) 20:27:33
203 :
デフォルトの名無しさん :2010/07/01(木) 20:28:20
204 :
デフォルトの名無しさん :2010/07/02(金) 22:10:53
$.ajaxで ノードが読み込まれてから処理したい場合は どう書けば良いですか?
ノードが読み込まれてからっていうか DOMが構築されてから処理を進めたい場合です
>>204 ごめん、意味がよくわからない。
$("#node").ready(function(){
//こういうこと?
$.ajax({
complete: function(xhr) {
//それとも、こういうこと?
consolen.log(xhr.responseXML);
});
});
具体的にはhtmlを読み込み終わってから読み込んだ部分の高さを取得したいんだが 画像を読込前の高さが取得されてしまいます。
async:false にするとかなりマシにはなるのですが、まだ稀に構築されてません。
とりあえず適当に頑張ってみます
setTimeout(function(){ やりたい処理; }, 500); としたら出来た。
300位が気持ち良いかも
400だな、300だと読み込まれない時がある
両方使わないと重い 重いサーバーのデータを持ってくると画像表示が間に合わない
プラグインの方は要らなかったみたい サーバー別の待ち時間をデータベースに落いて 待ち時間を変化させないといけないかも。
プリロードしといて、 そっちのload確認してから 仕事すればいいんじゃないの?
218 :
デフォルトの名無しさん :2010/07/03(土) 18:19:46
フレームから他のフレーム内にある要素の値を書き換えるとき parent.hoge.document.getElementById('piyo').value='うんこ'; みたいなことをしているんだけど これをjQueryの流儀でかっこうよく書くにはどうしたらいいか
>>217 やってみたけど、completeにならない画像もあるので永久に終わらなくなった
アクセス解析用の埋め込み画像とかだと思う
220 :
218 :2010/07/03(土) 19:19:22
$(parent.hoge).find('#piyo').val('うんこ'); とやってみたけど駄目だった。 うまく行きそうだと思ったんだけどなぁ
やっぱり、500ミリ秒待たないと画像の高さが反映されない
>>101 私も同じ問題ではまってる。
で、pasererrorになるならということで、以下のような関数を書いて処理をすると
正しく出力される。
1.4以降のバージョンでは正しくparseしてくれないようだ・・・。何が原因なんだろう・・・。
{"msg":"hogehoge"}
function getJSON(URL)
{
$.ajax({
url : URL,
dataType : "json",
error : function (XMLHttpRequest, status, errorThrown) {
switch(status)
{
case "parsererror":
var data = XMLHttpRequest.responseText; // 取得したテキスト
var json = eval( "(" + data + ")" );
alert(json.msg);
break;
}
},
});
}
>>223 $.getJSON(URL,null,function(json){alert(json.msg)}));
#POSTするデータは無い(URLに含まれる)ので null としています。
で処理をすると全く応答がありません。
parsererrorが出ると後続の関数は実行されないようです。
$.getJSON(URL,null,alert("test")));
を実行すると普通に alert("test") も動きます。
>>224 一番考えられるのはやっぱparseJSONだと思うけど。
一応dataに戻る文字入れてこの条件通るか確認してみてはどうだろう。
(jQuery内でjsonのチェックしてる正規表現)
if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
>>225 この条件をテストしてみたらFALSEでした。
う〜ん。空白か改行が入っているのかな・・・。
エンコードはZend_Json::encode() でしているのですが・・・。
jQueryの本、いっぱいでてるけどお勧めありますか?
書籍でお勧めは無いと思います。
ちょっと前なら jQuery in Action がおすすめでしたが、 もう2年も前の本なので今はおすすめできません。
始めまして。すこしききたいことがあります。 jquery.alerts.jsを使用してIE8でjAlertを使ってメッセージダイアログを 表示させたいのですが、画面下方に新しいdivが作成されて表示されてしまい、 上手くダイアログとして機能しません。 どうすればいいのでしょうか? ちなみにfirefoxではきちんとダイアログとして表示されました。 どなたか対策のわかる方はいませんでしょうか? よろしくお願いいたします。
alart?
jdigiclockの天気予報を表示させるにはどうしたら良いのでしょうか?
237 :
デフォルトの名無しさん :2010/08/16(月) 16:11:58
はじめまして jQueryの『plupload』にて質問があります ファイルのアップロードはサンプルで無事行えたのですが ファイル名が、日本語の場合文字化けしたファイル名になってしまうのですが サンプルデータを書き換える場所がわかりません。 どなたか対策のわかる方はいませんでしょうか? よろしくお願いします 例)「20100816_テスト.zip」→「20100816_繝・せ繝・zip」
>>237 「ちゃんと」utf-8で保存されてる
表示するプログラムの方でutf-8として正しく出力汁
242 :
デフォルトの名無しさん :2010/08/19(木) 18:19:14
tabsを使って 1.タイマーなどでイベント待ち 2.発生したら特定のクリックさせたいタブを点滅させる 3.クリックされたら点滅をやめる という処理をしたいんだけど、どうやればいいかな? everyTimeとeffect("highlight")を組み合わせてみたんだけど、どうもうまく動かない・・・。 仕掛ければいいのはli? それとも別にdivやspan入れて、それにeffect仕掛ければいいのかな?
243 :
242 :2010/08/20(金) 12:11:46
>>242 ボケて申し訳ない、自己解決。
liに個別のID振ってeffect指定すれば点滅してくれた>タブ
244 :
デフォルトの名無しさん :2010/08/29(日) 20:43:57
(1)datepickerで、「この日とこの日だけ選択可能にする」って制限をつけることは可能? (2)月の移動をイベント検知してコードを動かすことは出来る? 何がしたいかというと、「blogのカレンダー」が一番近いですね。書き込みのあった日だけクリック可能にしたいのです。 「ピックアップした後にajaxで投げて日付をチェック、書き込みがなかったらエラーのダイアログ出して処理中止」で 逃げられないコトはないと思うけど、出来ればクリックそのものが出来ないようにしたいんです。 リファレンスを見ると、最小・最大の範囲でのみ指定可能って感じだけど、見落としているコトがあればご指摘くだされ。
「ピックアップした後にajaxで投げて日付をチェック、書き込みがなかったら無視」で
246 :
244 :2010/09/02(木) 11:00:06
>>245 失礼、見逃してました。
が・・・やはりそっち(ピックアップ後の処理)になりますか・・・。
無視するにしても、出来ればdatepickerを閉じさせたくないんですよね。
onSelectイベントの中でdatepickerを閉じるのをキャンセルさせるのか可能でしょうか?
slideupして要素が画面から消えたら文章を書き換えてそれをslidedownして表示、といったことを行いたいのですが、うまくいきません。 どのように記述したらいいのでしょうか? タブを用いた画面の切り替えに使いたいと考えています。 よろしくお願いします。
248 :
244 :2010/09/03(金) 23:19:29
>>246 なんとか自己解決しました。大まかには
(1)input要素に追加するのではなく、divなどに(そのままなら常にdatepickerが表示されるように)追加する
(2)ロード時にdatepickerをhide()する。
(3)input要素のclickでdatepickerをtoggle()する。
(4)datepickerのonSelectイベントで(ajax経由で)日付をチェック、OKならinput要素に選択された日付を代入し自分自身をhide。NGならそのまま。
・・・という手順で、概ね意図した動作になりました。
datePickerのonSelectでは$(this)が使えないので、inst.inputから引っ張ってこなければならなかったのがちょっと難しかったですね。
249 :
すいません>< :2010/09/06(月) 12:01:46
大変くだらない質問で恐縮ですが、どなたか教えていただけないでしょうか? offset()を使用して要素の位置を取得したいのですが、select要素だけ取得できません。 どなたか対応策をお願いします。>< 教えてくんです。すんまそん。
selectedindex
fadeInしながらslideDownって出来ないの?
できる
リンクをクリックしたらイベントっていう風に記述してるんだが、クリックするたびに表示が先頭に戻ってしまう。 なんとかならないの?
ソース貼れ
>>253 多分 href="#" となってるものにイベント貼ってるだろ
$('a').click(function(e){
e.preventDefault(); // ← これでいけるはず
>>256 「BBC Radio 1 Zoom Tabs」って名前で拡大表示が目的のプログラムなんだから、
画像が大きく表示されて当然じゃね?
大きさが気に入らないのなら、初期化時の拡大率の値を減らせば縮むはず。
zoomtabs(15);
(省略時は、引数が10の指定と同じ)
「fullView」と「zoomView」の宣言の中身を変えればもっと細かく調整できるが、
「em」で相対指定してるから、大きくなりやすいのかもな。
>>257 ありがとう!
やっぱり拡大がデフォルトなのか…。
ちゃんと自分でスクリプト読めるように勉強するわ。
1つのdatepickerで2つ日付選択して範囲選択させたいのですがそういうモードってないですか? どこかのサイトでdatepickerでやってるの見たんですけどどこだったかわからなくなってしまって…
260 :
248 :2010/09/20(月) 18:38:47
>>259 人に教えられるほどの知識はありませんが・・・。
>>248 を少し変えれば動きませんか?
具体的には、範囲の開始日を入れるinputをα、終了日を入れるinputをβとして、(4)を
4-a 一回目のピックアップだったら(αとβが両方とも未入力だったら)ピックアップした日付をαにいれてそのまま
4-b 二回目のピックアップだったら(αに入っていてβが未入力だったら)ピックアップした日付をβにいれて自分をhide
という感じではどうでしょう? 実験はしていないので、もし動かなかったらゴメンナサイ(汗
要素をn個づつwrapする方法が分かる方いらっしゃいますか? 例えば <p>text1</p> <p>text2</p> <p>text3</p> <p>text4</p> を <div> <p>text1</p> <p>text2</p> </div> <div> <p>text3</p> <p>text4</p> </div> としたいです。 $("p:nth-child(2n),p:nth-child(2n-1)").wrapAll("<div />"); 等と書いてみましたが、無理でした。 偉い人、よろしければご教授下さい。お願いします。
マルチするなら、先に質問した所にその旨書いとけよ
>>260 datepickerを先に作っておくと表示させたときにレイアウトがずれそうなんで
inputに設定して1回目選択で今日の日付と選択した日付の文字列をYY/MM/DD - YY/MM/DDのように生成
2回目以降は1つ前に選択した日付との文字列を生成する感じでやってるんですけど
1回ずつ消えるのが見ずらいのでどこかの解説サイトのようなところで1回のポップアップで2回選択していたのを見て
datepickerの設定でなんとかselectみたいなのをtrueにするだけでできるようだったので設定変えるだけでできるのかと思い質問させていただきました。
264 :
248 :2010/09/22(水) 00:27:26
>>263 カラッポのDIVでずれちゃうようなタイトなレイアウトだと、確かに難しいかもしれませんね。
そういう話になってしまうと「本家のリファレンスを参照」としかいえません。
パっと見ではちょっとムリそうですが・・・お役に立てず申し訳ありません。
IE8, Firefoxで動作する、時刻入力補助のjQueryを探しています。
jquery.timepickr.js
が良さそうなのですが、IE8では動作しませんでした。
また、
ttp://jsajax.com/Articles/TimePicker/873 にあるものもjquery-1.4.2ではレイアウトが崩れ、使えませんでした。
時刻の入力補助で良いものがありましたら教えていただけないでしょうか?
jquery.timepickr.js が良さそうです
267 :
265 :2010/09/23(木) 02:24:39
Report a bug Please use the project's bug tracker to report bugs, also check if the bug is not already reported. To report a bug, click on New issue and fill up the form. Don't forget to specify your OS and Browser (vendor and version). Finally, add ui-timepickr in labels.
jQuery Alert Dialogプラグインを、 jQuery uiのDialogから呼ぶと、一瞬表示されて すぐ次の処理に移ってしまうんだな。。。 これは困った。
jQuery + IE の select での change イベントの不具合って有名なんかな? いっつもこれだけjQueryつかえずonchange使って回避してるけど、 いい加減面倒になってきた(´・ω・`)
271 :
デフォルトの名無しさん :2010/10/06(水) 03:35:52
下記のようなコードを書いて、selectの項目を削除した後の内容を 取得してalertを出しているのですが、削除結果が正しく反映されません。 どこが間違っているのでしょうか? <script type="text/javascript" src="lib/jquery-1.4.2.min.js"></script> <body> <select id="items" size="8"> <option value="0">Item0</option> <option value="1">Item1</option> <option value="2">Item2</option> <option value="3">Item3</option> <option value="4">Item4</option> <option value="5">Item5</option> </select> <button id="del_item" onclick="delItem();">[−]</button> </body> <script type="text/javascript"> function delItem(){ $("#items option:selected").remove(); var itemLength = $("#items").children().length; var valIdx = 0; var str; for (var i = 0; i < itemLength; i++) { var item = $("#items").children("[value=" + valIdx + "]").text(); if (item !== "undefined") { str += valIdx + " : " + item + "\n"; } valIdx++; } alert(str); } </script>
まさかIEじゃなかろうな
firefoxです
jQueryの、日本ユーザ向けのフォーラムってないよね。 2chだとコードがネストされてなくて読みづらいから、 誰か作ってちょーだい(=´∀`=人)
>272 optionを削除してもvalueは詰められないって分かってる?
278 :
272 :2010/10/14(木) 11:56:33
>>276 >>277 アドバイスありがとうございます。
option:eq使って、思った通りの処理ができました。
value値も、eq使って再構成できました。
すでに登録されているファンクションを取り出して実行したいと思い、 まず以下の2方法でファンクション取得を試みましたが、undefineになってしまいました。 ファンクション取得は出来ないのでしょうか? jQuery("#save").attr("onclick") jQuery("#save").attr("click")
jQuery("#save").click(); とか?
半分寝てましたw $("#save").click(); これでクリックイベントが起きるので、それに関連付けたファンクションが 定義されていれば、そのファンクションが実行されると思います。
$("#save").click( function(){ alert("クリックされますた"); }); もしくは、 $("#save").bind("click", function(){ alert("クリックされますた"); });
モバイル用がリリースされたね
<div id="hoge"> <div id="hage"> <div id="moge"> ハゲ! </div> </div> </div> こんなHTMLの、mogeの部分のテキストを、 #hogeの下の#hageの下の#mogeのtext といった意味でセレクタを指定するには、 どうすればいいのん?
>>284 そのまま順に子供を選択していけばいいよ。
$('#hoge > div > div').text(); っていう書き方を知りたかったんじゃない?
$('#hoge > #hage > #moge').text(); って書ければ完璧なんだけど
>>287 いや、それなら $('#moge') だけでいいじゃん。
それだと hoge hage に囲まれていない moge まで見つかってしまう
>>290 HTMLを勉強しなおせ
IDの値が重複することはあってはならない
>#hogeの下の#hageの下の#mogeのtextといった意味で これは意味のあることなの?
>>291 > HTMLを勉強しなおせ
> IDの値が重複することはあってはならない
まああえて擁護すれば、複数のページに同じjsを当ててて
このページではdiv#hage>div#hoge>div#mogeがあるけど
別のページではdiv#hageの内部にはないので、そのときは
jqueryを効かせたくない、というパターンはあるのであろう
jQuery UIのダイアログを1つのHTML内に複数入れて使うときとかは、 そういう使い方したいときはあるな。 DIV要素の親子関係でIDを見た場合は重複してないけど、 子要素だけで見たら、複数のダイアログでIDの重複が存在するような場合。 親子セットなら重複していないという考え方でセレクタを指定したいんだろ。 確かにHTMLの仕様的にはよろしくないんだろうが、 業務としてWebアプリとか組んでる場合は、生産性とか保守性を考慮して そういう実装にしたいケースは容易に想定できる。
>>294 例外を許容する事で、idセレクタ自体が意味を成さなくなる事の方が生産性や保守性に影響が出るんじゃね?
動的な親子関係を考慮するような場合は、
無理にセレクタで解決せず、jQueryのTraversing機能を使えばいい。
どうしてもセレクタだけで実装したいなら、id以外の属性を使うなりすればいい。
296 :
デフォルトの名無しさん :2010/10/25(月) 04:33:13
$("[id=hoge] > [id=hoge] > [id=moge]") でどうでしょう? teeda とか使ってると必要なケースもあるでしょう
>>296 だからなぜ id属性 を使うんだw
classなりrelなり、適当な属性作るなりしなよ。
構造に触れなくて実装側で吸収しなきゃいけないことなんて いくらでもあるやないですか…。
そうそう、分業体制で短納期の仕事してると、 もう保守性とかいってらんない。 できるだけメンテしやすいようには心掛けるけど、 プロジェクトメンバーが1人抜け2人抜けしていくとね・・・
JSは弄れてHTMLは弄れない状況ってそうそう無いだろう idをclassや別属性に置換えるのってそんな難しいか? 最低限の仕様も守れないのに保守性とか言われましても・・・ そりゃ馬鹿らしくなってスキルある人から辞めてくわw
300は、仕事でWeb開発を やったことない人に見える
あれだろ、F1サーキットのアスファルトやるような業者が 駐車場のアスファルト業者に文句言ってるようなもんだ。 いいんだよ、ほっとけば。 そういうとこは、やっすい金額でへこへこ作ってる底辺の状況など想像もできないだろう。
>>302 こいつマジで頭悪いな。
そもそも自由でないことが問題なのに、もっと良くない例を持ち出して
そっちよりマシだから我慢しろとか、全くお門違いの指摘だね。
上下の差こそあれ悪いものは悪いんだよ。
そして煽り耐性すらないと・・・しかもそんなこと言ってないこと曲解w
どう考えてもid属性重複させちゃうような突貫工事しちゃう方がF1サーキットだろw 専門学校生でも理解できるような仕様エラーなのに、仕方無いで片付けた挙げ句に 生産性とか保守性とか言い出しちゃうとかもうね・・・ ブラック開発現場に洗脳されすぎじゃね?
世の中の中小Web開発系企業は大半がブラックだろ。 財閥系とか総研系にお勤めのお方は、 仕様を厳密に確認する余裕があってうらやましい限りですな。
言いたいことは解る。 数人〜十数人規模の中小企業を何社か渡り歩いたが、 そこまでレベルの低い現場は見たことないな・・・専門学校生でも雇ってるの? もしかして開発会社じゃなくて、火消し専門の運営会社なんじゃね?
POSTとGETの違いがわかりません>< 絶対パスと相対パスがわかりません>< 文字コードがわかりません>< CSSって何ですか!?>< id属性は重複しちゃいけないんですか!?>< jQueryいれれば全部解決なんです?>< え?常識?何いってるんですか、そんな厳密な仕様調べる余裕普通はないです><;;;
>>307 良い環境ばかり渡り歩いたんだね。
テラウラヤマシス
世間には、ブラックばかりを渡り歩く
悲しい人間もいることを、
時には思い出してやってください。。。
今のご時世、仕事選んでなんかいられないの。。。orz
ブラック自慢乙
ブラックしか行けない人ってのは、自分のスキルが無い事を自覚した方がいい・・・
そっすね
いやぁ、照れるじゃないか。
each(function(){ ... }); みたいなコード3個以上書いてると、 Rubyのブロックがセンスのいい構文だったんだなって気づく
eachって、遅いんでしょ? forのほうが早いって、死んだ婆ちゃんが言ってた。
jQuery.each の事言ってるんじゃないの?forとは使う場面が異なる気が・・・
>>314 そして値とインデックスを受けとろうと
function(value, index) と書いてハマる罠。
jqplot で series に指定したライン毎のラベルを、 highlighter のときのポップアップに含めることはできないでしょうか? series: [{label: "A"}, {label: "B"}], highlighter: {formatString: "%L"}, ←のようにしたら "A" になるみたいなのが理想
もの凄く初心者的な質問で申し訳ないんですが、 変数の使い方で、 var hoge_html = "<div id='hoge'>HAGE!!</div>"; var $hoge_html = $("<div id='hoge'>HAGE!!</div>"); みたいに、「$」を付けて宣言したり値を入れたりする ケースがあるのですが、どういう用途で$を付けるんでしょう? 「jQuery $」とかでググっても、Google先生は記号をうまく 検索してくれないみたいで、毎日悶々と生活しています。 よろしくお願いいたします。
$ は jQuery のエイリアス $() で jQuery() と一緒 関数を読んでいる
頭が悪いんですね、可哀想。
変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。
jQueryとPHPでプログラム作成中で 独学で基本的なところもわかってない俺だが誰か教えて欲しい $(function(){ $("#inside1").click(function(){ var x=$(this).text(); $("#outside").html("<input size=\"15\" type=\"text\" id=\"inside2\" name=\"in_text\" value=\"" + x + "\"\"><input type=\"button\" id=\"change\" name=\"ch_button\" value=\"change\">"); }); $("#change").click(function(){ var y=$("inside2").value(); $("#outside").html("<span id=\"inside1\">" + y + "</span>"); }); }); <div id="outside"><span id="inside1">default text [click]</span></div><br> こんな感じで、テキストをクリックしたらテキストボックスに切り替わって編集 そのあとchangeボタンで編集後のテキストで元のテキスト状態に戻る っていうのをやりたいんだが、 $(XXX).html で埋め込んだHTMLの中にjQueryを埋め込んでも動作しなくて 入れ子状態?とでも言えばいいのだろうか、 埋め込んだ先で埋め込む前のjQueryの記述や要素を取得することができない っていうのはjQuery側の仕様なのかなぁ テキスト部分をクリックしたら簡単に編集ができる っていう仕組みを プログラムに取り入れたいのが目的で、難儀してる 仕様としてこんな方法があるとか、何かいい方法ないだろうか?
>$(XXX).html で埋め込んだHTMLの中にjQueryを埋め込んでも動作しなくて >入れ子状態?とでも言えばいいのだろうか、 の意味がよくわらかんのだが、$(function() { ... });が実行されないという事?
live使えば? idが変わっても動くかどうかわからないけど。
326 :
319 :2010/10/29(金) 20:47:35
>>320 >>322 ありがとうございます。
いまいち理解できません。。。
jQueryの動作原理をよく理解せずに使ってることが
そもそもダメっぽいです。
基礎の基礎をやりなおしてきます。
>>323 <div class="editable">this is editable</div><br />
<div class="editable">this is editable</div><br />
<script>
$(function(){
var editableFunc = function()
{
var $editable = $(this);
$editable
.unbind('click', editableFunc)
.html('<input type="text" value="' + $(this).text() + '" /><button type="button">決定</button>')
.find('button').click(function(e){
e.stopImmediatePropagation();
$editable
.html($editable.find('input:first').val())
.click(editableFunc)
})
}
$('.editable').click(editableFunc);
})
</script>
多分、$('#change').click()設定時に#changeが存在しないのがいけないのかと。
>変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。 認識「しやすい」っていうのは抽象的というか曖昧だね。 認識「しにくい」場合ってあるの? prototypeとか他のライブラリと被ったりする場合?
人間側の認識の話じゃない?
なるほど。
JavaScriptの仕様的には、変数名の先頭に $付ける場合と付けない場合とで、 どういう違いがあるんだろう?
>>332 ない
変数名なんて別に日本語でもいいんだよ
Uploadifyで画面遷移なしにファイルがアップロードできるっていうから飛びついたのですが、詰まりました・・・ アップロードしたファイルが画像かどうかをチェックして、画像じゃなかったらアップロードをキャンセルしようと思ったのですが、キャンセルされずにそのままアップロードされてしまいます <script type="text/javascript"> $(document).ready(function() { $("#uploadify").uploadify({ 'uploader' : 'scripts/uploadify.swf', 'script' : 'scripts/uploadify.php', 'cancelImg' : 'cancel.png', 'folder' : 'uploads', 'queueID' : 'fileQueue', 'auto' : true, 'onSelect' : function(event, queueID, fileObj) { rObj = ".jpg$"; if (fileObj.name.match(rObj)) { alert("match"); }else{ alert("not match"); uploadifyCancel(queueID); } } } ); }); </script> <body> <div id="fileQueue"></div> <input type="file" name="uploadify" id="uploadify" /> <p><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">Cancel All Uploads</a></p> </body> こんな感じで書いてます uploadifyCencel関数にキャンセルしたいファイルのqueueIDを渡せばよいとあったのでその通りにしてみたのですが・・・ 自分1人ではどうしようもない状態です。よろしくお願いします
>>334 rObj = ".jpg$"; にマッチしてねーんじゃね?
rObj = /jpg$/; と正規表現で書けばいーんじゃね?
>>335 いや、ちゃんとマッチングはしています
それはalertで確認していますので
>>336 uploadifyCancelはグローバルスコープの関数なん?
>>337 うっ、グローバルスコープかどうかは正直分からないです・・・
呼び出せていない可能性を忘れていました
調べても出てこないし、Uploadifyを使うのってマイナーなのかな・・・
>>338 uploadifyCancelでググった限りだけど
jQuery('#uploadify').uploadifyCancel(queueID); と書くっぽいね。
uploadify.phpは脆弱すぎるので、使わない方がええな・・・
>>339 おぉ、できました。ありがとうございます!!
よく見たら、確かにそう書いてあるのがありましたね・・・
>>340 まじすか・・・できたと思ったら・・・
うーん、他の方法も探してみることにします
>>341 いや、phpがしょぼいというか恐らくサンプル的なコードなだけで、
jsやswfはしっかりしてると思うよ。
>>325 >>327 遅レスだが大変参考になりました
ありがとうございます
>>324 基礎知識がないからかうまく説明できないのだけど
サンプルで書いたコードを実行しても
$("#change").click(function(){
の部分が実行されなくて困ってました
わかりづらくてスマソ
$はjQueryの略ですけど、$$って何ですか?
345 :
デフォルトの名無しさん :2010/11/05(金) 15:06:31
>>344 それprototype.jsとかじゃないの?jQueryは$とjQueryしかグローバル汚さないはずだけど
346 :
デフォルトの名無しさん :2010/11/13(土) 12:11:21
.fadeInとslideDownの効果を同時に使うって出来ますか? スライドしながらボワっと現れるようにしたい $("<div class = 'class'>"***"</div>").appendTo('#***').hide().fadeIn("slow").slideDown("slow") だと、フェードインはするけどスライドしない fadeInとslideDownの並びを逆にすると スライドするけどフェードインしないってことになってしまいます
348 :
デフォルトの名無しさん :2010/11/14(日) 01:56:34
このスレもっと活性化して欲しいage
349 :
デフォルトの名無しさん :2010/11/14(日) 15:16:55
find関数の使い方について。 var $tmp = $('<input id="foo" value="foo_value"/>foo_text'); var fooValue = $tmp.find("#foo").val(); これだと、fooValueの値はundefinedになるんですが、 var $tmp = $('<div><input id="foo" value="foo_value"/>foo_text</div>'); var fooValue = $tmp.find("#foo").val(); DIV要素で囲んだこっちは、ちゃんと"foo_value"が取得できます。 最初の、$tmpの書き方で、findして対象のval()を取る方法って ありますか?
どういう目的でfindを使おうとしてるのかわからない。 普通にこれじゃダメなの? var fooValue = $('input#foo').val();
352 :
デフォルトの名無しさん :2010/11/16(火) 05:42:33
>>351 単純に上手く行かなかったから知りたいだけじゃない?
>>350 バージョン何?jQuery1.4.3と1.4.4+Mac Firefox3.5、chrome9でとりあえず試してみたけど上手くいったよ?
353 :
1/2 :2010/11/16(火) 22:06:03
jquery+flexigridで表を作成しております。 { page: 1, total: 5, row: [ {id:'1',cell:['1','normal','テスト1','2009/07/07 15:32:27']}, {id:'2',cell:['2','sad','テスト2','2009/07/06 21:04:30']}, {id:'3',cell:['3','smile','テスト3','2009/07/06 13:18:29']}, {id:'4',cell:['4','smile','テスト4','2009/07/05 19:46:41']}, {id:'5',cell:['5','sad','テスト5','2009/07/05 15:25:15']} ] } この形のJSONを読み込んだところ、表の外枠は表示されるのですが中身のデータが表示されません。
354 :
1/2 :2010/11/16(火) 22:07:41
ちなみにソースは $(function(){ $("#flex1").flexigrid({ url: 'post.json', dataType: 'json', colModel : [ {display: 'ID', name : 'id', width : 40, sortable : true, align: 'center'}, {display: '気分', name : 'feel', width : 40, sortable : false, align: 'center'}, {display: '件名', name : 'name', width : 200, sortable : true, align: 'left'}, {display: '作成日', name : 'date', width : 120, sortable : true, align: 'left'}, {display: 'リンク', name : 'link', width : 80, sortable : false, align: 'center'} ], width: 600, height: 'auto' }); }); です。 Firebugで見たところちゃんとJSONとしてファイルを読み込んでいます。
'page' 'total' 'row' かな?
ごめん、上の忘れて 調べてみます
flexigrid.jsの414行目 data.rows, を data.row, にしたら表示されましたが他が原因だったらゴメン
>>354 そもそも、これJSON形式じゃなくね?
こっちの勉強不足かもしらんが、JSONに見える そうでない点を教えてくれるとありがたい
形式としては JSON ということで間違いないけど jQuery が期待している JSON ではないということだ
>>361 >>353 はあきらかにJSONじゃない
こっちが正しいJSON
{
"page": 1,
"total": 5,
"row": [
{"id":"1","cell":["1","normal","テスト1","2009/07/07 15:32:27"]},
{"id":"2","cell":["2","sad","テスト2","2009/07/06 21:04:30"]},
{"id":"3","cell":["3","smile","テスト3","2009/07/06 13:18:29"]},
{"id":"4","cell":["4","smile","テスト4","2009/07/05 19:46:41"]},
{"id":"5","cell":["5","sad","テスト5","2009/07/05 15:25:15"]}
]
}
:contains(text)に近いフィルタで、 正規表現にマッチするのを含むフィルタはありますでしょうか?
jquery.ajaxでの質問なのですが、非同期通信のためか、例えば以下のようなコードだと 通信が終わる前に次の関数(makeData)が呼び出されてしまいます。 通信完了を待って次の関数に移るためには同期通信にするしかないのでしょうか。 というのも、同期通信(asyncをfalseにする)と通信中は画面がフリーズしたかのようになってしまうため、 できれば非同期通信にしたいというのが希望です。 function test(){ getData(); makeData(); } function getData(){ jQuery.ajax({ (略) }); } function makeData(){ //通信が終わる前にこっちが呼び出される }
コールバックかメソッドチェーンすればよいのでは?
makeData(); を jQuery.ajax({ (略) ここに通信完了後の処理を書く場所がある }); の中に書く
368 :
デフォルトの名無しさん :2010/11/28(日) 02:40:07
はじめまして。ご教示願いたいです。 appendを使ってHTMLにタグを挿入した後に、findを使うとappendで生成されたタグが検索対象に含まれません。 どの様にすればappendしたタグをfindの検索対象に含める事ができますかね。 よろしくお願い致します。
append
appendを使おうが何を使おうが関係なく後から作成された要素だからといってfndで検索できないことはありません。 動かないコードをさらせば?
iframeを使った時の挙動がいまいち解らないので質問させてください 以下のようなソースを用いて、iframe内のイベントをtopで制御したいと思って書いていたのですが、hogeが呼ばれません。 何故なのでしょうか ヒント、参考資料などがあれば是非教えていただきたいです。 /a.html <script type="text/javascript" src="/lib/js/jquery-1.4.2.min.js" charset="UTF-8"></script> <script type="text/javascript" src="b.js" charset="UTF-8"></script> <iframe id="mainframe" width=100% height=100% src="/frame/c.html"></iframe>'; b.js $("#mainframe").ready(function ()){ $("#mainframe").contents().live("click",hoge); } function hoge(e){} /frame/c.html <script type="text/javascript" src="/lib/js/jquery-1.4.2.min.js" charset="UTF-8"></script> <script type="text/javascript" src="/frame/d.js" charset="UTF-8"></script>
jqueryってパフォーマンス悪い?
もともとパフォーマンスを考えたものではないだろう とはいっても、そんなに悪くはない 悪いのはだいたい使い方の方だ
2種類のクラス、例えばabcとdefの両方を持つ要素の選択は 下記方法が考えられますが、それよりシンプルな書き方はありますでしょうか? $('[class*=abc][class*=def]')
>>374 なぜそんな面倒くさいセレクタを使うんだ…
$('.abc.def')
>>375 だって、リファレンスで見つけられなかったんだもん
IE9で動くの?
IE6以上から動きます。 2001年という10年前のブラウザでも JQueryがまともに動くのだからすごいとしか 言いようがありません。
IE6ってSP5くらいまで逝ってたんだっけ?
>>380 なるほど、jQueryでなく、スタイルシートの仕様に絡んでいるんですね。
参考になります。
384 :
デフォルトの名無しさん :2010/12/12(日) 01:49:53
jQueryで追加したHTML要素を、すべて元に戻すAPIってないですか。 1つずつ.remove()で消す、追加するHTMLに共通のclassをつけておいて.remove()、ってのが面倒で…。
reload
元々ある全ての要素にdeaultってclass付けておいて:notでremove()
>>384 自分でAPIを拡張するのが手っ取り早い。
DOMノードを挿入するAPIを拡張して、挿入したノードを配列に格納しておけばいいだろう。
$(document).ready(function() { ... } が二回呼ばれているようなのだけど jQueryでタグ追加とかしてもそんな挙動するわけないですよね
タグ追加の意味がわからんが readyを何回書いても一回しか実行されないのは確かだ
document が2つあるとか
391 :
デフォルトの名無しさん :2010/12/15(水) 04:43:08
jquery-opacity-rollover.js というプラグインを使っています 既存のhttpページで問題なく使えていたものが httpsのページではエラーを吐いてしまいます エラー内容は })(jQuery); となっている最終行で'jQuery'が未定義と言われます 他の読み込んでいるjsは全て消してみましたが解消せず 調べるとjQueryと$がエイリアスになっているらしいのですが 具体的に何のエイリアスになっているのでしょうか? エイリアス元と置き換えたらエラー止まる…でしょうか?
$がjQueryのエイリアスなんじゃないの
>>391 googleのapi使ってjQuery呼んでないか?
ひょっとして。
>>391 > 既存のhttpページで問題なく使えていたものが
> httpsのページではエラーを吐いてしまいます
わかってるじゃん
関連ワードでググッてみれば
395 :
391 :2010/12/15(水) 13:50:10
>>392 あ、そうなんですかー
となると最終行の})(jQuery); はjQueryって文字列を無名関数の引数にしてる?
わからん;;
>>393 確認しましたが自サーバにあげてあるjQuey呼んでいたので該当しなさそうです
>>394 https+jquery、SSL+jqueryでぐぐってみましたが…
関連ワードの選定がおかしい?
>他の読み込んでいるjsは全て消してみましたが解消せず そりゃ消したら動く訳ないな
jquery-1.x.x.js も削除しているとか。
398 :
デフォルトの名無しさん :2010/12/15(水) 21:35:40
399 :
デフォルトの名無しさん :2010/12/16(木) 01:31:33
>>391 httpのページではjQueryを読み込むscriptたぐあるけどhttpsのページではないってオチじゃないの?
jquery-opacity-rollover.jsの前にちゃんと読み込んでんの?
助けて誰か、誰か助けて
もうわけわからない、ぐぐってコピペしても動かない
もうだめだだめだだめだだめだ
ふぅ
scriptのsrcを入れ替えたいけれど、どう書けばいいのかわからんのです
誰か助けて
【javascript】
※.は2chの先頭半角除去回避
.<script>
.var videoId = 'sm1544885'
.var obj = $.get('
http://ext.nicovideo.jp/api/getthumbinfo/ ' + videoId,null,function(data, stat)
.{
. $(function()
. {
. $('#title').html($('title', data).text())
. $('#player script').attr("src","aaaaa")
. })
.}, "xml");
.</script>
【html】
<div id="title"></div>
<div id="player"><script type="text/javascript" src="
http://ext.nicovideo.jp/thumb_watch/sm1544883 "></script></div>
先頭除去回避できなかった 死にたい
402 :
デフォルトの名無しさん :2010/12/21(火) 13:34:42
JSONファイルが複数あってそれぞれに時系列のデータなのですが data01.json(ファイルの中身は2008年、2009年、2010年の果物の仕入れ推移) data02.json(ファイルの中身は2008年、2009年、2010年の牛肉の仕入れ推移) data03.json(ファイルの中身は2008年、2009年、2010年のパンの仕入れ推移) たとえばどれかひとつのJSONファイルを読み込んでhtmlテーブルに書き出す、ことはできています。 ($.getJSON() → $.each() で回してappend という処理をしています) ここで質問ですが、これら複数のJSONファイルをマッシュ?して ひとつのhtmlに書き出す、にはどうすればよいでしょうか? ページ読み込み時→2008年、2009年、2010年の果物、牛肉、パンすべての仕入れ一覧テーブルを一括で表示 「果物」「牛肉」「パン」アンカーリンクのクリックで 果物のみ、牛肉のみ、パンのみのテーブル表示 「2008年」「2009年」「2010年」アンカーリンクのクリックで その年だけのテーブル表示 よろしくお願いします。
>>402 appendしてhtmlに書き出してるのならそれをJSONファイル分やれば全部書かれると思うけど
それだとダメなの?
404 :
デフォルトの名無しさん :2010/12/21(火) 14:31:27
前半に書きましたが、それはできています。
405 :
デフォルトの名無しさん :2010/12/21(火) 14:34:47
ここで質問ですが、これら複数のJSONファイルをマッシュ?して ひとつのhtmlに書き出す、にはどうすればよいでしょうか? ↓ ひとつのテーブルに書き出す、です。説明が不足しており申し訳ありません。
実際のコード晒してみてくれないとイメージが付かないな。 普通にtbodyにappendしていけば一つのテーブルに書き出せると思うんだけど。
次スレweb板でよくね?
($.getJSON() → $.each() で回してappend という処理をしています) このappend先を1つのtbody若しくはtbody毎に区切ってappendしていけばOKな話じゃないのか
409 :
402 :2010/12/21(火) 18:12:52
>402 です。お世話になっております。 それぞれのJSONファイルは以下の情報が時系列で含まれています。(項目数は省略しています) >data01.json(ファイルの中身は2008年、2009年、2010年の果物の仕入れ推移) { "title": "果物", "items":[ {"year" : "2008","exifvolume" : [{"mon" : "3月","volume" : "224個"},{"mon" : "4月","volume" : "281個"}]}, {"year" : "2009","exifvolume" : [{"mon" : "2月", "volume" : "326個"},{"mon" : "7月", "volume" : "221個"}]} ] } これと同じ書式で、牛肉JSONファイル、パンJSONファイルが存在します。(続きます)
410 :
402 :2010/12/21(火) 18:14:13
(JSONファイルは本当は改行して見やすい記述なのですが、改行が多すぎるという理由で書き込めなくてすみません)
411 :
402 :2010/12/21(火) 18:20:19
それらのJSON 3ファイルの時系列を有効にしたままで、下記のような一括テーブルを生成したいというイメージです。 (これも改行が多すぎて駄目だそうなので詰めています。) <table> <!-- 2008年 --> <tr><td colspan=3>2008</td></tr> <tr><td rowspan=2>3月</td><td>果物</td><td>296個</td></tr><tr><td>牛肉</td><td>1120g</td></tr> <tr><td rowspan=3>4月</td><td>果物</td><td>224個</td></tr><tr><td>牛肉</td><td>1320g</td></tr><tr><td>パン</td><td>551個</td></tr> <tr><td rowspan=2>8月</td><td>果物</td><td>224個</td></tr><tr><td>パン</td><td>551個</td></tr> <!-- 2009年 --> <tr><td colspan=3>2009</td></tr> <tr><td rowspan=3>2月</td><td>果物</td><td>328個</td></tr><tr><td>牛肉</td><td>1122g</td></tr><tr><td>パン</td><td>466個</td></tr> <tr><td rowspan=2>7月</td><td>果物</td><td>529個</td></tr><tr><td>パン</td><td>216個</td></tr> <!-- 2010年 --> <tr><td colspan=3>2010</td></tr> <tr><td rowspan=3>4月</td><td>果物</td><td>523個</td></tr><tr><td>牛肉</td><td>1626g</td></tr><tr><td>パン</td><td>562個</td></tr> <tr><td rowspan=2>6月</td><td>牛肉</td><td>1176g</td></tr><tr><td>パン</td><td>363個</td></tr> </table> 伝わりますでしょうか、、、
時系列の話ならjQueryっていうよりどうやってソートするかのアルゴリズムの話だなぁ とか思いながら眺めてみたらテーブルの構造が思った以上に複雑で笑った それ、自分の感覚だとテーブルの作り方が直感的じゃないんだけど、1つのテーブルの場合はどういう作り方してんの? yearでtr作って、その後配列の要素分だけtr作るとか? そういう作り方なら同じようにmonを見て、既に同じ月があればrowspanに+1とtrを追加で地道にやったらいいんじゃないかね それかJSONを3つ取った時点で一旦マージしてから作るかかな
それならJSONデータをマージして1個の大きなデータ作ってから 表示させるのが一番楽じゃないかなぁ tr追加時にクラスに果物か牛肉かパンの情報与えておけば後で弄りやすいし CSSもかけて良いと思うけど
更新せずに書いたら同様のレスが既にあった
415 :
デフォルトの名無しさん :2010/12/21(火) 22:43:21
jCarouselLiteを使って <script type=text/javascript src=path/to/jquery.js></script> <script type=text/javascript src=path/to/jcarousellite.js></script> <script type=text/javascript> $(function() { $(.carousel).jCarouselLite({ btnNext: .next, btnPrev: .prev, visible: 5 }); }); </script> <div class=carousel> <ul> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> <li>eee</li> <li>fff</li> </ul> </div> <p><a class=next>次へ</a></p> <p><a class=prev>前へ</a></p> で、動くにはうごいたんですが、 続きます。
416 :
デフォルトの名無しさん :2010/12/21(火) 22:45:21
続き 仮に、下記のように、表示件数が設定した数より少なくなってしまった場合に 挙動がおかしくなってしまいます。 <div class=carousel> <ul> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> </ul> </div> <li>が一つしかないときなど、まったく表示されなくなってしまい困っています。 どなたか解決方法をご教授いただけると助かります。 例えば、<li>の要素数を取得して、ある一定の数以下では、実行しないなど。。。 よろしくお願いします。
>>415 自分でHTML書いてるのにvisibleの設定値より少なくなるってどんな状態だ?
418 :
デフォルトの名無しさん :2010/12/21(火) 23:05:50
>> 417 CMS使って、SNS見たいな感じのものをやりたくて。 その中の一部にカルーセルな機能を使いたいんです。 それぞれのユーザーごとにvisibleの設定を変えるのは面倒すぎるもので。。。
>>418 それならCMSで<ul>を作る時に一緒にvisibleの値を設定するのがいいと思うんだけど。
どうしてもJavaScriptでやりたいなら$('div.carousel > ul > li').lengthで値求めたらいいんじゃないかな
420 :
デフォルトの名無しさん :2010/12/22(水) 10:00:54
appendで思ったんだけど、生成されるhtmlってサーチエンジンから見るとどうなってんですか? appendするんだから、ユーザーがそのページをロードしないと コンテンツが存在しないわけじゃないですか? サーチエンジンも、そこのロボットがページロードしてappendした内容をキャッシュするんでしょうか?
422 :
デフォルトの名無しさん :2010/12/22(水) 10:36:58
ありがとうございます。なるほど。 クロール対象にならないってのはjavascript以外の動的コンテンツもですか?? 例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが ググると上位に出て来ますよね。あれはどういうことなんですか? 自社内でいったん生成してキャッシュしてるのをクローラーに見せてるんでしょうか?
>例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが いや、商品名とかは普通に静的だろ・・・ まぁAmazonはCanonical URLとか小技使いまくってるけども
>>422 の動的は多分PHPとかサーバーサイドでの動的って意味じゃないのかな・・・
425 :
デフォルトの名無しさん :2010/12/22(水) 12:06:19
スレチ気味ですみません そうか。サーバー側で生成するものは動的なコンテンツでもクロールされるんですね。 アマゾンの検索結果ってあるじゃないですか。サイト内の検索窓にアーティスト名とかを入れて、関連商品がざーっと表示されますよね。 その「サイト内検索結果ページ」がグーグル上位(場合によっては1位)にあったりするのが???だったんです。
>>425 ブラウザでJavaScriptオフにした状態がクロールされると思えばいいよ
427 :
デフォルトの名無しさん :2010/12/23(木) 04:24:47
ASCII.jpの「40分で覚える!jQuery速習講座」 に載ってるアコーディオンパネルのサンプルコード で、 $("+dd",this) ってセレクタの記述が、jquery1.4.1だとうまく動くのに、 1.4.4だとうまく動かないのは、なぜ?
428 :
デフォルトの名無しさん :2010/12/23(木) 11:25:34
40分で書かれた本だから
なんだか珍しいセレクタの書き方だね。 よく分かんないけど下記のようにすれば確実だと思う。 if($(this).next('dd').css('display")=='none'){ $('dd').slideUp('slow'); $(this).next('dd').slideDown('slow'); } $('+dd',this) の代わりに $(this).next('dd') を使ってる。
>>427 もう解決策は出てるけど挙動が気になって確認してみたが、
1.4.2から1.4.3にバージョンアップした際にcss周りの処理を
高速化した影響っぽい。
1.4.1だとセレクタを通しても中身が入るのに、1.4.4だとnullに
しかならないからサンプルが動かない。
デザイナーとの分業になってるとか、意図的にCSSのセレクタを
使いたい状況でもない限り、APIの方でアクセスした方が
将来的にも安心だろうな。
jQueryのプラグインの中を変更してるんだけど fn.extend({ init: function の中で this.funcMoveLeft = function() { self.moveLeft(); } とかやってるんだけどこれってどういう意味があるんでしょう?
それだけの情報じゃわからんだろw もっとコード出すとかjQueryプラグインの名前出すとかしないと。 ただ、そのコード見るだけで判断すると単純にfuncMoveLeftってメソッドを定義してるだけだよね
>>431 その上に
var self = this
てのもあった
>>432 すいません。。
simplyScroll
http://logicbox.net/jquery/simplyscroll/ っていうプラグインで
スライドショーの領域にhoverしたときにその中心とマウスの距離
流れる方向とスピードを変更する機能を追加しようとしてます。
でinitの処理内で
this.$container.mousemove(function(e){})
内でe.pageXとかは取得できるんですけど
その値をthis.o.speedに設定する方法が分かりません。
ひょっとしたらただのjavascriptのスコープの問題かもしれません。
分かりにくい説明ですいません
mousemove内のthisがsimplyScrollを見てないからじゃなくて? 下みたいな感じにしたらいけるんじゃないの? var self = this; this.$container.mousemove(function(e){ // thisはdiv.simply-scroll-containerなのでselfでアクセス self.o.speed = 設定したい値 })
>>435 解決しました!
ありがとうございます。
すげー。
つーか、thisの扱いをどうするかなんて常識だろ。
リンクがクリックされたらjquery.loadで外部ページを読み込んでページの一部を書き換える処理を書いたのですが、 これに加えて、jquery.loadでのページ読み込みが完了したら元ページの一番上(スクロールバーが一番上にある状態)に移動したいのですが、 どのような処理を書いたら良いのでしょうか?
>>439 書き換え終わった後で
$(document).scrollTop(0)
とかやったらいいんじゃない?
$('#result').load('ajax/test.html', function() { alert('Load was performed.'); });
443 :
デフォルトの名無しさん :2010/12/30(木) 20:35:40
質問させてください。 以下のような自作クラスを作り、その中でjquery ui dialogを使っています。 var Sample = function(){ var param, this.constructor = function(){ $("#dialog-form").dialog({ buttons: {'post': function () { this.param = 1; } }); } } このdialogのbuttons パラメータの部分で、this.param = 1 としているのですが、 自分はこれを、Smapleクラスのオブジェクトのparamプロパティに代入するつもりで書いていました。 しかし、やってみるとこのthisはjquery ui dialogのオブジェクトを参照してしまうようで、 意図したとおりに動きませんでした。 このような場合に Sampleクラスオブジェクトのparamプロパティに値を代入させるには どう書けばよいのでしょうか? アドバイスいただけると幸いです。
444 :
443 :2010/12/31(金) 02:30:53
答えが
>>435 に書かれていました・・ありがとうございます。
クロージャがわかるのになぜ…。 スコープぐらい自分で試して把握しないと、 いつまでたってもthisの挙動が理解できないぞ。
varの有無でscope変わるのが卑怯だ
letなら気持ちはわかるけど、 varの有無で卑怯の意味がわからんw 俺はよくできてると思うけどな
jquery $('.hoge label').click(function(){ alert(""); }); html <div class="hoge"> <label for="radio"> <input value="1" type="radio" id="radio" style="display:none;"> </label> </div> 上記のソースでlabelに設定されている領域をクリックすると コードが2回実行されます。 inputのidで指定した場合は1回のみ実行なのですが、display:none のinputがIEで認識されないのでやむなくlabelを指定してfind('input')としています。 2回実行される原因は何なのでしょうか?
labelの領域をクリック→labelが反応→対応しているラジオボタンが反応→対応しているlabelが反応って感じか。 原因は知らんけど click イベントの中で e.preventDefault() を入れたら二度呼ばれるのは回避できた。
>>448 thisは変数じゃなくてキーワード。
匿名関数内で外部でのthisの実行結果を取り出したいなら、
変数に渡してクロージャ化するのは常套手段。
今のJavaScriptなら基礎レベル。
452 :
デフォルトの名無しさん :2011/01/17(月) 16:35:10
$.postで使う第2引数についてです。
http://allabout.co.jp/gm/gc/24227/2/ を参考にformに入力されたデータをpostする際に、入力項目を列挙せずに
for (form.element.length)みたい感じですっきりさせたいと思いましたが
何故か<form>タグがなく、<form>タグを追加したら非同期ではなくなってしまいました。
<form>タグなしでform.element.lengthのようなアクセスはどう記述したらいいでしょうか?
formに入ってればserializeで送れるよ $.post(url, $('form').serialize(), function(){}) 非同期になるのは$.postした時にsubmitしてるからじゃね
454 :
452 :2011/01/17(月) 20:51:56
455 :
452 :2011/01/17(月) 21:10:33
456 :
デフォルトの名無しさん :2011/01/21(金) 11:26:15
空のjQueryオブジェクトに、新しく要素を追加するのって どうやればいいんでしょう? // 空のjQueryオブジェクトに要素がappendできない var $list = $([]); $list.append($("<H3>できない</H3>")); // 最初に何か1つ入ってればappendできる var $list = $("<div></div>"); $list.append($("<H3>できる</H3>")); 空のところに追加したいです。
何がやりたいのかよく判らないが 色々と誤解があるような気がする 思い切ってエスパーすると $("body").append($("<H3>できない?</H3>")); とかではだめ?
>>457 ありがとう。
bodyにappendする要素を事前に動的に作成しておきたい、
という趣旨です。
var $list = $([]);
$list.append($("<H3>できない</H3>"));
// さらに$listに対して、form系の要素の追加やイベント設定をした後に
$("body").append($list);
といった感じで。
つまり 要素を作りたいがbodyの下には入れたくない さらに、その"幽霊"要素を必要な時にbodyの下に送り込みたい という事でしょうか? あるいは単純に、必要な時に必要な要素が使え、また追加できればよい という事でしょうか? 前者の例は、そもそも出来るか判らないですが、後者の例でしたら 色々解法はあるかと思います。 例えば、 ・必要な時に普通にappendする ・最初にappendして非表示にする ・追加する要素のHTMLコードを文字列配列にして .html(lst[0]);とか適宜適用する 趣旨に反したら御免なさい
460 :
458 :2011/01/21(金) 13:40:19
>>459 レスありがとうございます。
その観点で行けば後者なんですが、
そもそも知りたいことは、
「空のjQueryオブジェクトに対して動的に要素を追加できるのか否か」
の1点です。
空でなければ、とりあえずDIV要素で囲むなどして
やりたいこと自体は実現できているので。。。
ただこの場合、とりあえず囲むためだけに使っているDIV要素が
そもそも不要なので、最初から空の状態でオブジェクトを作りたいのです。
fragment的なことがやりたいんだろうな。 <div></div>に作って、最後にまとめてappendすればいいんじゃね var flagment = $('<DIV></DIV>'); // flagmentになんやかんやする var body = $('body'); flagment.conents().each(function () { body.append(this) }); まあこんなfragment作るより、配列のまま扱うほうが軽くね?とは思うが。
出来る事は出来ました。 //objListはパブリックで定義 objList.push($("<H3>000</H3>")); $('body').append(objList[0]);
$([])これで帰ってくるのはただのArrayObjectだったような だからそのやり方で出来るのは当然かな・・・?
>>460 >「空のjQueryオブジェクトに対して動的に要素を追加できるのか否か」
変なこと言ってるって自分で気付いてる?
jQueryオブジェクトってのはDOMの配列みたいなもんで、
それが空ってことは要素ゼロなわけ。
それにappendメソッドを呼んでも何も起こらないのは分かるよね?
>> 465 なるほど。addメソッドで追加してやればいいのか。 var a = $('') a = a.add($('<DIV>1</DIV>')); a = a.add($('<DIV>2</DIV>')); a.length // 2 この挙動を見る限り、jQueryオブジェクト(のもつset)自体はimmutableなんじゃないかな。
addにはHTML渡せるね。 a = a.add('<DIV>3</DIV>')
468 :
デフォルトの名無しさん :2011/01/22(土) 21:39:17
>>446 常にvar使ってれば、そもそも悩む事もねえだろ。
varを使わないメリットってある?
470 :
デフォルトの名無しさん :2011/01/24(月) 18:49:11
>>469 メリットは無いだろ。
デメリットはあるけど。
472 :
デフォルトの名無しさん :2011/01/24(月) 22:39:07
>>472 せめてどのファイルを読み込んだかとHTMLを書いた方が答えやすいからそうした方がいい
とりあえずjquery1.3.2なら動くけど1.4系は動かないね。どこが問題かまでは見てないけど。
>>470-471 dキュー
グローバルが特に必要無ければ、グローバルは
まったく使わなくてもいいんだよね?
全変数・全オブジェクトはvarで宣言するってことで
>>474 (function(){
var hoge=fuga;
var hage=hige;
...
})();
と必ず書く人もいるね
appendで追加する要素をfadeInで表示したいんですが、 これよりスマートな書き方はありますか? $('#items').append('hogehogehoge').css('display', 'none').fadeIn(); 追加→非表示→フェードインの3アクションあるのが無駄な気がするんですが これを一括に行うメソッドとかないですかね
ラップする関数作ればいいんでね?
appendする要素をCSSファイルのほうでdisplay:noneにしとく
自分でやる時は
>>478 が言ってるみたいにnoneクラス作っちゃうな
.none {
display:none;
}
で#itemsにnoneのクラス付けとく
ただ、普通appendする時って#items内に既に別の要素がある場合がほとんどだから
自分の場合は#itemsには.noneを付けずに
$('<span/>')
.text('hogehogehoge')
.addClass('none')
.appendTo('#items')
.fadeIn();
みたいにやるな。で、それを
>>477 の言うとおりラップ関数にする
480 :
479 :2011/01/26(水) 15:59:36
あ、noneクラス外し忘れた。 .fadeIn(function(){ $(this).removeClass('none'); }); あとはnoneクラス用意せずにhide()使うとかかな
>>480 CSSであらかじめ定義しておくのは呪文が増えるだけでメリット無いと思う
やらない方がいいよ
>>476 cssメソッドはあまり使わないほうがいいよ。
理由は、見た目を制御するのは、cssファイルでやるものだから。
じゃあhideとかshowとか使えんな
removeが簡単に関数一発で元に戻せるようになれば そういう方向性もありかもねえ
>>482 プラグイン化したものを他で使おうとするとCSSまで修正しなくてはいけなくなるから修正箇所増える
他人が見てもなんで予想外の動作するのかわかりにくい
ライブラリの外で定義しとかないといけないグローバル変数を使うよりたち悪い
どっちも一長一短だろーに。
>>483 hideやshowはオブジェクトがそこにある、
ないという見た目だけの問題じゃないから
例外だよ。
少しは柔軟に考えような。
$.ajax で success に処理がいくために必要な条件をご存じの方、いらっしゃいませんか? サーバーサイドから適切な値が返ってきてるのに success 後の処理に入ってくれなくて困っています。 ちなみに error にもいきません。
コードの単純なミスな気がする こんな感じで動くとは思うが function fncAjax() { $.ajax( { dataType: "JSONP", data: { }, cache: false, type: "POST", url: "cgi-bin/test.cgi", beforeSend: function(){ }, success: function (datareturn) { //成功処理 }, error: function (datareturn) { //失敗 }, complete: function (datareturn) { //完了 } } ); }
>サーバーサイドから適切な値が返ってきてるのに それ思い込みだから
491 :
デフォルトの名無しさん :2011/01/30(日) 15:37:55
>>473 ありがとうございました。1.3.2で無事動かせることが出来ました。
ただ、もう一つ問題がありまして。質問させていただきます。
実はこのボックスを、ajaxで後から読み込んで使いたいのですが、意図した動きをしてくれません。
最初から表示している分には問題なくリサイズやドラッグが出来るのですが、
後から読み込んだ物は、全く動作しない状況です。
どのようにしたらよろしいでしょうか?
$('input#btnNew').live('click', function() { alert('新しく作ったボタンのイベントはliveを使用'); });
JSのモーダルダイアログは、もう使わないほうがいい?
なんで?
495 :
デフォルトの名無しさん :2011/01/30(日) 17:59:18
>>492 clickの部分をドラッグドロップの場合、どのように設定したら良いのでしょうか?
それとも491への回答ではないとか??
>>495 元の質問を読んでいなかった
で、色々試したのだけれど
$("body").append('<div id="divtest" class="jqDnR">');
$("#divtest").append('<div id="divtesttest" class="jqResize">');
$('#divtest').jqResize('.jqResize');
こんな感じでいけた
497 :
デフォルトの名無しさん :2011/01/30(日) 21:58:51
<a href="/news/"> <a href="/access/"> というナビゲーションで $("a[href^='/']").each(function() { var obj = $(this); var link = obj.attr('href'); var file = "index.html"; obj.attr( 'href', link + file ); } attr()をディレクトリによってindex.phpとindex.htmlに振り分けたいんですけど /news/のときindex.php /access/のときindex.html どうすればよいでしょう? $("a[href*='news']")..... みたいなことを考えたんです挫折しました
IF文とか使うんじゃダメ? たくさんディレクトリーがあるんなら連想配列を用意して ディレクトリ名をキー、ファイル名を値にするとか? jQueryにこだわる事もないと思う (上手い方法があるのかもしれないけど)
配列にするかmod_rewriteかな
500 :
デフォルトの名無しさん :2011/01/31(月) 00:04:43
そうですね配列ですよね みなさまどうもありがとうございます!
お前らjQueryの前にJavaScriptの勉強しろよ。
503 :
デフォルトの名無しさん :2011/01/31(月) 20:47:52
504 :
デフォルトの名無しさん :2011/02/02(水) 15:09:54
checkboxをマウスでをクリックした場合はchangeイベントが呼ばれるのに、 jQueryから設定した場合はchangeが呼ばれないので、 しかたなく次のようにしているんですが、何か間違っているでしょうか? cb.attr("checked", "checked").change();
cb.bind("click", function(){ alert("チェクボクスのクリッコ:"+cb.attr("checked")); };); ではどう?試してないけど。
jqueryってブラウザ間の差異を吸収してくれるんですよね ひとつのブラウザでテストすれば jqueryがサポートしている他のブラウザどれでも同じように動くと思って問題ないですか?
>>506 そうは言ってもIEの糞さは想定を上回る
FirefoxとChromeだとスムースなアニメーションが
IEのだとカックカクな時があるので
念のため確認しておいたほうがいい
>>507 どうもありがとうございます
そうします
>>508 IE6の糞さってのはCSSを仕様通りに解釈してくれない部分にある。
jQueryの役目はDOM要素の操作までだから、操作後のHTML+CSSをIE6が
とんでもない解釈しても、jQuery側はそれを修正することはできない。
IE6は人類のために早く滅亡すべき。IEが唯一役に立つシーンは
FirefoxやChromeをダウンロードするその時だけ。
IE6を使ってる情弱は20%もいる そして情弱は疑いもなくアドセンスをクリックしてくれる上得意客 切り捨てられない事情があるんだ こうしてガラパゴス・ジャパン・スタンダードが作られていく 嘆かわしい
IE6をあまり悪く言うなや。 10年前のブラウザだぞ。 当時の他のブラウザはIE6よりもはるかに劣っていただろ。 むしろ今でも使えることに驚けよ。
入力フォームの工夫ってどういうのやってますか?
>>509 同意だが
Windows2000だとIE6からもうそれ以上バージョンアップ出来ないんだよね
514 :
デフォルトの名無しさん :2011/02/03(木) 12:16:50
IE6のすばらしさは縦スクロールバーがデフォで左右にカクカクしないことに尽きる
515 :
デフォルトの名無しさん :2011/02/03(木) 12:17:38
>>513 >Windows2000
正式サポートが去年オワタから白嶺
>>515 MSが一方的にもうしらねと投げ出しただけで
利用者はまだまだ数多くいらっしゃる訳だ
そういう人らはJavaScriptオフで使ってもらえばいい
質問です。 ajax関数を使うときに、 successキーに設定したコールバック関数内で、 ajax関数が始まる前に設定した変数を使いたい場合はどうすればいいのでしょう? グローバル変数にしておく方法が一般的ですか? var name = 'hoge'; name2 = 'global'; $.ajax({ type: 'GET', url: './ajax.php', data: 'data=' + $(this).text(), success: function(res) { alert(name); alert(name2); } });
(function(){ var name = 'hoge'; var name2 = 'global'; $.ajax({ type: 'GET', url: './ajax.php', data: 'data=' + $(this).text(), success: function(res) { alert(name); alert(name2); } }); })();
jQuery を使用して、以下のことをしたいのですが、どうしても出来ません。 <ul>要素内のアイテム(複数あります)を 別の外側の要素<div>にドラッグアンドドロップで移動させます。 draggable・droppableを使用してます <--ここまではできるのですが--> ドラッグアンドドロップで移動させた要素を、<div>内で並べ替えをさせたいのです。 sortableを使用しても、並べ替えが出来ません。 解決方法を知っている方は、ご教授お願いいたします。
521 :
デフォルトの名無しさん :2011/02/04(金) 23:19:28
ya da.
馬鹿には無理
お願いします。 ajaxで以下のコードを読み込むと テストのインナーHTMLがalertで表示されません。 $(function(){});はwindow onloadですので、 ajaxで以下のhtmlを取得し、どこか出力したいの要素にアペンドすると <div id="test">が読み込まれる前に実行されてしまうようなので、 良い対応策をご教示ください。 <script type="text/javascript"> <!-- $(function(){ alert($('#test').html()); }); --> </script> <div id="test">テストのインナーHTML</div>
>>525 <div id="test">テストのインナーHTML</div>
<script type="text/javascript">
<!--
$(function(){
alert($('#test').html());
});
-->
</script>
<script type="text/javascript"> <!-- $(function(){ settimeout(alert($('#test').html()), 100); }); --> </script> <div id="test">テストのインナーHTML</div>
これでKIOSK端末つくった事例は無いですか。 あったら見たい。
529 :
デフォルトの名無しさん :2011/02/20(日) 22:14:27.53
細い回線でjqueryを使いたいのだけど、 ページごとに埋め込むと表示に時間がかかってしまう。 それを回避させるために、隠しフレーム配置してすべてのページから、 参照して使うというやり方はできますか?
>>529 ページごとに埋め込む?
データソースで指定するって意味だよね?
まさか、本当に埋め込まないよね?
>>529 細い回線の定義をだな・・・
最新版の軽いほうは29KBだそうだがそれでも重いか?w
533 :
デフォルトの名無しさん :2011/02/21(月) 22:58:12.49
隠しフレーム ウケるw
隠しフレーム 懐かしい...
HEADタグ内にSTYLEタグを生成し、その内容を.queueを使って書き換えることによって、 同じCSSクラスの要素を一気にフェードアウトさせたり、フェードインさせたりすることができますよね? (FireFox、Chrome、Operaで動くことは確認) これ便利だと思うのに、標準関数はないわ、そういうことをやっている例もみたことないわで、何か問題があるんだろうか、と思っています。 何か問題ありますか?
536 :
535 :2011/02/23(水) 15:25:06.92
追記。 $('.foo').fadeIn(...) みたいなコードで同じことができるのは分かっています。 ただ、これだとすべての要素を個別に書き換えることになるので、負荷の点などからSTYLEタグを使いたいわけです。
class使ってならjQueryUIのaddClass、removeClassの拡張があるよ
jqueryを使ったすべてajaxで動作するサンプルオープンソースを教えてけろ! データの登録や削除もひと通りできてるようなのお願い! 59歳独身
ないので今作ってるとこ あなたが生きてる間には完成しないかも知れない
リストをクリックして1枚の画像の指定の位置にスライドさせるものを作ろうとしているんですが marginで指定するのが主流というか、多くとられてる手法なんでしょうか? あとmarginってcssのようにmargin:x x x x;で複数指定できないんでしょうか .animate({margin:"x x x x"});のように記述しても読み込んでくれんです。。
1.5ってはやい?
使ってないけど、そんなに変わるわけねーだろって思ってる。 jQueryに限らず○倍速くなりましたとかいうのは 一部の処理だけ見れば○倍速くなったかもしれんが、 その部分は全体のごく一部だから、殆ど変わらないという 結果になるのことが多い。
>>540 英語読めないにしてもsampleあるんだからドキュメント見たらいいのに。
そこに指定できるのはleftとかだよ
http://api.jquery.com/animate/ > Shorthand CSS properties (e.g. margin, background, border) are not supported.
なのでmarginTopとかmarginLeftとか指定しなさい
>>543 thx
公式ってデモも載っててすごいわかりやすいんだね
1度も見たことなかった
546 :
デフォルトの名無しさん :2011/03/05(土) 20:28:17.13
質問です。 アイコンにロールオーバーして 音を鳴らすのと同時に画像を変えるのって可能ですか?
547 :
546 :2011/03/05(土) 20:33:45.41
すいませんケアレスミスでした 自己解決しました。。
548 :
デフォルトの名無しさん :2011/03/05(土) 21:17:16.71
かわいいよかわいいよ
>>435 亀だし、理由考えたら当たり前なんだけど
この発想がぱっとできなくて行き詰ったことがあるなぁw
550 :
デフォルトの名無しさん :2011/03/06(日) 16:07:32.32
複数の(大量の)トグルスイッチがあって、idをふらずに個別操作したいのですが 方法はありますか? <div class="tgl"> <button>more</button><div class="more">text 1</div> </div> <div class="tgl"> <button>more</button><div class="more">text 2</div> </div> function($){ $("button",".toggle").click(function() { $(".more",".toggle").slideToggle("slow",function(){ if ($(this).is(":hidden")) { alert("bye"); } else { alert("hello"); } }); }) });
551 :
デフォルトの名無しさん :2011/03/06(日) 16:08:16.56
>>550 >class="tgl"
class="toggle"
です
すみません
このスレってWeb制作板向けですよね 何でここにあるんですか
その両者の区別が消えつつあるのは確かかと… node.jsなんてどっちで扱うべきかマジで迷うよね
node.jsはWebProgにあってもおかしくないがWeb制作はないだろ Web制作って基本フロントに関する話じゃないの
555 :
デフォルトの名無しさん :2011/03/08(火) 15:43:10.43
質問させてください。 faceboxというプラグインがありまして、 <a href="/entries/new" rel="facebox">test</a> のようにして、「テスト」テキストリンクをクリックすると、 /entries/new に アクセスしてレスポンスとしてフォームのhtmlを受け取り、 ポップアップでフォームがはめこまれたダイアログを表示してくれるという便利なものなのですが、 どこかで rel属性をそういった用途に使うのは非推奨になったと聞きました。 フォームのhtmlをdisplay:none;とかにしてクライアントに保持しておかなくて済むので 重宝していたのですが、上記に変わる便利なやり方、プラグインはなにかないでしょうか。 ご教示頂けますと幸いです。
>555 class属性に変えるのじゃだめなん?
557 :
565 :2011/03/08(火) 17:38:30.31
いや、faceboxのソースいじって、class="facebox"でできるようにすればいいのでは?ということなんだが
>>557 良く分からんがパッと見た目156行目に下記を追加で
>>558 の動作になりそうな気がする?
※defunkt-facebox-cbe32e1/src/facebox.js
if( $(this).hasClass("facebox") ) klass = "facebox";
560 :
デフォルトの名無しさん :2011/03/09(水) 14:51:27.87
562 :
デフォルトの名無しさん :2011/03/17(木) 04:42:21.37
>>550 $("div.hoge").each(function(index, elem) { $(elem).attr("id", "hoge"+(index+1));});
お腹すいた
コンビニ行っても何も無いよね 自宅警備中のニートには辛いわ
565 :
デフォルトの名無しさん :2011/03/19(土) 20:14:43.46
おなかすいたお
爆発を見た日に買い貯めした食料が底を尽き掛けている 今日は雨なので外に出たくない
日記はチラシの裏にでも(ry
568 :
デフォルトの名無しさん :2011/03/22(火) 09:08:16.15
牛乳が 牛乳が買えたお
いつものと違う見慣れない牛乳がやっと手に入った 次はトイレットペーパーだ
コンビニにゴハンがない
571 :
デフォルトの名無しさん :2011/03/24(木) 18:03:12.35
水も無くなった ><
572 :
デフォルトの名無しさん :2011/03/24(木) 21:22:20.22
iPhone用のサイトなんだけど、thickboxつかってモーダルウィンドウ出すと オーバーレイで暗くなる部分が寸足らずで、下のほうが明るいまま。 だれか助けて(´;ω;`)
573 :
デフォルトの名無しさん :2011/03/24(木) 22:34:22.72
なんで今頃ちっくぼっくす使ってんだ 今頃w
574 :
デフォルトの名無しさん :2011/03/26(土) 02:39:38.71
牛乳が買えない
575 :
デフォルトの名無しさん :2011/03/26(土) 09:16:15.53
おい! セブンに見たことの無い牛乳が!
ローソンでも見たこと無い牛乳が入荷して来てる うちの近所だとセブンイレブンの方が圧倒的に物量で勝ってる
以下のソースで、各リンクをクリックしたときのイベントを登録しようとした場合、例1と例2ではどちらが正しいのでしょうか? どちらも同じ動きをするのですが、eachを使って要素分まわしながら登録するべきなのか、使わなくてもいいのかわかりません。 <a class="link">テスト</a> <a class="link">テスト</a> <a class="link">テスト</a> 例1 $(document).ready(function(){ $('.link').each(function{ $(this).click(function(){ //処理〜 }); }); }); 例2 $(document).ready(function(){ $('.link').click(function{ //処理〜 }); }); よろしくお願い致します。
東京の放射線量って今どのくらいなんだろ 来週出張なんだけどやだなぁ
>>577 2の方で良い。動的に追加したエレメントにも対応させたきゃliveね。
582 :
デフォルトの名無しさん :2011/03/26(土) 20:38:24.57
えびぞーとまおが九州に逃げててワロた
>>580 またピンポイントでウンコなサイトを紹介してきたね
パンが売ってないお
パンが無ければケーキを食え
588 :
デフォルトの名無しさん :2011/03/29(火) 10:42:35.98
小麦粉スレが見つからないよ どこ?
attr("abc") で、ランダムでタグに属性を追加しました。 ページ内で、追加した"abc"を持つタグのみを抽出したいのですが、できますか?
>>589 > attr("abc")
> で、ランダムでタグに属性を追加しました。
それじゃ、属性追加できないんじゃないかな。属性を追加するためには、.attr( attributeName, value ) でないといけないだろ。
で、追加したものは$('*[name="value"]')で選択できると思う。
>>590 >attr( attributeName, value ) でないといけないだろ。
そのとおりでした。
alert($(["abc"]));
で表示すると、objectが表示されているので、大丈夫そうでした。
この状態で、"abc"が含まれているオブジェクトのIDを順に取得したいのですが、
これもできるのでしょうか?
>>592 なにかうまくいきません。下記のようなことがしたいです。
1.画面上の一部のinput,select項目に、属性"abc"を追加しています。値はすべてバラバラです。
2.ボタンを押下すると、画面内のオブジェクトをサーチし、
属性"abc"をもつ項目のみ抽出したいです。
3.抽出した結果、input,selectで入力した値と、属性"abc"を比較して、
同じであれば、エラーにしたいです。
で、下記のコードを教えて頂いた内容とともに書いてみました。
$('*["abc"]').each(function()
{
i++;
}
);
alert(i);
私の考えでは、表示される項目が30個("abc"の属性を持つものが30個なので)のはずですが、
iが150とかになります。
おそらく"abc"の属性をもつ項目以外も抽出されてるのではないかと思います。
なにかがおかしいとは思いますが、見当がついてないです。
なにかがおかしいとは思いますが、見当がつかないので 実際に使ったコードを載せてください
そうそう。説明がヘタなら本物をさらさないとレスが増えるだけで話がすすまない
>>593 var $body = $('body');
$body.contents().detach();
var $form = $('<form />').appendTo($body);
for(var i = 0; i < 10; i++){$form.append('<input />')};
var $inputs = $form.children();
$inputs.each(function(i){if(i%3 == 0){$(this).attr('abc', i)}});
var j = 0;
$('input[abc]').each(function(){j++});
alert(j);
http://jquery.com/ を開いて、Google Chromeのコンソールにこのコードを入力すると、「4」と表示される。
domをzen codingのような形式で全部吐き出せるようなプラグインって無いかな 文章も込みで
<select>のプルダウンメニューで、選ばれた時に、特定の要素をトグルにしたいのですが、 selectもchangeもclickも、うまくいきませんでした。 プルダウンメニューの特定の項目が選択されたら、それに対応する要素にtoggleClassさせる方法はありますか?
自己解決しました
質問投げといて解決したって言うのに結果もロクに示さない自己マンは公共の場所へ来るなよ
JQuery mobileで リンク先をexternalにすると transitionが使えなくなるんですけど 何かいい解決方法を知っている 人いないでしょうか
スマートフォンサイトでjcarouselliteを使っているのですが スマホで更新を行うとDiv内の要素が無視されて下のdiv要素が 上からかぶってしまいます。 リンクタグを押して再度画面を表示すると、きちんと表示されます。 Androidのブラウザのバグだと思いますが、例外的でもいいので 対処法は御座いますでしょうか? <script type="text/javascript" src="./jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./jcarousellite_1.0.1.min.js"></script>
>>602 自己解決しました。
画像の高さ指定を行っていなかった為、jcarouselliteが高さを認識
できずにつぶれていました。
604 :
デフォルトの名無しさん :2011/04/14(木) 11:49:40.30
toggle() や slideToggle() で折りたたみを開く際に大きくサイズオーバーしてしまいます。 隠す要素にリストなどのブロックを float で横並びにさせたものがあると起こるようなのですが、 回避策はないでしょうか? よろしくお願いします。
どえらいおおざっぱな質問だな ソースを見てどの要素が崩れるか見てみないと答えようがない
getJSONで取得したjsonを配列にいれて使いたいんだけどどうやればいいの? [ 'hage.jpg','baka.jpg','aho.png'] っていうjsonファイルあったらさ getJSONで読み込んで配列にいれて hage.jp,baka.jpg,aho.jpgの3個 配列MAXまで繰り替えして html生成したいんだけど <a href="hage.jpg">hage.jpg</a> <a href="baka.jpg">baka.jpg</a> <a href="aho.jp">aho.jpg</a> やりかたおしえてください!!!!!!
ああああ・・・できそうです
1つのページで複数の jQuery UI ダイアログを使う場合の定義の仕方がわかりません。 ダイアログが1つの場合は、 <script type="text/javascript"> <!-- jQuery(function($){ $('#button1').button(); }); $(function(){ $("#dialog1").dialog({ //autoOpen:false等ダイアログプロパティの定義 buttons: { //ボタンの定義 }); $("#button1").button().click(function(){ $("#dialog1").dialog("open"); }); }); --> </script> で、画面表示時はdialog1は非表示になっており、button1がクリックされるまでは 表示されないという動作ができています。 ここに新たな、同じようなダイアログとボタンの組み合わせを設けたい場合、 どのように定義すればよいでしょうか?
609 :
608 :2011/04/19(火) 15:15:11.27
補足です。
>>608 で書いたダイアログとボタンの組み合わせを同様な書き方で
2つ(dialog1、button1、dialog2、button2として)定義してみましたが、
それでは上手く動作しませんでした。
動作環境は、Firefox3.6.16とjquery-ui-1.8.7.custom.min.jsを利用しています。
dialog1とかそれぞれの意味は理解してるの・・・?
そんなもの貼らんで良い
<div> <form テキストフィールド、ボタンなど /form> </div> ボタンを押すと↑のようなフォームがslideDown、slideUpで表示させたり消したり させる物と作ってます。 slideDownの時はいいんですがslideUpの時に 徐々にフォームが消えていって消える直前にフォーム全体が一瞬表示されて その後完全に消える状態になってしまっています。 フォームのmarginを無くしたり<P>で包んで見たりと色々と試してみたのですが解決できません 何かわかる方お願いします。
>>613 ブラウザとバージョンは?
あと実際のコード
>>614 遅くなり申し訳ない
IE8です。っていうかIE以外CSSがまったく読み込まれてなかったなんでだろ?
まぁその辺は自分で解決します
実際のコードは
$(function(){
$("#info div").css("display",'none');
$(".s_btn").click(function(){
if($($(this).attr('href')).css('display')=='none'){
$("#info div:not($(this).attr('href'))").slideUp('slow');
$($(this).attr('href')).slideDown();
}else{
$($(this).attr('href')).slideUp();
}
})
})
実際にはslideさせるフォームはいくつかあり
それぞれのフォームに対応したボタン(クラス属性をs_btnとしています)があります。
s_btnのhref属性を#****としていて
その#****に対応したフォームをslideさせています。
わかりにくい説明で申し訳ありませんがお願いします。
616 :
613 :2011/04/21(木) 08:43:31.64
>>614 jqueryのヴァージョンは1.5.2です。
よろしくお願いします。
以下のような場合、imgタグbrタグの閉じタグ手間にスラッシュが入らないのですが入れるにはどうすればいいですか? $("<li />").addClass("lists") .append($("<img />").attr("src", group$thumb[0].url)).append("<br />") .append(item.title.$t).append("<br />") 実行する <img src="xxx"><br> こうしたい <img src="xxx" /><br />
618 :
613 :2011/04/21(木) 09:21:20.71
すいません 自己解決しました。 ドキュメント宣言してなかったのが原因みたいです 時間を割いてくださったかたありがとうございました。
>>615 なんかよくわからんコード書いてんなw
もうちょっと整理してみ
あとhrefのidはformタグにふってんの?
不具合が再現できるhtmlのソースも張ってよ
ポップアップウィンドウですが、下のwindow.openを GreyBoxやlightboxを使った時のように表示したいと思います。 これを使え!や、こうすればよいの様なポインタをお願いします。 $('#i').change(function(){ window.open($(this).val(),'','width=150'); return false; });
>>620 えーと… lightbox的なオーバーレイで、DIVなどのHTML要素か、IFRAMEを表示したい、ということでよいかな。
例えば、
http://jquery.com/demo/thickbox/ の Examples の iFramed Content の Demo みたいなことをしたいと?
そういうことができるjQueryプラグインはいくつもあるようなので、どれをお勧めしたものか…
「jQuery lightbox」か「jQuery overlay」で検索すれば、いろいろ出てくるよ。
622 :
621 :2011/04/25(月) 12:12:08.19
あ、Thickboxは「メンテナンスされていないから別のをつかえ」って書いてあるね。 まぁ、いろいろあるから、どれを使うかはググって自分で判断してくれ。
ie9だとフェードできない時あるね
624 :
デフォルトの名無しさん :2011/05/05(木) 14:56:03.60
>>624 中見てないから分からんけど多分 document.write使ってんだろ
iframeの中に読み込んでやるかDOM構築終わる前にロードするかdocument.writeをオーバーライドするかってとこか
質問です window.parent.document.getElementById('hoge'); ↑をjQueryで表現して$('#hoge').hide();みたいにするにはどうすればいいのでしょうか?
1.6の更新内容をまとめて
$(this)とthisの違いがわかりません。 例えば、要素のインデックスを取得するindex()というメソッドですが 使い方は以下のように紹介されていることが多いですが、 $('.list').index(this); 上記サンプルの this を $(this) と置き換えても動くのですが、$(this)と指定するのは間違いでしょうか? thisと$(this)ではどのような違いがあるのでしょうか? よろしくお願い致します。
>>628 $(this)ってやると、jQueryの面白機能がついたオブジェクトに返信する
thisのままだと面白くない
>>629 ありがとうございます
thisオブジェクトを拡張してるということでしょうか?
ラッピングすることで新たなメンバーメソッドやメンバー変数などが追加されたみたいな
拡張してるというか変換してる thisはJavaScriptのthis、DOMのthis $(this)はjQueryオブジェクト
thisが本郷猛なら$()がライダーベルトだな
>>631 横からだけどそうだったのか
ただわかりやすいからってだけだと思ってた
あとthisってjQueryオブジェクトじゃなかったんだね
634 :
デフォルトの名無しさん :2011/05/14(土) 13:21:33.39
jQueryってこれフレームワーックって言うより、違う言語じゃね?
>>634 いやもろにjavascriptだろ
違う言語にはなってない
636 :
sage :2011/05/14(土) 17:32:27.74
jQuery1.6はやい。
637 :
デフォルトの名無しさん :2011/05/15(日) 03:25:25.77
jquery.1.4.2から1.5,1.6に変えると、3倍ぐらい遅くなった。 HTMLの書き換え処理なんだけど、遅くなった?
639 :
sage :2011/05/15(日) 13:24:06.56
高速化されましたよね。。 なぜ、遅くいのでしょう。pluginとバージョンの相性があるんですかね。
>>639 プラグ印使ってんの佳代
名に使ってんの蚊教えれ
641 :
sage :2011/05/15(日) 13:35:38.09
プラグインのコード読んでみたらいいじゃない
jqueryを学びはじめたばかりなのですが $("div").find("span")と $("div span")って 同じですか?どっちがいいんですか? ほかにも同じようなことをいろんな書き方でできるような感じですが とりあえず思い通りに動けばあんまり気にしなくてもいいんですか?
>>644 ちょっぴりだけ$("div span")の方が速い。
が! 10000回くらいループ計測して自分で速度を測るといいと思う。
646 :
644 :2011/05/16(月) 22:18:12.92
>>645 どうもありがとうございますm(_ _)m
>>644 find()の使いどころは、たとえばhogeに何が入るか不定の時は、
hoge.find("span").~~~~
と書けるので便利
あるいは、
$("div").show().find("span").~~~
とずらずら書いたりとか
こうして何も知らない純粋な若者が騙されて餌食になるんだな
ちょっぴりだけ$("div > span")の方が速い。
その結果はdiv spanとは同じではないから当たり前だろ・・・
テキストノードをjQuery要素のまま値を取得したり設定したりするにはどう書けばいいですか? ↓うまくいきません var str = $('#hoge').contents().not('[nodeType=1]').eq(0).text(); $('#hoge').contents().not('[nodeType=1]').eq(0).text('hoge'); ↓jQuery要素からDOMに変換(?)するとnodeValueで取得したり設定したりできたんですが var str = $('#hoge').contents().not('[nodeType=1]').get(0).nodeValue; //取得 $('#hoge').contents().not('[nodeType=1]').get(0).nodeValue = 'hoge'; //設定
var str = $('#hoge').text(); $('#hoge').text('hoge'); 何がやりたいのかよくわからないけど、これじゃダメなの?
656 :
654 :2011/05/19(木) 06:55:41.63
ああ、すみません、HTML側はたとえばこんな感じです <div id="hoge"> aaaa <p>bbbb</p> cccc </div>
657 :
654 :2011/05/20(金) 07:52:12.02
やっぱりjQueryのままじゃ無理ですか?DOMにしてnodeValueで取得設定するしかないですか
bbbbの部分を取得したり書き換えたいってこと?
クリックしたら、ページを暗くして、画像や文章などを中央に表示して、 関係の無いところを押すと元に戻るみたいなのがありますが、 これのJqueryでのサンプルが載っているページをご存じないでしょうか?
lightboxでググれ
質問 なんでこのスレtechにあんの?
>>661 jQueryというかjavascriptをブラウザでしか使ったことが無いだろお前。
ブラウザで動かす以外に用途あるの?
>>663 wsh
デスクトップ ガジェット
でググれ
JScriptをガシガシ使ってますが? で、なんでこの板にあるわけ?
jQuery歴2週間の
>>1 が単発質問で立てたスレだし、当初から板違いの指摘がある。
もったいないから使ってるだけ。
次スレはWEB制作板でもWebProg板でも移動させたらいい。
lightboxで中に画像ではなくHTMLを貼りつけられるようなの御存知ありませんか?
lightbox htmlでググれ
親画面と小画面でdatepicker(1ヶ月分をカレンダーのように表示)を それぞれ同時に表示したいんですけど datepickerの大きさをそれぞれ任意の大きさに変えるにはどうしたらいいですか? cssで大きさを指定してしまうと、二つとも共通のcssを読み込んでるので 同じ大きさになってしまいます。 二つのdatepickerを自由に大きさを指定するにはどうしたら良いですか? どなたか教えてください。
670 :
デフォルトの名無しさん :2011/05/24(火) 23:37:53.77
あげます
>>699 やり方はいろいろあると思うけど、
例えば、Datepicker全体をdivとかで囲んでしまって、
そのdivに親と子で違うIDを指定する
// 親
<div id="parent"><!-- ここはDatepicker --></div>
//子
<div id="parent"><!-- ここはDatepicker --></div>
で、スタイルシートのほうで
#parent #datepicker {
// 親のスタイル
}
#child #datepicker {
// このスタイル
}
とかすれば、大きさを指定している部分だけの修正で修正範囲も少ないとおもふ
673 :
デフォルトの名無しさん :2011/05/26(木) 19:32:15.44
<textarea id="hoge"></textarea> -------------------------------------------- $("#hoge").text("hoge\nhoge") クリックしたらテキストエリアの内容を書き変えたいんだけど、 書き換えたい文字列に改行コードが入ると unterminated string literal というエラーが出てうまくいかないお… (´;ω;)どうすればいいのー
html()のほうかなー 試してないけど違ったらごめんね
>>674 (´;ω;)html()でも試した
Stringに改行コードが入ってるのがあかんらしい
$("#hoge").html("hoge<br />hoge") ならいくんじゃない?
1.2.6,1.5.2,1.6で試したがそんなのにはならんなー ブラウザとjqueryのバージョンは何?あと再現できるコードを頼む
>>676 理由がわかりました
cgi から print "$(\"#hoge\").text(\"hoge\nhoge\")" で書き出してるわけだけど、
クライアントに返すソースが
$("#hoge").text("hoge
hoge")
になってた…
printする前に改行コードを\nから%0Aにリプレイスしてから、
javascript側のunescapeで改行コードに戻してやったらうまくいった
だがIEは失敗。なぜかラインフィードが半角スペースにデコードされとる
キャリッジリターンした時だけ何故かIEでもちゃんと改行される
IEしね
>>677 >>678 の通りです><
cgiからprintでjavascriptを書き出してるのが原因でした…
ちなみにjQueryは1.4.4つかってます
それにしてもIEは本当に問題児だ
だいっ嫌いこんな糞重くてバグだらけのブラウザ
%0Aより\\nとしてやる方がいいんじゃねーの?
\\n\\rじゃね?
|ω・`)おおうっ…そっちの方が美しいですね
>>680 さんの通りにしたら、火狐、Chrome ではうまくいきましたが、
やはりIEでは改行されずに\nが半角スペースになってしまいました…
>>681 さんはWindowsの改行コードですね
IEではうまく行きましたが、今度は火狐、Chrome が\rで改行、\nで改行と
認識してしまって二重改行になっちゃいました…
あれ?Windowsの改行コードって\\r\\nじゃなかった?と思いやり直したら
火狐、Chrome はうまくいって、IEは二行目以降の行の最初に半角スペースが入り失敗…
IE、火狐、Chrome できちんと改行されるのは\\rにした時だけでした
なぜだろうななんか気持ち悪い
IEがおかしいってのだけはわかる
あとは私の環境の問題かしら…
submitボタンが押されるとjqueryでtextareaを書き換えてからsubmitするようにしたのですが、 .clickで書き換え後val()をalertすると書き換わってるのですが、送信されるのは書き換わっていません。 どうするべきでしょうか?
textareaからフォーカスが離れたタイミングで書き換えておくか、データをAjaxで送信するか
|ω・`)
>>682 について勘違いをしてたので言及
ちゃんと調べてみたら、\\rでも\\nでも\\r\\nでもIEは改行されてなかった…
-------------------------------------------
<textarea id="hoge"></textarea>
-------------------------------------------
原因は$("#hoge").html(String)でStringに入ってるすべての改行コードがIEでは無視されてしまってた(.text()も同じ)
jQueryのhtml()がアカンのかと思い、document.getElementById("hoge").innerHTML(String)
で試したけど、やはりIEが改行コードを無視する
valueを書き変えたらどうかと試してみたら、
$("#hoge").attr("value", String) とすると改行がIEでもちゃんと反映された
他のブラウザもOK。
という事で解決しました
あどヴぁいす下さった皆さんどうも|ω・`ノシ
$("#hoge").val("foo\nbar\nbaz");
688 :
654 :2011/05/30(月) 08:06:22.13
>>658 >656のaaaaの部分だけ(やccccの部分だけ)をDOMにせずjQueryオブジェクトのまま取得したり書き換えたりしたいってことです
レスが遅れてすみません
689 :
デフォルトの名無しさん :2011/05/30(月) 16:48:44.24
うへ
>688 そういうときは変更の対象となる部分をspanの中に入れるから普通は困らないんだけど。 元々のHTMLは変更できないんだよね、きっと。
691 :
654 :2011/05/30(月) 18:34:48.02
> 元々のHTMLは変更できないんだよね、きっと。 はい HTMLは変更できません つまりテキストノードと要素ノードが共存している場合のテキストノードはjQueryオブジェクトのまま取得・設定できないってことですか
692 :
デフォルトの名無しさん :2011/05/31(火) 13:03:23.96
<div id="aaa"><div id="bbb">test</div></div> というHTMLに対して $("#aaa").html() で<div id="bbb">以下の要素のHTMLテキストが取れるけど $("#aaa")から<div id="aaa">以下のHTMLテキストを直接取得する方法ってある? 親要素を作って$("#aaa")をappendして.html()で取得するって方法はできたけど できれば直接取得したい。
>>692 Fx 対応してないけど outerHTML
>>693 サンクス
jQueryでブラウザ依存吸収してほしいね。
$("#aaa").wrap("<span id='ccc'></span>"); data = $("#ccc").html(); 俺ならこんな感じで取っちゃうなぁ outerHTML なんて初めて知った
696 :
デフォルトの名無しさん :2011/06/15(水) 20:02:33.06
グーグルクロムでアンカースクロールがきかないんじゃ。 どうすればいい?他のブラウザーで効いてるのになぜ? ちなみにソース sbu$(document).ready(function(){ sbu$("a[href^='#']").click(function(){ var target; target = sbu$( sbu$(this).attr('href') ); if (target.length == 0) { return; } sbu$('html, body').animate({scrollTop: target.offset().top}); return false; }); });
コンソールを見てみたら? ちなみにソースが足りない。
698 :
デフォルトの名無しさん :2011/06/15(水) 21:22:27.98
>>697 返信ありがちょう!
外部ファイルでjsファイルを下記のようにうつしている。
これ以外何も付け加えていない。
----------------------------------------------------------
jQuery.noConflict();
var sbu$ = jQuery;
sbu$(function(){
sbu$("#jquery-test").html("jQuery is loaded");
});
sbu$(document).ready(function(){
sbu$("a[href^='#']").click(function(){
var target;
target = sbu$( sbu$(this).attr('href') );
if (target.length == 0) {
return;
}
sbu$('html, body').animate({scrollTop: target.offset().top});
return false;
});
});
----------------------------------------------------------
699 :
デフォルトの名無しさん :2011/06/15(水) 21:24:05.21
続き
HTMLはindex.phpです。
ボディーの下に下記jQueryの記述をいれている。
----------------------------------------------------------
<script src="
https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js "></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/script.js"></script>
----------------------------------------------------------
アンカータグは下記のなんのへんてつもない記述。
----------------------------------------------------------
<a name="top" id="top"></a>
<a href="#top">ページトップへ</a>
----------------------------------------------------------
ちなみにコンソールとは?素人でごめんよ。
700 :
デフォルトの名無しさん :2011/06/29(水) 18:13:09.68
フレームが10くらいある画面があります。 全部のフレーム内でjqueryを読み込んでいますが、 これを、どれか一つにフレームにjqueyを読み込み、 他フレームから使用できますか?
どれかのフレームに読み込んで使用出来るか試してごらん
うぇb遺体毛
>>702 うちでは正常に動作してる。
バージョンの問題だと思うからweb制作板に行きなさい。
706 :
デフォルトの名無しさん :2011/06/30(木) 16:46:40.18
画面上にボタンが1〜5個あります。 そのボタンのオブジェクトを取得したいのですが、 どの様にすればいいのでしょうか?
そんなので答えられるわけ無いだろう。 あとマニュアルぐらい読め。 <div id="buttons"> <button>ボタン1</button> <button>ボタン2</button> <button>ボタン3</button> <button>ボタン4</button> <button>ボタン5</button> </div> 例えばこんなHTMLだったとすると $('#buttons > button') これでいい 要はHTML次第でとり方が変わってくる。
IE8でnivo-sliderにエラーが出ます。
http://nivo.dev7studios.com/ if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false)
プロシージャの呼び出し、または引数が不正です。
次になにをしたらいいでしょうか?
板移動
そうします! すみませんでした
712 :
デフォルトの名無しさん :2011/07/02(土) 22:01:22.84
スレチ質問すみません mootoolsのスレとかありますでしょうか?
713 :
デフォルトの名無しさん :2011/07/06(水) 22:55:52.30
大きさの違う画像で自動で動くスライドショーがあったら教えてください
jqueryのajax関数で通信が成功したときに呼び出される関数に引数を渡したいと思います
var temp="test";
$.ajax({
url: '
http://hoge ',
success : function(data){
alert(data.myVar);
}({myVar:temp})
});
これだと"test"とアラートはされるのですが、dataが上書きされてしまって、
リクエストのレスポンスが取得できなくなってしまいます
何方かレスポンスも引数の引渡しも出来るやり方をご存知でしたら教えてください。
>>714 クロージャーを勉強する事をおすすめする
ちなみに自分で書いてるコードの意味は理解してるの・・・?
>>715 ありがとうございます!
早速下記のURLを読んで勉強しまして書き換えました
http://dqn.sakusakutto.jp/2009/01/javascript_5.html 変更後のコード
var temp="test";
$.ajax({
url: loadUrl,
success: function (response){
return function(r,t){alert(r);alert(t);}(response,temp)
}
});
結果:レスポンス内容・”test”の順番にアラートされるようになりました。
>>ちなみに自分で書いてるコードの意味は理解してるの・・・?
苦しんでたので動けばいいと思ってコードを書いてました
今も理解度50%ぐらいかも・・・
function (){}() というのは無名関数を実行しているだけだよ tempが固定値等であれば success : function(data){ alert(temp); // これで参照可能 } ループとかで参照している場合はクロージャを使って閉じ込める succcess : function (temp) { return function (data) { alert(temp); } }() // ここでsuccessに渡す無名関数を生成している
>>717 勉強になります
ありがとおうございました
719 :
デフォルトの名無しさん :2011/07/14(木) 10:08:19.86
既に作ったwebコンテンツを先読みさせてブラウザにキャッシュさせたいのですが、 いい方法はないでしょうか?
非表示のiframe作ってそこにloadしておけば? 必要になったら読み出せばいい。
>>716 クロージャが苦手ならcontextか$.proxyでオブジェクトのメソッドにする手もある
var obj = {
myVar: "test",
success: function(data) {
alert(data);
alert(this.myVar);
}
};
$.ajax({
url: loadUrl,
success: $.proxy(obj.success, obj)
});
722 :
デフォルトの名無しさん :2011/07/27(水) 19:36:54.80
タブの切り替えって、jQuery使わないと出来ないの?教えてエロイ人!
使わなくてもできる。
jQueryにできてJavaScriptに出来ないことはない
そりゃそうだw
726 :
デフォルトの名無しさん :2011/07/28(木) 12:48:02.59
質問させてください アコーデオンで項目を作っているのですが、 項目を切り替えたりする時に横幅が変わって画面がガクっとします。 機能としては問題ないのですが、少し気持ち悪く原因もよくわからない状態です・・・ どなたかアドバイスいただけないでしょうか?
ブロックにwidthを指定しておけば
>>727 レスありがとうございます
はい、widthも指定しているのですが・・・
なぜかガクっと横幅が変わります
今確認した所、IEではガクっとしませんね・・・
FireFoxで見ると、ガクっとします
FireFoxのバージョンは、3.6.18です
729 :
デフォルトの名無しさん :2011/07/28(木) 18:54:16.79
>>723-725 返答サンクス!
プログラミング初心者の私が自分のホームページを作りたいと思い奮闘してるんだが、いかんせん分からないことが多い。
日産自動車やトヨタ自動車のタブ、あれもjavascriptだけでやってんの?
ソース見てもよく分からん(TムT)
教えてエロイ人!!
>>729 そうですね、どちらもJavaScript(jQuery)を使われてます
731 :
デフォルトの名無しさん :2011/07/28(木) 22:21:49.02
アップロード用のプラグイン Uploadifyを使用してるんですが IE以外のブラウザでファイルをアップロードするとエラーが発生してしまいました エラーメッセージはhttpエラーと出力されます Firefoxだとエラーどころかフリーズしてしまうしまつです(>_<) IEだと正常にアップできるんですが… どなたか同じ様な症状に陥ったかたいませんか〜? また解決策わかる人いたら教えて下さい!
>>722 そもjQueryはブラウザ間の動作の違いを吸収する様にjavaScriptで書かれたクラスライブラリなんだが。。。
それがどうかしましたか?
>>731 アップロード結果がiframeに返ってきたのを
旨く取れてないんじゃないかな。
プラグイン側を修正しちゃうのが早いかも。
chromeのJavaScriptデバッガ使うといい
現在HPを作成しています。
Youtubeの動画を画面いっぱいに表示し、再生される動画には画面全体にドッドパターンをレイヤー的に重ねて表示したいと考えています。
調べてみたところ、
【YOUTUBEを背景いっぱいに表示できるjQueryプラグイン「jquery-tubular」】
http://www.skuare.net/test/jtubular.html を使用する事で動画の背景表示は可能になりました。
困っているのは再生される動画にドッドパターンを重ねる部分です。
【「背景画像に更にドットパターンを合成して超カッコよくできるjQueryプラグイン「Vegas Background」】
http://phpspot.org/blog/archives/2011/05/jqueryvegas_bac.html こちらのjQueryプラグインを併用する事で、可能になると考え素人ながらに手探りで弄ってみたのですがどうしても正常に作動させる事が出来ません。
どなたか「jquery-tubular」のサンプルファイルに「Vegas Background」でドットスクリーンを適用する為のソース記述を教えて頂けないでしょうか?
737 :
735 :2011/08/01(月) 10:55:00.98
>>737 あくまで俺が提案した方法でよければって話だけど
ドットパターン画像を自分で用意して、
↓このファイルに
/css/screen.css
↓以下を記述
div#video-cover {
background: url("画像URL") repeat;
}
739 :
735 :2011/08/01(月) 12:08:15.00
>>738 お付き合い頂きありがとう御座います。
ご指定のスタイルシートの末尾に
div#video-cover {
background: url("画像URL") repeat;
}
をコピペして画像URLを指定しましたがドットパターンは表示されませんでした。
何が足りないにでしょうか・・・
741 :
735 :2011/08/01(月) 15:11:44.86
>>740 出来ましたっ!!
ありがとう御座います。
本当に感謝の気持ちでいっぱいです。
ドット画像を絶対パスで指定したら正常に表示されました。
凄く嬉しいです。
重ね重ね感謝です^^
jQuery Youtube Playerというプラグイン、本家は既に閉鎖してるけど今でも手に入れられる場所無いですかね?
thickboxを使っているのですが、イメージをクリックした際、 表示される画像が半分しかでてきません。 しかもオーバーレイ状態にもならず、 メインコンテナのdiv部分に隠れてしまいます。 どなたか解決方法をご教授ください。。。
744 :
735 :2011/08/03(水) 01:06:35.49
>>744 /js/jquery.tubular.js
48行目
ytplayer.mute();
を消す
http://jquery.vostrel.cz/reel こちらの左右上下に回転させるreelを作りたいのですが上手くいきません
左右に動かすだけならサンプル画像を使って
$('#image').reel({ frames: 36, saves: false, footage: 6, });
で再現できたんですが
左右上下はどうしたら良いのでしょうか
どなたかアドバイス下さい
$(function() { $("#button").bind('click', function() { $("#loading").show(); $("#pics").load('test.html', function() { $("#loading").fadeOut(function() { $("#pics").show(); }); }); }); }); #buttonをクリックするたびに#picsが差し換わっちゃうんだけど、 差し替えじゃなくてクリックする度にtext.htmlを追加する方法ってどうやるの? 教えてえらい人
>>747 $(function() {
$("#button").bind('click', function() {
$("#loading").show();
$.get('test.html', function(data) {
$("#pics").append(data);
});
});
});
試してないから間違ってたらごめん
>>748 ありがとう偉い人
出来たけどIE8がダメポ
750 :
735 :2011/08/04(木) 18:09:14.22
>>745 そっちでしたか。
出来ました。
ありがとう御座います。
Ajaxで下キーを押すと候補を表示するプログラムを作りました しかし下キーをおしっぱにすると大量のリクエストが発行されて DOS攻撃のようになってしまいます 一度キーを押したら一定時間はキーの反応を無効にする事はできるのでしょうか?
>>751 グローバル変数でフラグをたてるか、WAI-ARIAのbusy(正式名称は忘れた)属性をつけてビジー状態を管理する
>>753 どっかにサンプルないかな?
質問文から想像できるかぎりでは、
再生ボタンのエレメントがaタグではないかもしれないから
* { outline: none; }
で試してみるとか
>>754 バッチリその通りでした(汗;;
とんだイージーエラー失礼致しました。
感謝致します。
buttonの表示文字列の書き換えってどうやるんでしょうか?
下記ソースで、Aボタン1回目クリック時のアラートは、順番に、
空、undefined、undefined、A:
となっています。
2回目のクリックでは4つとも testになっていますが、表示文字列はA:のままです。
<link rel="stylesheet" href="
http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css " />
<script src="
http://code.jquery.com/jquery-1.6.2.min.js "></script>
<script src="
http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js "></script>
<script type="text/javascript">
<!--
function test(){
alert("value = "+$("#buttonA").attr("value") );
alert("label = "+$("#buttonA").attr("label") );
alert("text = "+$("#buttonA").attr("text") );
alert("text()= "+$("#buttonA").text() );
$("#buttonA").val("test") ;
$("#buttonA").text("test") ;
$("#buttonA").html("test") ;
$("#buttonA").button({label:"test"}) ;
$("#buttonA").attr("value", "test");
$("#buttonA").attr("label", "test");
$("#buttonA").attr("text", "test");
$("#buttonA").attr("defaultValue", "test");
}
-->
</script>
<button id="buttonA" onClick="test()">A:</button>
<button id="buttonB" >B:</button>
757 :
756 :2011/08/07(日) 16:03:05.59
全く意味をわからずに書いてることは理解できた 入門サイトとか読んだほうがいいと思うよ
jquery ajaxではてなブックマークの被ブックマーク数取得APIを利用し、
特定のURLの被ブックマーク数を取得するスクリプトを書いています
var url="
http://api.b.st-hatena.com/entry.count ";
$.ajax({
type: "GET",
url: url,
data:"url=http%3A%2F%2Fyahoo.co.jp",
dataType:"text",
scriptCharset:"utf-8",
success: function (response){
alert("sucess");
alert(response);
}
});
こうしたところ、ファイヤーバグで確認してみると3バイトのレスポンスが帰ってきているのですが、
ファイヤーバグのレスポンスの欄は空です。
取得が成功した際に無名関数が実行されalertが実行されるはずですが、それも実行されません。
http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fyahoo.co.jp にブラウザでアクセスると「289」と表示され、
urlのパラメーターをデタラメにしてアクセスすると何も表示されないので
3バイトのレスポンスを得ているという事は取得は成功しているようなのですが
sucessイベントに割り当てた無名関数が実行されない理由がわかりません
どなたか解決方法を御存知でしたら教えて下さい。よろしくお願いします。
セキュリティ上の問題で、今開いてるページとは違うドメインなどの データは原則として読み込めないようになっている。 詳細はSame origin policyとかでググると出てくる。 それでは不便だということで制限を迂回するトリックがいくつか登場した。 そのひとつにJSONPというのがある。 そのWebAPIではJSONPに対応しているので、jQueryではdataType:"jsonp"と指定を追加すれば動く。 どうやって迂回してるのかはググってくれ。 他にも手法はあるし、新しい仕様が提案されて実装されたりもしているので詳しくは 「クロスドメイン通信」とかでググるといいよ。
>>760 クロスドメイン制限を知っていたのにすっかり忘れていましたが
JSONPを指定しすると動くのは知りませんでした!
丁寧な回答有難うございます
一応動くようになったコードを張っておきます
>>760 有難う御座いました
var url="
http://api.b.st-hatena.com/entry.count ";
$.ajax({
type: "GET",
url: url,
data:"url=http%3A%2F%2Fyahoo.co.jp",
dataType:"jsonp",
scriptCharset:"utf-8",
success: function (response){
alert("sucess");
alert(response);
}
});
jquery-1.5.1.min.js、jquery-ui-1.8.14.custom.min.js imgタグにresizableを設定してもうまく動かないのですが、回避方法はないでしょうか? (IEではハンドルが表示されず画像が小さくなる。Firefoxはリサイズできるものの ハンドルがちらついてちゃんと表示されない。Chromeでは画像が消えてしまう) <img id="resizableImage" src="sample.gif"> <script type="text/javascript"> $(document).ready(function(){ $("#resizableImage").resizable(); }); </script>
jquery.mobile-1.0b2.jsの質問です。 リファレンスに var myselect = $("select#foo"); myselect[0].selectedIndex = 3; myselect.selectmenu("refresh"); こんな例が載ってますが、どうやらフォームをajax送信してしまうとmyselect[0]が 反応しなくなってしまうようです。 とりあえずajaxを切れば回避できることはわかりましたが、ajaxを切らずに 送信を行う方法というのはあるのでしょうか? また、この[0]の値はもしかすると送信するたびに加算されたりしているのでしょうか?
<span id="username1" style="display:block;">hogehoge</span> <span id="usernametext1" style="display:none;"> <input type="text" value="hogehoge"/> </span> <script> $(document).ready(function(){ // テキストクリックで、テキスト隠して // テキストボックスを表示してフォーカスを当てたい $('#username1').click(function(){ $('#usernametext1').show(); $('#usernametext1').focus(); $('#username1').hide(); }); // テキストボックスからフォーカス外れたら、テキストを表示したい $('#usernametext1').blur(function(){ $('#username1').show(); $('#usernametext1').hide(); }); }); </script> こんなの書いたんだが、クリックしてテキストボックス表示はできるのに フォーカス当たらないし、手動でフォーカス当てても、その後blurが動いてくれない 何か根本的に間違ってるでしょうか?
#usernametext1がテキストボックスじゃなくてspanに付いてるから
767 :
765 :2011/08/20(土) 17:24:49.79
結局jQueryなんてもんは負の産物だと思うんだがどうよ? 各社ブラウザが仕様を統一するかいっそブラウザ自体にjQueryを実装すればいいのに なんて思うのはわたしだけですか。
prototype.jsは負の遺産と言われても仕方ないと思うけど jQueryは使い勝手が良い部分も多いから負の遺産とまでは言わないと思うがなー 誰かが勝手に作ったjQueryプラグインは負の遺産がそれなりあるとは思うw
jQueryに初チャレンジしているのですが、元あるものを参考にしつつ勉強しているのですが、
このスライドショーのサンプルで、最初に表示される画像をランダム化する事にチャレンジ
しているのですがうまくいきません。
http://jsajax.com/Articles/jqueryphotoslide/1315 色々調べて、jquery-shuffle.js などを組み合わせてとも思ったのですが、
他のところに影響してしまったりでうまくいきませんでした。
どなたかご教授いただけませんでしょうか?
宜しくお願い致します。
スクリプトの一番初めに定義されるcurrent変数の値に乱数を指定する
772 :
770 :2011/08/24(水) 19:39:53.43
>>771 有難う御座います。
教えていただいた箇所をいじると『スライドさせる画像の順番を○個飛ばす』になりました。
これはこれで嬉しい発見だったのですが、最初に表示される画像をランダム化する
のとはちょっと違いました。
引き続きご指導お願い致します。
JQM1.0b2にて、iBBDemo2で見るとbackボタン(data-rel="back")が機能しないのですが 仕様ですか?
>>772 強引だけど
$(document).ready(function() {
current = 1;
button = 1;
images = 10;
width = 480;
↓
$(document).ready(function() {
rnd=Math.ceil(Math.random()*10);
current = rnd;
button = 1;
images = 10;
width = 480;
eval($('#p'+rnd)).animate({ "left": "0px" }, 400, "swing");
eval($('#b'+rnd)).css("backgroundPosition", "left bottom")
eval($('#b'+rnd+' b')).css("color", "#fff");
こんなんでどうよ
あー最初の部分は順番変えて $(document).ready(function() { images = $('#slide a').size();//←要素数自動取得 rnd=Math.ceil(Math.random()*images); current = rnd; button = 1; width = 480; こうした方がほんのチョッピリスマート。
何度もゴメンヌ こうだにゃ $(document).ready(function() { images = $('#slide a').size();//←別にこれやらないで普通に数字入れればいいけど current=Math.ceil(Math.random()*images); button = 1; width = 480; eval($('#p'+current)).animate({ "left": "0px" }, 400, "swing"); eval($('#b'+current)).css("backgroundPosition", "left bottom") eval($('#b'+current+' b')).css("color", "#fff"); $("#next").click(function() { 〜
777 :
770 :2011/08/26(金) 23:14:00.72
>>776 有難う御座います。
設置してみたのですが、どうもうまく動かないです・・・
最初のシャッフル化ができておらず、いままでと同じ挙動をしてしまいます。
※念の為、ブラウザで .js ファイルを直接読み込み直し、再度開いているので
ブラウザキャッシュの影響では無いと思います・・・
>>777 JQのバージョンのせいかしら。
最新版に差し替えてみそ。
試してみたけど、ちゃんと動いたよ。バージョンは1.4.2 あえて言うなら、eval()はいらなくね?と思ったけど
フォームで一つ目の<input >に入力をすると 次の<input >が出てきて入力できるようなjqueryのプラグインないですか? 教えてくださいエロい人
$(document).ready(function(){/*ここ*/})
$(function(){/*ここ*/})
このタイミングで、このコードが書かれたscript要素ノード(外部orインライン)を取得するにはどうすればいいですか?
idを振るとかではなく
>とてもシンプルに自分自身が属する script 要素を取得 - IT戦記
>
http://d.hatena.ne.jp/amachang/20061201/1164986067 みたいなことを
$(document).readyの関数内でやりたいです
784 :
デフォルトの名無しさん :2011/08/30(火) 22:48:00.21
javascriptでhtml変更したあと、そこのオブジェクトのonload処理走らせるのってどうするの? liveだとだめでした。
>>784 その要素は何?onloadを持ってるの?
>>783 無理。readyの中では全てのscript要素が読み込まれてしまう。
787 :
783 :2011/08/30(火) 23:05:42.00
>>786 無敵のjQueryでもどうにもならないですか
どうもありがとうございます
788 :
デフォルトの名無しさん :2011/08/30(火) 23:29:22.99
>>785 input type="text"です。
readyで、onloadをバインドしているのですが、その後のHTML書き換えによって、消えてしまっているようです。
>>787 無敵…?JavaScriptに出来ないことはjQueryにも出来ない。魔法じゃないんだから。
>>788 <input type="text"> に onload はない。というか、onload に何を期待しているのかわからない。
790 :
デフォルトの名無しさん :2011/09/01(木) 00:33:21.22
onloadあると思う。 onloadでテキストボックスに設定されている値を、フォーマットしたい。
ないよ 他の方法使えばいいだろ
var cs = $('script:last'); $(function (){ cs... これじゃいかんの?
794 :
デフォルトの名無しさん :2011/09/02(金) 20:41:14.77
$(function(){})によるDOMReadyって必ずwindow.onloadの前に実行されるんですか?
>>794 原理的にはそうだけど、DOMContentloadedをサポートしないブラウザは擬似的に実現するから保証はない
796 :
困ったちゃん :2011/09/02(金) 22:36:16.98
798 :
困ったちゃん :2011/09/03(土) 00:15:08.23
>>797 最初そうかなーと思ったのですが、
でもなんかおかしい気がする。
>>796 スクリプトの最初のほうにあるこの部分で指定できそうな気がする
var videoRatio = 16/9; // either 4/3 or 16/9
>>798 アスペクト比は確かに16:9なんだが、このままじゃタイムバーも含めて16:9になっちゃってるから
横幅が足りなくなっちゃって黒帯が出ちゃうんだよ。ってことで
L30
jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio);
↓
jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio+30);//30はタイムバーの高さ
これでおk。
横幅をめいっぱいに開くと動画の下部が表示されなくなるから恐らくタイムバーは
元々非表示にしてしまっていいんだよね?
ちなみにIE8だと動画に対してのカバーがちゃんとかかってないので動画をクリックすると
YouTubeに飛んでしまうよ。対処しといた方がよさげ。
あ、ごめん、タイムバーの高さ測り間違えた jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio+25); これぐらいがいいかも。
802 :
困ったちゃん :2011/09/03(土) 13:07:51.68
>>800 できました!ありがとうございます!素晴らしいです。
>ちなみにIE8だと動画に対してのカバーがちゃんとかかってないので動画をクリックすると
YouTubeに飛んでしまうよ。対処しといた方がよさげ。
確かにそうです。ついでで申し訳ないですがどうやったらよろしいでしょうか。
カバーをかけたいっす!
>>802 困ったちゃんだなあw
これIEの仕様でだな、<div id="video-cover">に例えば背景色を設定すると裏の動画へのクリックを
阻止できるわけですわ。もちろん設定したら動画が見えなくなる。
ということで例えばL7
<div id="video-cover" style="position: fixed;〜
↓
<div id="video-cover" style="background-image:url(\'s.png\');position: fixed;〜
こんな風にダミーで透過画像なんか置いてやればおk。
ちなみに実際に画像が存在しなくてもこのままでいけるけども、まぁブラウザ的には
エラーが出るので透過画像はうpしといた方がよいでしょう。たぶん。
804 :
デフォルトの名無しさん :2011/09/04(日) 00:02:58.16
class指定を速くする方法教えてくれ。 HTMLのサイズが非常に大きいので、1秒ぐらいかかる。
>>804 $(document.getElementsByClassName("foo"))
>>804 速度を求めるならjQueryを使うべきでない
XPathとquerySelectorAllとgetElementsByClassNameを使いわけれ
807 :
困ったちゃん :2011/09/04(日) 18:52:01.09
>>803 出来ました〜!
感謝・感激(^_^)v 本当にありがとう。
808 :
デフォルトの名無しさん :2011/09/07(水) 16:22:10.42
jqueryのtimepickrとvalidate、datetimepicker(datepicker+timepicker-addon)を併用した サンプルコードを書けと言ってるのかな?
<body> <div>〜〜〜</div> <divなど色々>〜〜</divなど色々> <div> <div id="テスト"> <table>やら<div>やら色々 <script>〜</script> </div> </div> <div やら色々></div やら色々> </body> div要素のid=テスト以下全てを残して、それ以外の要素を全て消したいのですが色々試しましたが上手くいきません。 どなたかわかりませんでしょうか?
$('body > div').not(':has(> #テスト)').remove();
812 :
デフォルトの名無しさん :2011/09/13(火) 09:44:09.30
jquery cycle で幅を100%でウィンドウいっぱいにしたボックスの背景画像を一定時間で切り替えるコードを書いたんですが、 ボックスの幅が読み込み時のウィンドウの幅に固定されてしまい、ウィンドウをリサイズしてもボックスのサイズがそのままになってしまいます。 指定部分を以下に抜粋したんですが、原因わかる方いますか? // スクリプト $(document).ready(function() { $(".slides").cycle({ fx:'fade', speed:600, timeout:8000, pause:1 }); }); // HTML <div id="slide-content" class="slides"> <div class="slide" style="background:url(img/bg1.jpg) no-repeat 50% 0; display:block;"> </div> <div class="slide" style="background:url(img/bg2.jpg) no-repeat 50% 0; display:none;"> </div> <div class="slide" style="background:url(img/bg3.jpg) no-repeat 50% 0; display:none;"> </div> </div> // CSS #slide-content { width:100%; height:400px; } .slide { width:100%; }
<li> <a>日記</a> を読む。 </li> の <a>タグに囲まれていない 『を読む。』だけ取り出すにはどうすればいいですか? $('li').text()だと『日記を読む。』になってしまいます。
>>813 $('li').html().replace(/<a>.*?<\/a>/,'')
どこが
>>813 $('li').children().remove().end().text();
819 :
813 :2011/09/14(水) 23:57:52.79
ありがとうございました。
820 :
デフォルトの名無しさん :2011/09/16(金) 07:20:15.26
appendをprepend
822 :
デフォルトの名無しさん :2011/09/18(日) 20:39:42.63
>821 ありがとうございます!ただ、pretendだと1番目に入りますよね?そうではなく、 「ドラッグしてきた要素が本来その位置に入るものであれば今入っている要素を後ろに移動させて挿入する」 という感じにしたいんです。 あらかじめtrashに入る位置を例えば1番目にtree1、2番目にtree2、という風に決めておきます。 それでユーザーがtree2を最初にtrashにいれたとして、次にtree1をドラッグしてtrashの1番目に入れようとするとtree1は1番目に入るのが正しいのでtree2が右にずれてtree1が1番目に入ります。しかしこれが他のものを1番目に入れようとすると入らないという風にです。 簡単にでもいいのでアドバイスや案などお願いします。
入れたい位置の要素を見つけてきて、insertAfterかな
824 :
デフォルトの名無しさん :2011/09/19(月) 03:52:28.42
>823 「入れたい位置の要素を見つけてきて」これが難しいですね…
ブラウザ使用?でTabキーを押すと、フォーカスが遷移すると思いますが、 Enterキーでも同様の遷移をさせる方法があれば教えてください。 ※次にフォーカスがあたるオブジェクト名などが取れる方法があれば知りたいです。
>>824 ちょっとコードみてみた。insertAfterじゃなくてinsertBeforeだな。
Trashに入っている要素をすべて選択 → $('li', $list)
要素の比較すべきテキスト → 要素.find('h5').text();
Trashの要素と引数の要素のテキストを比べていく。
Trashに要素がない場合 or 一番最後に入れるべきだった → appendToしている元のコードをそのまま使う
上記以外の場合 → appendTo($list) の部分が insertBefore(見つけ出した要素)
な感じでどうよ。
要素の順番を要素に持たせとく(dataを使う) ドロップしたときに、とりあえずtrashの一番後ろに挿入する ドロップした要素の順番値とtrash内の要素のそれを比べていき、trash 内の要素のほうが大きかった時点でその要素の前に挿入しなおす
828 :
808 :2011/09/20(火) 10:05:40.28
808です。以前は自分でも分からない状況を把握せず書き込んでしまい申し訳ありませんでした 何故動かないのか調べてみると、 <script type="text/javascript" src="./js/jquery.ui.all.js"></script> <script type="text/javascript" src="./js/jquery-ui-1.8.8.custom.min.js"></script> <script type="text/javascript" src="./js/ui.timepickr.js"></script> <script type="text/javascript" src="./js/ui/i18n/jquery.ui.datepicker-ja.js"></script> ここでui.all.jsとui-1.8.8.custom.min.jsを処理する際に、too much recursionとなってしまっているようです。 処理が多すぎるので打ち切る、と告げられているらしい事は分かったのですが、解決法が分かりません。 どうしたらよいでしょうか?アドバイスをお願いします。
<input class="button" type="button" value="ボタン" value2="ボタンを押しました" /> $(".button").click(function(){alert(value2);}); 上のコードは自分の脳内コード(value2)で当然動かないんです。 htmlから変数をjQueryに渡す方法、もしくは問題解決できる検索ワードを教えてください。
>>830 的確な検索ワードありがとう!、助かりました。
JSONPの関数名が固定されている場合、 「jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )」のsuccessの部分は使えず 自分でグローバルにその関数名の関数を用意しておかないといけないですか?
834 :
832 :2011/09/20(火) 22:39:54.53
>>833 どうもありがとうございますm(_ _)m
835 :
デフォルトの名無しさん :2011/09/24(土) 23:33:00.02
よろしくお願いします 5つのボタンdiv(id bot1〜5)をクリックする毎に、div要素A(z-index 2) をshow(speed)で表示させると同時に、裏にあるdiv要素B(z-index1)の背景画像(png)を 10枚程度連続で切り替えgifアニメ風にアニメーションさせようとしています。 当初、javascriptライブラリのanimateImageを使用して上手く表示できていたのですが、 パソコンによってIEで表示させると要素Bの画像切り替え処理が遅くなり、要素Aとの 表示タイミングがずれるという事が判明しました。(FireFoxではほぼ正常に表示される) gifアニメを作って画像を切り替え試しましたが、FireFoxがキャッシュを保存して しまっているのか、2回目以降アニメーションしてくれませんでした。 jQueryで各ボタンclickイベント内で処理すればタイミングが合うのではと思っているのですが・・・ 何か良い方法はないでしょうか
>>836 ありがとうございます!
ちょっと試してみます
$("span",$("div")) $("div").find("span") この二つはまったく同じ意味ですか?
839 :
デフォルトの名無しさん :2011/09/27(火) 13:37:42.67
jquery mobileで長方形の画像サムネイルを表示させたいんですが、 どのサイトを調べても正方形に調整させるとしか書かれて無いんですよねorz もしサムネリストのサムネのサイズを長方形にできる方法があれば教えてください。 CSSでできるようならありがたいんですが、 何分ソースが難解すぎてできる気がしません(泣
841 :
デフォルトの名無しさん :2011/09/27(火) 15:57:02.06
>>839 ですが
jquery mobile だとデフォで80×80にサムネサイズがリサイズされてしまうのですが
これを例えば 80×100みたいな長方形にしたいんですが
何かいい方法は無いでしょうか
ソースを弄るのは不安なんで
これを記述すればどうにかなるってのがありましたら教えていただけるとありがたいです
842 :
838 :2011/09/27(火) 18:17:10.61
>>840 そうなんですか!どうもありがとうございますm(_ _)m
よかったらほかにもそういうのがあれば教えてください
lengthとsize()の場合はlengthのほうを使えってのは公式に書いてありました
jquery mobileのリストで画面を移動させると一旦画面の一番上に戻ってスクロールするので、 backで戻ったときも一番上に戻っちゃうんですが、元の場所に戻ることはできないのでしょうか。 あとdivider単位で移動とかってできますか 1月〜12月までに分けたときに次の月か特定の月まで移動するみたいなことができればと思ってますが。。
844 :
デフォルトの名無しさん :2011/10/01(土) 18:23:11.58
ページを読み込んだ後にjavascriptを実行する場合、 色々な書き方があります。 window.onload = function(x) {} $(window).load(function(x) {}); $(document).ready(function(x) {}); $(function() {}); これらに違いはあるのでしょうか。 2番目は内部で1番目の処理を行ってると予測できますが、 どれを使えばいいのか分かりません。
>>844 1,2番目は window.onload のタイミングで実行される。
3,4番目は DOMContentLoaded のタイミングで実行される。
>>192 のaccessって何ですか?
ググってもDBのほうがひっかかって
擬似コードだろ。
848 :
デフォルトの名無しさん :2011/10/12(水) 19:45:28.05
jquery mobileの質問ですが jquery.mobile-1.0b3/jquery.mobile-1.0b3.min.jsを使用しているのですが <a href="" data-role="button" data-inline="true"> としてもボタンのサイズが横にかなり広くなってしまいます。 ちょっと分かりにくい質問かもしれませんが、何か分かる方いらっしゃいましたら ご教授いただけると助かります
849 :
デフォルトの名無しさん :2011/10/16(日) 23:58:31.92
$(function() {}); て書くと動かなくて jQuery(function() {}); と書くと動くんですが jsファイルのインポートか何かが原因なんですかね?
window.onloadのコンフリクトとかエスパー...
$が別のライブラリで上書きされているから
852 :
デフォルトの名無しさん :2011/10/17(月) 21:43:22.47
ありがとう jqueryとprototype.js両方使ってました
var response = '';
$.ajax({ type: "GET",
url: "
http://www.google.de ",
async: false,
success : function(text){
response = text;
}
});
alert(response);
上のコードの事ですが、「
http://うんたらかんたら 」で取得するとレスポンスの値が返ってこないんだけど
「
http:// 」からのページを取得する用法ってどうやるの?
おしえてエロい人
854 :
デフォルトの名無しさん :2011/10/19(水) 12:30:36.26
>>853 >...レスポンスの値が返ってこないんだけど
どんな種類の値を取るかで取れるものと取れないものがあるよ。
jsonなら、ドメイン越えOKだけど、xmlとかは同一ドメインでないとゲットできない。
取得したいデータの形式を再確認してくれ!
855 :
デフォルトの名無しさん :2011/10/19(水) 16:53:34.54
jquery mobileやってて hogemae.aspで $.mobile.changePage({ url: "hogeato.asp, type: "post", data: "" }, "pop", false, true, false); を実行して遷移した後 alert((document.getElementsByTagName("LI"))[0].firstChild.nodeValue); を実行するとhogemae.aspのLiタグのnodeValueが呼ばれちゃう。 どうにかしてhogeato.aspのdocumentを実行する事出来ないかな。
856 :
855 :2011/10/19(水) 17:01:08.64
すまん、ちと補足。 alertを実行するのはhogeato.aspです。
iframeから親の親のscrollLeft()を取得したいです $(this).scrollLeft();で自身を取得するのはわかるのですが、この親の親となるとイマイチ上手くいかないです
table内のinputやcheckboxなどを配列として受け取るにはどうしたらいいですか?
>>855 jquery mobileやってないけど…
その遷移ってajaxつかって遷移しているようにみせてるだけじゃね?
firebugなどでDOM構造がどうなってるか調べてみればよろし。
861 :
デフォルトの名無しさん :2011/10/28(金) 11:49:14.04
変な質問かもしれませんが、selectの配列(name=sample[]の様な配列)の選択値の取得方法を御存じないでしょうか??
>>861 jquery select 値 取得
でググる
863 :
デフォルトの名無しさん :2011/10/28(金) 20:20:05.70
>>862 ぐぐったんだけど、配列の取得方法と、
selectの取得方法は見つかったが、その両方がなく、自分なりにブレンドしてみたけど、.eachで見に行ってくれない…
IDで指定すれば行けそうなんだけど、name[]で取得したいのですが…
'select[name=\\[\\]]' こんな感じでできるな というか公式のあとりびゅーといこーるセレクタのコメントに書いてあるし
868 :
デフォルトの名無しさん :2011/10/29(土) 01:38:42.40
<div id='hoge2'>jQueryでロールオーバーすると高さが伸縮</div> <div id='hoge3'>CSSにポジションrelativeを指定</div> としたいんだがIE6,7だとhoge3が微動だにしない・・・。 (下にスライドしない) だれか教えてー
869 :
デフォルトの名無しさん :2011/10/29(土) 02:48:00.25
すまん、解決できた。 bodyに背景画像をひいていたんだけど、それが原因。 zoom:1したら動いた。 なんだこのバグ・・・
870 :
デフォルトの名無しさん :2011/10/30(日) 20:58:49.54
jQuery Mobileでヘッダを完全固定にする方法ないでしょうか? 固定にするには data-position="fixed" を使えといろんなサイトにありますが、これだとスクロールさせてる途中動いて消えてしまいます
871 :
デフォルトの名無しさん :2011/11/02(水) 11:05:20.47
$(document).ready(function(){ $('.kakusu1').hide(); $('#lkop_1-1').show(); //ボタン操作 $('.ft_fw').click(function() { $('.kakusu1').hide(); $('.kakusu1').next().show(); }); }) <div class="cont3 kakusu1" id="lkop_1-1"> <div class="cont3main">1-1</div> <div class="cont3ft containerC"> <div class="ft_bk"><img src="img/btn_mn_bk.png" width="40" height="40" /></div> <div class="ft_center"></div> <div class="ft_fw"><img src="img/btn_mn_fw.png" width="40" height="40" /></div> </div> </div> <div class="cont3 kakusu1" id="lkop_1-2">
872 :
デフォルトの名無しさん :2011/11/02(水) 11:15:19.57
今、jqueryでfwボタンを押す度に次の <div class="cont3 kakusu1" id="lkop_1-1"> ・・・・<div> ↓ <div class="cont3 kakusu1" id="lkop_1-2"> ・・・・<div> ↓ <div class="cont3 kakusu1" id="lkop_1-3"> ・・・・<div> のように置き換わっていくようにしたいのですが。 るようにしたいのですが、 これを実行すると <div class="cont3 kakusu1" id="lkop_1-1"> ・・・・<div> は、hideで消えてくれるのですが。 $('.kakusu1').next().show(); で次のだけ表示させたいのに <div class="cont3 kakusu1" id="lkop_1-2"> ・・・・<div> <div class="cont3 kakusu1" id="lkop_1-3"> ・・・・<div>※すいません前レスに表示されていませんが の両方が出てきます。 .next()では、次の一つだけを表示させる事は出来ないのでしょうか?
1-2にもkakusu1がついてるなら1-3が表示されてもおかしくはない $(".kakusu1:visible:last") やるとしたらこんな感じで表示されてるもので最後の奴の次って感じだな まぁ実際のHTMLわからんからどうなのかわからんけども
874 :
デフォルトの名無しさん :2011/11/02(水) 13:58:19.36
>>873 ありがとうございます。
ちょっと:visibleと:lastについて調べてみます。
横から失礼します。 ただいま、サイトで「cloud-zoom」を使って画像のギャラリーを 本家サイトの「Standard Settings With Gallery」のように作ってみようと サイトのソースを流用してやっていますが、ズームする箇所のリンクが機能し続けていて困っています。 何かアドバイスを頂ければと思います。 宜しくお願いいたします。。 <div class="zoom-section"> <div class="zoom-desc"> <a href="big1.jpg" class="cloud-zoom-gallery" title="test" rel=" useZoom: 'zoom1', smallImage: 'mid1.jpg' "> <img class="zoom-tiny-image" src="smal1.jpg" alt = "test" width="158" height="226"> </a> <a href="big2.jpg" class="cloud-zoom-gallery" title="test" rel=" useZoom: 'zoom1', smallImage: 'mid2.jpg' "> <img class="zoom-tiny-image" src="smal2.jpg" alt = "test" width="158" height="226"> </a> </div> <div class="zoom-small-image" style="margin-top: 5px;"> <a href='big1.jpg' class = 'cloud-zoom' id='zoom1' rel="adjustX:10, adjustY:0, zoomWidth:'499', zoomHeight:'423', position:'right'" onClick="function cs();"> <img src="mid1.jpg" alt='' title="test"> </a> </div> </div>
876 :
デフォルトの名無しさん :2011/11/02(水) 15:59:53.97
>>875 > ...ズームする箇所のリンクが機能し続けていて困っています。
そりゃ、リンクタグで画像を括っているからではないか?
cloud-zoomっていうのがそういう仕様らしい エラー出てないかチェックしてみるといいかも
>>876 おっしゃるとおりなのですが、本家のソースがこうなっていた事と、
<img>などの他のタグにしますと、ズーム部分が表示されなくなります。
現在ではjavascriptで以下の内容をページ内に書く込んでいるのでいるのですが、
当然といいましょうか、すべてのリンクが効きません。
御恥ずかしながら、一つのタグにのみ効果を反映させる方法も見当が付かない状態で御座います。
<script type="text/javascript">
$(function cs(){
$('a').click(function cs(){
return false;
})
});
</script>
>>877 ご返答ありがとう御座います。
左様なのですね、エラーが出ているか出ていないは
チェックが可能なのですか?ブラウザ上ではクリックが可能以外に
問題は無いようですが。。。
>>873 それはclickイベントの最初で全部hide()しとるからダメなんじゃまいか?
$('.kakusu1:visible').hide().next().show();
な感じでどうよ。全部hide()してる部分は消して。
> .next()では、次の一つだけを表示させる事は出来ないのでしょうか?
前段階で複数の要素が選択されている場合は、
next()の返り値はそれぞれの次の要素が選択されていることになります。
881 :
デフォルトの名無しさん :2011/11/02(水) 19:04:12.40
>>880 ありがとうございます。
>前段階で複数の要素が選択されている場合は、
>next()の返り値はそれぞれの次の要素が選択されていることになります。
next()の返り値はそれぞれの次の要素の
元になる要素の場所がはっきりと理解出来ていないのかもしれません。
これは、クリックされた場所の”.kakusu1”ではないのですよね?
>>881 $('.kakusu1') だと、すべての要素のうち、classにkakusu1 があるものが選択されます。
そういう意味の選択。jquery セレクタ でググってみよう。
んで、:visibleがつくと、表示されているものに選択肢が減るわけ。
>>876 >>877 お世話になっております。
<a>ダグに onClick="return false;" を追加しましたら目的通りの動作をしてくれているようです。
ありがとう御座いました。
>>882 >んで、:visibleがつくと、表示されているものに選択肢が減るわけ。
あらがとうございます。
表示されているものに限定という意味だったのですか。色々と使えそうですね。
ちょっと、使い方調べてみます。
885 :
デフォルトの名無しさん :2011/11/04(金) 10:52:43.56
>>880 なんか
$('.kakusu1:visible').hide().next().show();
で、うまくいきまいした。
ちゃんと、調べて理解しておこうと思います。
ありがとうございます。
jQuery 1.7がりりーすされてるね。
お、変更点は何かしらっと
collapsibleのサイズがIPHONEのサイズに合わないではみ出る。助けて(´・Д・`)
889 :
デフォルトの名無しさん :2011/11/05(土) 21:55:39.60
質問させてください・・・ slideUpのアニメーション終了後にアラートを出したいのですが、 アニメーションが終わる前にアラートが出てしまいます・・・ アニメーション終了まで待つ方法はあるでしょうか? ありましたらお教えいただけないでしょうか よろしくお願いします。
slideUp( 'fast', function(){ alert( 'hoge' ) });
jQuery Mobileのスレはない? ここでおk? とりあえずAndroidで重くて使えないので困ってます まだ仕方ないってことか
jQuery系の話題はこんな板で聞くより人が多いweb制作版で聞いたほうがいいと思うんだよね 本来この板で扱うネタじゃないし
なるほど、行ってくる
それじゃ、俺もjavascriptスレで質問してみます
895 :
デフォルトの名無しさん :2011/11/06(日) 23:08:27.57
テーブルの列をDDで移動するようなものってできる?
>>890 お礼が遅れました
ありがとうございました
ちなみに、'fast'は省略できる。
あ
jQuery(document).ready(function (c) { c("html")・・・ }); このreadyなしで c を作ることって可能でしょうか? ページが表示されてからスプリクトを追加してるのでreadyがあると動作しないのですが 他所から拝借した↑のスプリクトをどう変えたらいいのか・・・
jQuery(function(c){ console.log(c); }); これで等価だったはずだけど何がやりたいの? そこを書かないとまともな解答は得られないよ 解決方法を自分で考えて、 考えた方法を解決するための方法を質問するよりかは 問題となってる事を質問に添えた方が適切な解答が得られる
readyのタイミングを逃してるから、その部分が動かねぇってこと? (function(c) { c("html")・・・ })(jQuery); ってことかね。
>>900 失礼しました。
Firefoxのアドオンからwebページのスクロールバー付近に付いてくる
ウィンドウを表示させようと考えてます。
jQueryのスプリクトは見つけたのですが
アドオン側では複数のタブがありますのでwindowを指定できるようにしたいのです
素人ながら先ほどの質問の部分だけクリアできれば動作しそうなのですが
こちらの部分でmy_win.documentのように指定することは可能でしょうか?
jQuery(function(c){
});
903 :
デフォルトの名無しさん :2011/11/09(水) 10:29:24.39
GmailやGoogleDocumentのように、データ読み込み中に「NowLoading...」のようなものを表示したいと思っています。 そこで以下のようにコードを書いてみました。 ---------------------------------------------------- // 画面に「NowLoading...」のテロップを表示…(1) // $.ajax()を使用し、データを取ってくる関数…(2) // 画面の「NowLoading...」のテロップを消去…(3) ---------------------------------------------------- このコードではうまく動かず、トレースしてみたところ (1)→(2)→(3)と処理されると想定していたところ(1)→(3)→(2)と動いているようです。 (2)の関数の前後にこのような処理を行いたい場合どのようにコーディングすればいいのでしょうか?
データを表示するタイミングで(3)を行えばいいのでは
ajaxに渡すパラメータに beforeSendtとcompleteとかがあるからそれぞれに表示と非表示させるのを入れれば良いよ
アニメーションやajaxみたいに、非同期でうごくようなのはつまずく人が多いのかな。
多いとは思うよ
>>903 $.ajaxのsuccessの中に(3)を書けばいいんじゃない?
>>902 そういった事がしたいなら
jQuery(my_win.document).ready(function ($){
});
こんな感じになるよ
jQuery(function(c){ });
この書き方がOKなら上に書いてある書き方通るはず
910 :
デフォルトの名無しさん :2011/11/09(水) 22:44:20.87
id="hoge"のdivタグのところに jQuery("#hoge")とやると FirefoxではうまくいくけどIEではできませんでした。 idをclassにしてjQuery(".hoge")にしたらIEでもできましたけど 原因は何ですか?
それだけで原因と聞かれてもなぁ hogeが二重定義されてたりとかすんじゃないの? そもそもjqueryとブラウザのバージョン,HTMLぐらいは書け
912 :
903 :2011/11/12(土) 00:05:44.73
試してみたところできました! 回答して下さった方々本当にありがとうございました。
ちなみに $.ajax() で同期的に取得する方法もある。 と、質問者がいなくなってから書いてみたり。 ブロックされちゃうからしないほうがいいんだけどね。
input のname属性にidと同じのを設定してしまうと、 IEではおかしくなるってのがあるけど…jQueryで吸収してしまうはずなんだけどね。 かなり古いjqueryを使ってるとか? <input name='test' value="1"> <input id='test' value="2"> で alert(document.getElementById('test').value); alert($('#test').val());
916 :
デフォルトの名無しさん :2011/11/15(火) 16:58:54.00
http://5am.jp/jquery/jquery_ui_tabs/ を参考に、
自動で一定時間ごとに切り替わるタブメニューを導入しようと考えております
しかし、タブのメインパネル内にマウスのポインタが存在した場合は自動切り替えをオフにしたいです
流れとしては
インターバル → 一定時間ごとに&change_flag=trueならタブ切り替え
マウスイベント → パネル内に侵入したらchange_flag = false 離れた時 change_flag = true
となるかと思います
具体的には以下のstart()をインターバルで回しております
function start() {
self.rotation = setInterval(function() {
/ もしマウスがタブの外だった場合
if( change_flag ){
t = ++t < self.$tabs.length ? t : 0;
self.select(t);
}
}, ms);
}
そこでどうしてもわからない点をお聞きしたいのですが、
パネルのクラス名が(".hoge")だった場合.hogeに侵入したら(hover?)false,離れたらtrueとchange_flag
に設定するにはどうすればいいでしょうか?
JQuery ここのあるのなwwwww 知らんかったからWebスレのJAVAScriptスレで聞いてたわwww
プラグインでよく使われている$.fn.myMethod = function { ... } というのは、 jQueryのプロトタイプに入れてるそうですが、ということは異なるプラグインで 同じ名前のメソッドがあると衝突するんでしょうか?
あるサイトを参考に<img id="test">として、イメージがクリックされたら test1という外部関数が実行されるコードを作りました。 $(function(){ $('#test').click(function(){ test1(); }); }); 一応、動いていますが、文法的に合っていますか?
$('#test').click(function(){ test1(); }); こんだけでいいと思うが
>>921 それするなら
$(document).on('click','#test', test1);
これでよくない?やってる事一緒だし
923 :
921 :2011/11/18(金) 09:46:53.84
>>922 その書き方は知らなかった
.live() が統合されたんだな
>>920 、
>>921 、
>>922 色々なやり方があるのですね。大変参考になりました。
特にjsfieddleにあのような使い方があるのは新鮮でした。
差集合、和集合を取りたいのですが以下の書き方で問題ありませんか? 試した感じでは一応想定通りに取れているようには見えます。 version1.7 ブラウザ IE6, IE8 // テキストボックスとテキストエリアの集合 var wa = $("input[type=text]").add($("textarea")); // h1とh2の集合 var sa = $("h1, h2, h3").not($("h2"));
>>925 和集合、差集合がどこにかかっているのかさっぱりわからん
そもそも、セレクタ上で積集合担っている部分がないように見えるが
// テキストボックスとテキストエリアの集合
var wa = $("input[type=text], textarea");
// h1とh2の集合
var sa = $("h1, h2");
927 :
925 :2011/11/18(金) 13:17:13.79
× そもそも、セレクタ上で積集合担っている部分がないように見えるが ○ そもそも、セレクタ上で積集合になっている部分がないように見えるが
>>926 レスありがとうございます。
私が伺いたいのは、複数の集合(セレクタ)があるときにその和と差を取る場合のjQueryでの書き方です。
今回の例では、
テキストボックスの集合とテキストエリアの集合の和集合、
h1,h2,h3の集合とh2の集合の差集合。
積集合がないとのことですが、
差集合については包含ですがh2の集合が存在していますし、
和集合の場合は積集合の存在は必須ではありません。直和と言えという意味のご指摘であればすみません。
929 :
926 :2011/11/18(金) 14:58:47.22
ドキュメントには .not( jQuery object ) のパターンが抜けているけど… Exampleにはあるのでだいじょうぶかな。
>>929 そこを突っ込んでやっても仕方が無いんじゃないかな。
たとえば、セレクトするタイミングが違うとか有るんだろうし。
(例では一行で書いてあるけれど)
>>932 DOM elements って書いてあるけど。
.add() のほうは .add( jQuery object ) がわざわざ書いてある。
925です。 レスいただきましたみなさまありがとうございます。 特に926さんには詳しいレスと実際のサンプルもつけてくださったことに感謝します。 実コードはこれから書くところですが 、931さんのご賢察のとおりで別々の場所で取得したセレクタに対する集合の計算が必要でした。 1ヶ所で書ける部分については926さんのサンプルを活用させていただきます。 また、わからないことがありましたら質問をさせてください。 失礼いたしました。
935 :
デフォルトの名無しさん :2011/11/19(土) 13:09:39.64
jQueryMobile使ったらフォームでIDとパスワードの保存を iPhoneSafariがしてくれなくなったんだが、原因わかる?
>>935 俺たちはエスパーじゃない。
少なくともjQueryMobileのバージョンとか使用した機能(ただscriptタグ書いただけってことはないんだろ?)を明らかにしろ。
あとiPhoneMobileはダメだったとあるが他のブラウザ、例えばChromeとかFirefoxで見たらどうなってるんだ?
エスパーじゃないかもしれないけどいい奴だ
939 :
デフォルトの名無しさん :2011/11/19(土) 15:59:12.30
>936-937 サンクス。あんたならいつかエスパーになれると思う。
>画面load時にすでにHTMLとして出力されている (JSなどで書き換えないほうがよい) このへんが怪しいな。
Geolocation API を使いながら現在地の緯度経度を取得するごとに、GoogleAppEngineのデータストアに書き込みたいのですがどのようにajaxを使用すればいいのでしょうか?初心者です
>>941 初心者宣言は免罪符じゃなくて私はバカですって表明にしかならんからやめれ。
宿題なら宿題スレいけ。
まじめに質問したいなら使ってるライブラリ、WebAPI、対象ブラウザ、
質問内容のどこまでできていて、どこがわからないのかをきちんと書け。
単純にJavascriptがわからんのか、
Geolocation APIがわからんのか、
GAE周りがわからんのか、
どれなんだよ。
全部とかいうなよ?
>>942 Ajaxが分かりません、ボタンを使わずにパラメータを送りたいと思っているのですがいかにすればよいのか分からないのです
>>942 ボタンを使わずにパラメータを送るって、ビーコンでも都バスの?
上、
>>943 へのレスです。年取ったな...orz
geolocation.watchPosition()は定期的に指定したコールバック関数が呼ばれるらしいからその関数内に POSTかGETするコードを書いて送りたいデータを渡せばいいのでは?
Jqueryの中身見てみたんだけど、なんであんなに密集しているの。コード容量減らすため?
>>944 ボタンクリック以外のトリガーでイベント発動させたことないの?
>>948 そういうサイトがあったのか。参考になった。サンクス
そもそもjquery自体バイナリだと思っていたので、ちょっと驚いた。
ギャグのセンスあるぜオメー
>>950 サイトというか、
>>948 のリンクはjQueryそのものだよ。拡張子でわかるよね?
ファイル名にminって付いてるタイプが圧縮版で、コード量を減らして転送量を減らすためのもの。
圧縮については、Googleのトップページとかもそうなってるよ。
953 :
デフォルトの名無しさん :2011/11/22(火) 12:23:59.36
jQueryを使っているけれど、それ以外のコードを自分で書いたjavascriptの著作権は、その人に属するってことでイイでしょうか??
>>953 自分で作った部分は自分の物だろうけど・・・
jQuery自体はMITライセンス
jQueryの中の著作権表示だけ改変せず残しておけばOKなんじゃない?
divタグをクリックするとそのdivタグの背景色が変わり、 そのdivタグの中のaタグのリンクをクリックした場合は変わらないようにしたいのですが、どうしたらいいでしょうか $("div")..click(function() { $(this).css("background-color", "yellow"); });
$("div").click(function(event) { if(event.target===event.currentTarget)$(this).css("background-color", "yellow"); }); とか $("div").click(function(event) { if(event.target===this)$(this).css("background-color", "yellow"); }); とか?
>>956 それはdiv要素の中にa要素しかない場合限定だよね
if (event.target.tagName === 'A') return;
がいいと思う
959 :
デフォルトの名無しさん :2011/11/25(金) 08:57:11.52
jQuipってどうなんでしょうか・・・
わずか30Kバイト。キャッシュが有効ならほぼ0Kバイト その転送量が惜しいと思った時使えばいいんじゃないですか?
ソースコードを読んでみようず
ん? どういう理由で?
964 :
デフォルトの名無しさん :2011/11/29(火) 19:24:41.35
jquerymobileについてなんですが、 リスト表示が重ったるくて軽くする方法を調べたんですが if ( attachEvents ) { attachEvents(); } を無効にするとホバーしなくて軽くなることは分かったんですが min.jsの方だと、その項目が見当たらないのですが、 minの方だったら、どうしたらホバーさせないようにできるのでしょうか?
d&&d(); かな。 jsfiddleとかで、整形しなおすと割とわかる。 ほんとは、Uncompressedのほうを直して、ビルドしなおすほうがいいんだろうけれど。
jQuery plugin for parsing metadataでiframeにPDF埋め込んでいます 埋め込んでからロードされるまで時間が有りますが、 ロードが完了しているかどうかをjsから取得する方法は有りますでしょうか? 表示完了後でないとフォームにフォーカスが移動出来ないのですが タイマーで移動だとロード時間に環境差が有るので上手くいきません
.trigger()の使いどころってどんなのがあるんでしょうか。ドキュメントのサンプルをみても、 .tigger('click')は.click()と同じ動作でした。コールバックに引数渡せるようなので、そこだけでしょうか?
968 :
デフォルトの名無しさん :2011/12/03(土) 15:30:01.07
serializeした内容をjson形式に変換したいんですがどうすればできますか? どなたか教えて下さい よろしくお願いします
>>967 http://api.jquery.com/trigger/ 公式サイトのドキュメントを見た?ちゃんと書いてあるよ
英文を読まなくてもサンプルコードを見るだけでもなんとなくわかるよ
↓
> $('#foo').bind('custom', function(event, param1, param2) {
> alert(param1 + "\n" + param2);
> });
> $('#foo').trigger('custom', ['Custom', 'Event']);
>>968 var json = JSON.parse(data);
あじゃっくす
973 :
デフォルトの名無しさん :2011/12/04(日) 13:29:42.26
>>970 すいません試してみたらうまくいかなかったです・・・orz
どなたかajaxFileUploadにパラメータとしてserializeしたデータを送信する方法
教えて下さいませんか?
よろしくお願いします。
あまのじゃくっす
976 :
デフォルトの名無しさん :2011/12/04(日) 20:39:42.38
すみません、質問させてください・・・ 動的にタグを追加してるのですが、 その追加されたタグへイベントを登録したいのですが・・・ こんな場合、liveを使うと本を読んで知っているのですが、 しかし、追加しようとしているイベントは別で追加したjQueryライブラリでして・・・ こういう標準のイベント以外を動的に追加するにはどうすればいいでしょうか
1.7では、live or bind or なんとかではなくonを使う
978 :
976 :2011/12/04(日) 22:10:37.05
>>977 ありがとうございます。
liveから変わったのですね、今度から動的に追加したタグへのイベントはonを使う事にします。
・・・が、今回の件ではonでは解決できませんでした・・・
onでも、追加できるイベントはclickとか標準的な物だけですよね?
追加したいのは、追加で読み込んでいるjQueryライブラリのイベントなので・・・
なので、動的にタグを追加した直後にイベント登録するようにして問題を解決しました・・・
js内でjavascript標準関数で外部ライブラリを読み込む関数ってないですよね・・・
なのでjs内で標準関数以外の関数使ったりすると見通しが悪くなるし気持ち悪いので嫌なのですがしょうがないのかな・・・
write使って読み込む方法は知ってますが、これもどうも気持ち悪いし多重で読み込みしてしまう可能性もありますよね・・・
979 :
デフォルトの名無しさん :2011/12/05(月) 01:20:28.12
980 :
デフォルトの名無しさん :2011/12/05(月) 03:00:40.23
jQuery Mobileめっちゃ重い 一部の機能だけ抜き出して軽量化したライブラリとかない?
重いってファイルサイズのこと? 12KBしかないんだが。 動作が重いって話なら一部の機能を抜き出した所で軽くはならないぞ。 それにたいていは書き方が悪いから遅くなってるだけ。 つまり自分の問題。
ああ、重いってのは動作のことです、Androidだとアニメーションがカクカク 書き方って、サンプル動かしてるだけなんだが
DatePickerについて質問です。 from と to 2つのinputを設け、 入力された日付の差(to - from)によって別のテキストを出そうとしていますが上手くいかず… 2つのinputの値を変数に組み込みたいのですが、どう呼び出せばいいのでしょうか? 解る方たすけてください rz
986 :
デフォルトの名無しさん :2011/12/06(火) 01:14:05.02
一度付与したanimateを削除する方法を教えてください。 $("#target").click(function() { $($.browser.safari ? 'body' : 'html').animate({scrollTop:position}, speed, 'swing'); } こんな感じでスムーススクロールの処理をバインドし、別なイベント時にこれをunbindしたいのですが、 うまくいきません。 $("#target").onclickに対するfunctionはunbindできても、bodyまたはhtmlに付与された animateは残っているようで、次に上記処理を呼ぶと、スムーススクロールの処理が重複してしまいます。
>>985 ですが弄くってたら事故解決しました!
失礼しました。