【jQuery】JavaScript ライブラリ総合質問所 vol.1
1 :
Name_Not_Found :
2012/01/29(日) 14:15:24.93 ID:e274oar9 JavaScriptライブラリ を自ら学ぶ人のための質問スレッドです。
>>2 のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は
http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
2 :
Name_Not_Found :2012/01/29(日) 14:16:04.77 ID:e274oar9
質問するときは使用しているライブラリ名をハッキリ明記するようにしましょう。
ライブラリがあまり絡まない基本的な問題は
>>2 の本スレに誘導。
テンプレ相談は
>>750 くらいから。
主要なライブラリ jQuery jQuery Mobile prototype.js mootools Yahoo! User Interface Library
Ext.js Sencha.js あたりもか
【期待される当面のスレの進行】 早急な回答は期待できません。 しばらくは少しjQueryが絡む程度なら本スレでの質問を推奨します。 逆に本スレで相手にされないようなマイナーな環境や、 嫌がられるようなプラグインバリバリの質問はこちらですることがオススメです。 きっと優しい回答者様達がじっくりと回答してくれます。 回答者は時間がかかってもいいので、わかる範囲でできるだけ回答してあげてください。
スライドショーでjqueryつこうてるのですけど 切り替えの早さとかの設定してますか? dualirationとかpauseの設定です
値です
ライブラリとフレームワークは違う
JavaScriptにとってそんなに違いはない
Dojo最高じゃねぇか
Dojoとかどこかの総理大臣を思い出すから勘弁して
スレタイの前にjQueryだけ入っているところが恣意的
>>13 いや、違うんですよ。
二つ入れたかったんだけど文字数制限で。
次スレから自由に改良してもらって構わないです。
jQueryの質問は多いと思うし、このままでいいと思う。 まあ、まだ何の質問もないけどなw
じゃあ質問 jQuery UIのdialog内でselectメニューを使うとクリック(タッチ)しても、 ブラウザによってはプルダウンが出てこない問題でハマってるんだけど 何故だか分かる方、同じ地雷を喰らった方いますでしょうか?
そんなことよくある ブラウザによっては動きませんとか言うのが間違いない 動かしたいブラウザで動くように作るのが正解 諦めるのが次点
じゃあjQuery使わないのが正解になるやん
zIndexが変になってるとかじゃないの
>>18 当たり前だろ
jQueryだけでなんでも簡単にできるんなら皆jQuery使うわ
つまりjQueryで楽しようとしても無理ですってことか まーそらそうだよな
jQuery UIとかオワコンだと思ってた
そうなの? jQueryより後から出てきたものではないの?
24 :
Name_Not_Found :2012/02/18(土) 17:37:45.25 ID:jhxsq1uC
jQueryは全部のブラウザに対応している訳じゃない。 けど、ほとんどのブラウザで動作確認されている。 jQueryで正常動作しないブラウザは、よほど特殊かマイナー もしくは、もう古いブラウザーって事だろ、切り捨ててOK範囲。 切り捨てる事ができないのなら、jQueryで作った上で対応してないブラウザに個別対応するのが確実。
>>24 の言う通り
レゴを使えば簡単に物体が作れるが細かい部分に限界があるのと同じ
>jQueryで正常動作しないブラウザは、よほど特殊かマイナー 俺もそう思って採用したんだけど、ここ一年以内のAndroid端末で動かないんだぜ… Xperia Arcって特殊かマイナー?
>>26 Android持ってないからわかんねーや
iPhoneのSafariとかは正常に動作してるけどな。
mouseoverの当たりとかはダメだけど。
待ってれば対応する可能性高いと思うが今は個別対応するしかないんじゃね?
いやいや 何のためにjQueryMobileがあると思ってんの
jQuery Mobileは残念ながら、まだ今の端末ではまともに動かないね
> 正常に動作してるけどな。 > mouseoverの当たりとかはダメだけど。 こういうのってどういう気持ちで書くんだろ
バカが釣れるかどうかワクワクしながら書くんじゃね?
>>30 iPhoneでmouseoverイベントなんて取れないんじゃねーの?
だから釣りだろ
jQuery mobileの開閉式コンテンツに動的に要素を追加した場合に表示をリフレッシュする方法が分からなくて困っているのですが、どうしたらよいでしょうか。 リストの場合はlistview("refresh")のようにやると思うのですが、開閉式コンテンツの場合の方法がリファレンスに記述されてないので。
history.go(0)
.page()
>>36 返信遅れましたが、page()でリフレッシュできました。
ありがとうございました。
jQuery mobileって、aタグは使えないのでしょうか? MTで使いたいのですが、記事のなかにaタグとかあると どうなるのでしょうか?
Web制作の現場で使う jQueryデザイン入門 jQueryデザインブック 仕事で絶対に使うプロのテクニック どっちがおすすめですか?
読んだこと無いからわからんが、自分でじっくり立ち読みして決めるべき 今まさに興味がある知りたい項目を読んでみて理解できるかどうか 索引を見て知りたかった用語が載っているか、その解説が理解できるか 人それぞれ知識のレベルが違うので合う本も違ってくる ただ、IT関連書籍は日本語が不自由な本が多くて読むだけ無駄な場合が多々ある
>>39 アマゾンの評価みれば?
それか、両方買えばいいんじゃね?
jquery mobileって何でこんなに人気があるんだ 似たようなデザインばっかりで吐き気がする
>>40 > IT関連書籍は日本語が不自由な本が多くて
全くだわ。なんなんだろうな。
文系エンジニアはそういったの書けるほどの理解が足らない場合が多いし 理系エンジニアは自分の理解の上で書くから理解させる文章が書けないというか まぁ何系による話しでもないか
理解に経験が相まって、高みの視点から解説されている文章は 読んでてすんなり頭に入ってくるし、面白いと感じるけども、 まぁ、少ないな。 とにかく、一定数の販売が見込めるからという理由で銭目当てで 出版するのは勘弁してほしいわ。
46 :
Name_Not_Found :2012/03/01(木) 10:08:39.83 ID:hz49+C77
質問させて下さい。 DBからJavaで取得したListをjQueryで検索かけたいのですが、 JavaのListをどうやってjQueryで扱えばいいですか? 検索結果が少ないので、あらかじめ全項目取得してフォームの入力項目に併せて 動的に結果を表示させたいのですが…。
47 :
Name_Not_Found :2012/03/01(木) 10:16:51.20 ID:hz49+C77
すみません。追記です。環境は windowsXP 使用してるフレームワークはSAStrutsです。 <html:radio property="sample" value="${number}" onclick="$('#divTag').load('${f:url('search/')}${number}');" /> このようなやり方で、戻り値に別に用意したJSPを用意する事で、 ラジオボタンチェックで動的に値を取得して表示させることはできるのですが、 いちいちサーバーにアクセスするので、ページ表示時にjQueryが 全データを持っていて、それを検索していくことを実現させたいです。 よろしくお願いします。
>>42 じゃ、CSSカスタマイズすりゃいいじゃん。
基本機能は実装されてるけど、後は自分でカスタマイズしてね。
フレームワークってそういうもんじゃね?
>>45 年末に出たオライリーのjQueryMobile翻訳版がまさに。
2000円を捨てた感じがしたよ。
>>47 あらかじめ文字列成形したリストを吐き出して、Ajaxで取得じゃダメ?
鯖アクセスが無駄ってことだろう。とりあえずJavaがわからん
>>47 Strutsのテンプレートみたいなもんなんだろうけど
そういった書き方はおすすめせんな
あとHTMLの勉強すれば理解できる程度のもんだよそれ
JSPでscriptタグ生成すれば? <script> var data = ['foo', 'bar']; </script> とかになるように。 しかし、JSPの$とjQueryの$が混ざるとわかりにくいな。
54 :
46 :2012/03/01(木) 16:59:10.70 ID:X08IqMVc
皆さんありがとうございます。 var data = ['foo', 'bar']; なるほど、こうやれば配列を渡せるのですね。 今出先なので帰ったら試してみます。 あれから考えていたのですが、 一度JSPで全データのhtmlを書き出して そのhtmlをラジオフォームのチェック状況を踏まえて 整形していくというやり方は可能でしょうか? jQueryでラジオフォームの値と同じ値のDivは非表示、 というような処理が必要かと思うのですが…。 携帯の為個々にレスできずにすみませんが、お願いします。
55 :
46 :2012/03/01(木) 20:39:00.12 ID:X08IqMVc
追記させて下さい。 現在一度全データをHTMLに書き出し、そのHTMLを成形させる手法で実装を進めています。 現在下記のソースにより想定している動作を実現しました。 $(function() { //全データが書き出されるので非表示に。 $(focus).toggle(); }); function sample(number) { var test = "#" + number; $(focus).css("display", "none"); $(focus).filter(test) .toggle(); }; ------------ <html:radio property="sample" value="${idNumber}" onclick="sample(${idNumber})" /> しかしながら、toggleは単なる表示/非表示の切り替えなので、 呼び出しの度にdisplay:noneを行い、該当箇所をtoggleという処理が無駄だそうなので、 toggle()の箇所を単に「表示」にし、その他は排除する機能を持った メソッドを使いたいのですが見当たりません。 度々申し訳ないのですが、参考になるサイト等ございませんでしょうか。
>>55 $(focus).hide().filter(test).show();
でいいんじゃね?(未テスト)
show/hideはすでに表示/非表示になっているときには何もしないから、
css("display", "none");するのとちょっと違う。
それから、全データを書きだしてから非表示するんじゃなくて
HTMLの段階で非表示にしておくほうがいいんじゃないかなあ。
57 :
56 :2012/03/02(金) 02:51:37.87 ID:???
しまった >show/hideはすでに表示/非表示になっているときには何もしないから、 ソースみたらhideの方は無条件で none に入れてる。 $(focus).filter(":visible").hide(); $(focus).filter(test).show(); ってしたほうがいいかも。 あるいは、前回クリックしたnumberをどこかに覚えておくとかかな。 .data() を使うといいよ。グローバル変数でもいいだろうけど。
複数のバージョン違いのjQueryが読み込まれる環境で汚染を避けたいのですが $my = jQuery.noConflict(true); とすることで$だけでなくjQuery自体も元に戻ると考えていいのでしょうか?
61 :
Name_Not_Found :2012/03/03(土) 11:34:47.50 ID:xnULHRZV
CSSでボタンを作って <button class="cssbutton" id="xxxxx" onclick="funcAAA(aa,bb,cc);">ボタン</button> と表示していますが、onclickで実行される関数funcAAAの中で ボタンのidを取り出すことはできないでしょうか? $(this).attr("id")などとやっても取れませんでした。thisがbuttonタグを指さないみたいです
>>61 どうして中途半端にjQueryのclick使わずonclickでイベント拾ってるの?
63 :
Name_Not_Found :2012/03/03(土) 12:54:53.53 ID:kB6RScC6
>>62 ボタンが沢山あるページを、PHPで動的にHTMLを吐き出していて、
ボタンによってfuncAAAへの引数が変わる
jQueryのclickでできなくもないけど、上の方法がシンプルだったのでそうしました
>>63 ・・・そうか。
でも、俺が言いたかったのはちょっと違って・・・
クリックのイベントもjQueryで受ければthisが使えるよって事で・・・
$("button").click(function() {
alert($(this).attr("id"));
});
こんな感じにすればいいんじゃないの?
Yahoo YUI ver2.9のDatatableって改行させないで初期表示時に 文字列全体を表示してる状態にできないでしょうか。(ズレなど無しで) 私が試したところ、改行させないで文字列全体を初期表示はできたのですが ラベルと幅がズレてしまいました。。。
>>61 onclick="funcAAA(this.id);"
やはり引数でid渡すのが一番変更少なくすみそうなので 素直にそれでしのいどきます
<button class="cssbutton" id="xxxxx" data-aa="1" data-bb="2" data-cc="3">ボタン</button> $('button.cssbutton').click(function(e){ var button = $(this); var aa = button.data('aa'); var id = button.attr('id'); });
なるほど 次はそうしてみます
こちらに誘導されました。 ド素人ですんませんがどなたかご教授お願いします プルアップメニューなんだけど、スマホから閲覧すると初回タップ時だけhove(文字色のハイライトなど)がうまく機能しません。 別の場所をタップしたり、閉じたり開いたりすると機能するようになります。 どうにか初回からばっちりhoverを機能させる方法はないでしょうか? Firefox3.6では正常な動作でした。 $(function(){ $("ul.sub_list").hide(); $("ul#ul_menu>li").hover(function(){ $("ul:not(:animated)",this).slideDown() }, function(){ $("ul",this).slideUp(); }) $(".close").click(function(){ $("ul.sub_list").slideUp(); }); })
簡単な事ならライブラリを使わない方がトラブルが少ないかもしれない ま、ライブラリを使わずにやってみることだな… それでもおかしいならブラウザの問題かもしれない… タッチパネル操作は仕様差がややこしいからな 僅かに全部の機種で違うと言ってもいいくらいだ
なるほどーブラウザの問題の可能性もあるんですね 全ての機種で確認できる訳ではありませんし、無理に設置するのはやめておきます ありがとうございました!
if (!document.getElementById('id')) { return; } このidが存在しない時の判定ってどのようにすればいいのでしょうか
もうそれでできてるよ "id"が存在しない ↓ document.getElementById("id")はnullになる ↓ !document.getElementById("id")すなわち!nullはtrueとなる ↓ ifブロックが実行される つまりreturnの直前に alert("要素がありまちぇん!"); って書いとけばOK
>>74 すみません
質問に"jQueryで書き直したい"と書き忘れてました > <
(!document.getElementById('id'))
この部分をjQuery風に書きたいのです
空のjQueryオブジェクト(?)を判定すれば行けると思うのですが
if (!$("#id")) {
alert("ない");
}
イメージ的にはこんな感じで・・・
jQueryUIで拡張されたshow()メソッドの第2引数(options)に設定可能なパラメータってどこで調べられますか?
Firebugとかデバッガで書き換えられない変数を作成する方法を教えてください
jQueryUIで、$( "<div>" ).dialog().attr('id', 'id1')もしくは$( "<div id="id1">" ).dialog(); の様に動的に作成したダイアログにid属性を付加したいのですが、デバッガで確認するとid属性値が付加されていません。 どこがおかしいか教えて頂けないでしょうか。よろしくお願いします。
もしかして.dialog()で作成したダイアログにはid属性を付加できないんですかね。。
85 :
Name_Not_Found :2012/03/07(水) 18:06:26.88 ID:RtjaKylr
ドキュメント上のある位置にある要素を特定するにはどうすればよいでしょうか ?
何がしたいのかもっと詳しく できればHTMLを張ってどこを特定したいのかkwsk
87 :
Name_Not_Found :2012/03/07(水) 18:54:39.95 ID:RtjaKylr
>>86 ちょっと説明しづらいのですが、複数の要素をdraggableで適当に動かした後、
ドキュメント上のある位置にある要素を求めたいのです。
例えばtop、left100px以内にあるのはどのidの要素か、などです。
わかりづらくてすいません
複数の要素を全部調べるか、移動するたびに、ある位置に配置されたかどうかを保持しておくか。
89 :
Name_Not_Found :2012/03/07(水) 23:03:45.31 ID:mpGRZxri
>>88 すいません、全部調べるのはどういう方法がありますか?
あと、位置を保持するのはoffsetとか使ってでしょうか?
$("b:eq(0)") と $("b").eq(0) って同じですね? どっち使ったほうが良いのでしょうか
>>82-83 なぜidが必要かが疑問(どんなケース?)が、付加はされている
どのdiv要素がdialogの戻り値になっているかもう一度確認
> $( "<div>" ).dialog().attr('id', 'id1')
↓
$( "<div>" ).dialog().parent().attr('id', 'id1')
恐らくこうだろうという修正案
>>89 ttp://jsfiddle.net/6FrZd/ 1つの例として位置と大きさから座標の範囲を割り出す方法を考えたが、
細かい要求はわからないし妥当かどうか自信もないので参考程度に
>>90 その例ならどちらでも
質問するときはバージョンとライブラリ名も書けや あと連携してるライブラリもあればそれの名前とバージョンもな!
>>90 両方使うのではなくどちらかに統一しろ
俺なら要素と分けて考えたいから後者を使う
速度なら前者
逆じゃね?
簡単なサンプルケースでやってみたが後者のが速かった
<input type="checkbox" id="anyid" />チェックボックス1 この場合文字列「チェックボックス1」を取得するにはどう表現したらいいでしょうか? <input type="checkbox"id="anyid" >チェックボックス1</input> であるなら $("#anyid" input).html()で取得できると思うのですが、このようにhtml部分を書き換えさせた方がいいでしょうか?
<label><input>hogehoge</label> で .parent().text()
なるほどその方がスマートですね
>>97 DOMつかって
console.log($('#anyid')[0].nextSibling)
じゃだめかい?
むりやりjQueryだけでやると
var a = $('#anyid').parent().contents();
console.log(a.eq(a.index(a.end().end()) + 1).text());?
?こうなるかな…
まあ、
>>98 だね。
101 :
Name_Not_Found :2012/03/08(木) 20:28:25.33 ID:YQeGZS9M
質問させてください。 var test = $("#message span.error"); $(function() { test.hide(); }); 上記が動かない理由を教えてもらえませんか?
>>101 ∧__∧
( ・ω・) いやどす
ハ∨/^ヽ
ノ::[三ノ :.、
i)、_;|*く; ノ
|!: ::.".T~
ハ、___|
"""~""""""~"""~"""~"
>>101 上と下で実行タイミングが違うよ。多分、最初の行の段階で要素がまだ生成されてない。
104 :
Name_Not_Found :2012/03/08(木) 22:21:05.28 ID:YQeGZS9M
>>102 そのAAなつかしい…。
>>103 ありがとうございます。
メソッド外部で変数にセレクタを代入してもオブジェクトは作成されないのですか…
同一メソッド内であれば正常に動作することは確認しているのですが、
外部メソッドにセレクタ逃がすことってできないのでしょうか?
ソースがどんどん汚くなっていくので…。
>>103 が言ってるのは、
DOMがloadされる前に一行目の変数代入が実行されていてtestが空なのでは?
ということだと思う
jQueryでweb2.0 likeな2ch作ったら流行るでしょうか
流行らない
サイトの7つのページのうち、4つを1つにして メニューのリンクを押すと横スクロールされて表示される仕組みにしたいと思ってます。 どのようにしたら実装できるでしょうか?
今書いたことを一つずつ実装していけばいいです
検索ワードな ・4つを1つにして → カラム化 ・メニューの → ヘッダ+固定 ・リンクを押すと横スクロールされて → animate scrollLeft getElementPosition
jqueryで <div id="d1"><div id="foo"><a href="#" id="abc">abc></a></div></div> <div id="d2"><div id="bar"><a href="#" id="abc">abc></a></div></div> のようなときに、 div#d1内にある#abcや、div#d2内にある#abcといった条件で セレクターで指定することはできますか? $("div#d1 a#abc")のようにやってみたのですがとれませんでした
$("div#d1 a#abc") ↑ これだとdiv#d1の子要素にa要素#abcがないから取れないに決まってるじゃん
そのaタグはIDにせずクラスにすれば?
HTMLでidは同一文書内で絶対に重複しないんだから、 div#d1 a#abcなんていうのは単なる無駄 #abcで十分
仕様と実情をはき間違えるなよ ブラウザも実情に従ってる
突っ込まずに放っておけよ
# つかわずに [id="abc"] だとどう?
どう? というがそんなもん手元で試せば一発なわけだが 試さないあたりにどうでも良さが垣間見えるな もちろん俺も試してないが
$("div").keydown(function(e){/* 処理A */} $("div").click(function(e){/* 処理A */} 上記2行のように指定したセレクタに複数の特定のイベントを登録したいのですが、全て処理Aを呼び出してます 毎回処理Aをコピペするのはコードメンテナンスに悪いので1回書くだけで済むようにしたいと考えてます そこで下記のように関数にまとめてこう書いてもeを上手く渡せないのが動きません function ShoriA(e){/* 処理A */} $("div").keydown(function(e){ShoriA(e);} $("div").click(function(e){ShoriA(e);} アドバイスお願いします
>>121 いや、そうじゃなくて。
うち(chrome)だと $("div#d1 a#abc") で取れるので、なにか環境が違うのかなと。
>>121 ぼくのぱそこんだとうごくんですけど。っていいたいの?
>>122 まずは構文エラーを何とかしようぜ。
どうせ 処理A で thisを参照してるとかそんなんじゃね?
eを渡せないらしいからなぁ。
>>121 普通こうだろ
function ShoriA(e){/* 処理A */}
$("div").keydown(ShoriA)
$("div").click(ShoriA)
>>122 $('div').bind('ひみつ',function(){/*処理A*/});
ど素人で申し訳ありませんが教えてください。 jqueryを用いてadobeAIR用のデータベースソフトは開発できますか?
データベースをどこに格納したいのかね?
jQueryはデータベースを操作するモノじゃないし
>130 はい。よくわからないんですが、JSON形式で保存できないかなと。 なぜJqueryを使ってAdobeairでデータベースソフトを作ろうと思ったのは 郵政からでてる「はがきデザインキット」をみた知り合いがこういう見た目と感覚的に操作できる データベースソフト作れないかと言ってきまして調べてみると 「はがきデザインキット」がADOBEAIRを使っていましたので質問しました。 あれって住所録とかはどのようにしているのでしょうか
jQueryはDOM操作に使うものなので、 JSONの処理は素のJavaScriptを使う jQueryはJSONにもデータベースにも関係しない jQueryの話じゃないならスレ違い
データベースをXMLとjQueryで実装することなら楽勝だよ データベースなんていらんかったんや!
開発できますか?って質問者のセンスによるんだよな
jQuery Mobileの$.mobile.changePage()って 1.0a4だと $.mobile.changePage = function( to, transition, reverse, changeHash, fromHashChange ) なのに、 1.0.1だと $.mobile.changePage = function( toPage, options ) になっててハマった。
localStorageでも使えばいいんじゃねーの dataURL使ったcsvへの変換機能も忘れずにな にしても残念すぎる日本語だな
>>136 1.0a4からの移行だとpushStateEnabledでもハマる可能性があるから一応覚えておき
>>138 おー、まじありがとう!
とりあえず
$.mobile.ajaxEnabled = true;
$.mobile.pushStateEnabled = false;
ってしておいた。
そういや巷じゃ、jQiery Mobile使ってUI開発してる人たちは
$.mobile.ajaxEnabled = false
にしちゃうケースが多いのかね?
俺は逆にajax使いまくってる。
サーバーとのやりとりは、ほぼすべてJSONのみ。
ajax使うなら逆にpushStateEnabledはtrueのままでいいんじゃねーの? 俺は既存のサイトに対してガワだけjqmで差し替える使い方しかしてねえから 両方ともfalseにしてる
jqmで、changePageを使ってPAGE1.html→PAGE2.htmlとページ遷移させる際に PAGE2で<script></script>でインクルードしてるjsは読み込まずに PAGE1でインクルードしてるjsを引き継いでるようんだんだけど こういうもんなの?(実際にはjsp使ってるんだけど) PAGE2に遷移したら、PAGE2でインクルードしているjsを読み込む方法ってある?
142 :
141 :2012/03/18(日) 01:59:18.77 ID:???
ああ、そうか changePageするとページを書き換えるんじゃなくて PAGE1のケツのほうにPAGE2の対象コンテンツをappendみたいにするのか。。。 ややっこしいな。
143 :
141 :2012/03/18(日) 02:21:34.77 ID:???
自己解決 <div data-role="page" id="hoge"> <script type="text/javascript"> $("#hoge").live('pageshow', function(event, ui) { $.getScript("hage.js"); } </script> </div> って感じで、changePageした後のページでhage.jsを読んで うまく動いてるっぽい
1.4から大幅に仕様変更になった1.7系の和訳どこかにありませんか? もし俺が英語が出来る人間なら若くしてたんですが
頑張って若返らせてください
絶対に英語を頑張った方がいい。大した英語じゃないし。
公式サイトを見るのが一番正確なんだよな バージョンごとの違いもちゃんと書いてあるし
実機エミュ共に何度繰り返しても落ちないわけだが まあ落ちるんだったら原因は十中八九メモリ不足だろ
ちなみに落ちる現象が起きた端末はAUの初代EVOで、本体空きメモリーが44.93MBでした。 自分だけかと思って、友達のドコモのARROWS Kiss F-03Dでも試してみたけど、戻る動作をした瞬間に 落ちました。
俺の手持ちはMotorolaのDroid3のグローバルモデルだけど、 misedas、truevaluepaint共に、標準ブラウザでも他のでも まったく問題無いよ。 そういや、マーケットアプリのレビュー見ると、 落ちるとか音が出ないとか、トラブルがあるのってだいたい 国産キャリアの販売してる端末が多い気がする。 フィーチャーフォン的機能を付ける際に、何かいじってるのかね。
何かの構文やタイミングが揃ったときに落ちるのなんか珍しくないよ。 例えばガラケーとかのnetfrontは、 a=(Object.toString=Object)+1; とかで落ちる、一部はフリーズする。
うわ。ほんとだ。PSPブラウザでフリーズした。
$.ajax()なんかのコールバック関数に引数渡す方法ってグローバル変数意外にある?
意味が分からない
引数付きでcallする(無名)関数をコールバックに指定すればいいじゃない
var args function getdata(data){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { if (args... } }); } 今はこうやってargsを渡してるけどかっこ悪いので
「コールバック関数に引数渡す」だけでこのソースを思い浮かべろとかバカか
function getdata(data){ var args; $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { if (args... } }); } こうしとけ
なるほど!サンクス
function getdata(data,args){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { if (args... } }); }
function getdata(data,args){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data,args) { if (args... } }); } こんなテストコード書いて失敗してたから聞いてみたんだ ありがと!!
function getdata(data,args){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: (function(data) { if (args... })(args); }); }
jQueryの新しいの使ってるなら、ajax処理でdeffered使うと超便利。 コールバックのネストの嵐から解放される。 こんなコードを書けばいい。 xhrObject = $.ajax({ . . . }); $.when(xhrObject) .then(function(){ // ajax処理成功時の処理 alert("成功:" + xhrObject.status+"\n"+xhrObject.responseText); }) .fail(function(){ // HTTP通信エラー時 errorCode = xhrObject.status.toString(); if(errorCode === "500"){ alert("Internal Server Error"); }else if(errorCode === "404"){ alert("Page not found"); } }) .always(function(){ // ajax通信の成功・失敗を問わず必ず実行される処理 alert("ajax処理が完了しますた"); });
これは初めて知った! defferedで調べてみる!ありがとう!
確かに便利そうだ 3重のajaxを書いてインデントが大変なことになってた
deffered使うと、逐次処理っぽいことができんだよね。 jQuery1.5から追加されたんだっけか。 jQuery1.7からは、ajaxじゃないけどイベント処理で bind,live,delegateが、on(), off() にまとめられてて これまた便利だよ。
async:trueでもasync:falseのどちらでも使えるん?
使えるよ
ありがとう 試したり調べたりせずに聞いちゃってごめん
あとたしか、複数のajax処理の結果を受けて処理する書き方で $.when( $.ajax("/request1"), $.ajax("/request2"), $.ajax("/request") ).done( // それぞれの結果処理 function( response1(), response2(), response3() ){ ... }) .fail( // 失敗処理 ); こんなのもできた気がする。
ちがった、こうかな $.when( $.ajax("/request1"), $.ajax("/request2"), $.ajax("/request") ).done( // それぞれの結果処理 function( response1, response2, response3 ){ alert(response1 + response2 + response3); }) .fail( // 失敗処理 ); とにかくdeffered使うと便利っつーことよ
defferdじゃなくてJSDefferdにしなさいよ
そこまで欲するならGWTかDartに移行すべきだな
>>155 なら、「context」が例に挙がっててもよさそうだけど。。。
$(".target ul").append( $("<li/>").append( $("<a/>").append( $("<span/>").html("えお").addClass("class14red") ).html("あいう").attr("href","#top").bind("click",function(){showmark(i);}) ).addClass("list") ); 最後のspanだけがうまく追加されないです あいう"えお" となる予定です
>>179 HTMLも示したまえ
実行前
<div class="target">
<ul></ul>
</div>
実行後
<div class="target">
<ul><li class="list"><a href="#top">あいう</a></li></ul>
</div>
>>180 失礼しました。まさにその通りです。原因はなんでしょうか?
>>181 使用している関数について機能を調べて
実行順序を再考したまえ
.html("あいう")を外すと「えお」になるよね
わかりました!! $(".target ul").append( $("<li/>").append( $("<a/>") .append( $("<span/>").html("えお").addClass("class14red") ).html("あいう").attr("href","#top").bind("click",function(){showmark(i);}) ).addClass("list") );
途中で書き込んでしまいました $(".target ul").append( $("<li/>").append( $("<a/>").html("あいう").attr("href","#top").bind("click",function(){showmark(i);}) .append($("<span/>").html("えお").addClass("class14red") ) ).addClass("list") ); これでうまくいきました。ヒントのおかげです。
それってそもそも自分でDOM操作やってるようなもんだけど パフォーマンス悪くならね?
こんなことにJavaScriptを使っている時点で以下略
男なら黙ってHTMLベタ書き 俺は女だけどな
1秒が0.1秒になるなら高速化だけど、10msが1msになっても誰も気が付かない
ユーザビリティの観点からいけば、 ページの表示に10秒かかっても許される
そういう問題じゃないと思うけどな 毎日数十人の人が一年そのページをみるとして 100msでも合計数十分人の時間を奪ってしまうことになる 数分考えたり書けば高速化できるんならサボらずにやった方が社会のためになる こういうのが本当のユーザビリティーだと思う
10秒を超えると多くの訪問者は立ち去るからな ウェブ・ユーザビリティによると
0.1秒までなら応答が瞬時に返ってきたという印象を与える。直接操作している感。 1秒までならユーザーの思考は途切れなく流れる。良質なナビゲーションにはこのレベルの応答性が必要。 10秒遅延してしまうと、ユーザーが即、サイトから離れてしまうことも多くなる。
俺俺DOM操作よりは html断片ベタのほうが速いよね
HTMLなんかよりプレインテキストの方が速いんだぜ
>>192 一人が見て一人分の時間を奪うわけじゃないんだね
1人が見てる間 他の人が待たされるとか、90年代か
ユーザより保守する人の時間を奪いそうだな。
依頼の1つを何度クリックしても出てこない スクロールしてクリックを何度も繰り返させられてる 再読込は何度も試した 嫌がらせに腹立たしい
よく見たら数十分人の時間って書いてた。ややこしい
『ややこしい』じゃなくて『間違えた』 ベストは『私が勘違いしていましたすみません。』
これの意味がさっぱり分からないんだが
いったい何をどう勘違いしたんだ
197 名前:Name_Not_Found[sage] 投稿日:2012/03/21(水) 12:54:51.90 ID:???
>>192 一人が見て一人分の時間を奪うわけじゃないんだね
日本語がわかんない奴は来なくていい
数十分人って、1人日とかそういう書き方?
数十人*100ms*1年のうちにサイトを見る回数 = 数十分ってこと?おかしくね?
数十分=20分から99分の間
211 :
Name_Not_Found :2012/03/21(水) 19:40:51.87 ID:L1dDBrV9
$(document).ready(function() { $.post("./ajax.php", {}, function(data) { $("#main").html(data); ←1、ここでmainの中にボタンを作成 }); $("#sendbtn").click(function(){ ←2、ここでボタンのクリック処理を追加 $.post("./ajax.php", {}, function(data) { $("#main").html(data); ←3、ここでmainの中身を更新 }); }); }); って処理があるのですが 1で作成したボタンには2でクリックの処理が追加されるのでいいのですが ボタンをクリックした後に3でボタンを書き換えてしまうと 二度とクリックで処理が走りません 2度目以降のクリックでも同じ処理をしたいのですが どのようにしたらいいでしょう? ボタンは毎回絵を変えたいので書き換えたいです。
また同じようにclick()でクリック処理を追加したまえ あと質問ではHTMLも示したまえ
>>212 すいませんHTML側は単純にボタンを置くだけです。
<input type="button" id="sendbtn" classs value="POST" />
>また同じようにclick()でクリック処理を追加したまえ
それも考えたんですが$("#sendbtn").click(function()の中に$("#sendbtn").click(function()を書いて
$("#sendbtn").click(function()の中に$("#sendbtn").click(function()を書いて・・・・・って永久に書かないとイケないのかなぁと
なんかいい書き方があるのですか?
>>209 >毎日数十人の人が一年そのページをみるとして
これはページの回覧数が毎日数十回という意味で言った
マトリョーシカの完成である。 つうか普通は ◯ ボタンを作る関数 □ ボタンが押された時の関数 △ mainの中身を書き換える関数 に分ける。 んで押された回数を保持する変数を、ボタンを作る関数に渡すなりなんなりしろ。
>毎日数十人の人が一年そのページをみるとして >100msでも合計数十分人の時間を奪ってしまうことになる >(1行目は)ページの回覧数が毎日数十回という意味で言った 1回100ms×毎日数十回 数十回は20〜99回を指すから、 1日で2秒〜9.9秒なので1日数十分 1年で730秒〜3616秒(12分〜60分)なので1年数十分かは微妙
>>216 10秒未満が1日数十分っておかしくね?
あと、12分から60分が数十分じゃないってのは、十数分から数十分でなきゃだめってこと?
>>211 1.7未満ならlive関数、1.7以降ならon関数を使うことで、あとから動的に追加されたものに対しても
イベントを設定できる。
.live()使えばいいだろ。.live()便利だから調べて使え。
なんで同じこと書いたの?
代名詞を使えとか?
222 :
211 :2012/03/22(木) 07:27:14.49 ID:???
live関数たしかに使えそうです。 有難うございました。
どうしてliveを勧めるのか・・・ onではダメなのか・・・むしろonの方がいいだろ
onz・・・
更新履歴読まないでonを知らない奴ばっかりなんだろ
liveは廃止予定(次のメジャーバージョンあたりでなくなるだろうね) on推奨って言われてるけど、個人的にはbind/delegateのほうがわかりやすいと思う
228 :
Name_Not_Found :2012/03/22(木) 11:54:29.25 ID:8Gp7QJky
showModalDialog()の代わりに使えるオススメライブラリってありますか? showModalDialog()では、chromeでreturnValueが取れなかったり、iPadでは対応してなかったりでいろいろ不都合なので。 。 Modalでは無くいつでも閉じられる・下画面が操作できるようなものはいくつか見つかるんですが。 ポップアップではなくオーバーレイで、ダイアログが出てる間は下画面を操作できなくする挙動がいいです。 showModalDialog()のreturnValueのように、戻り値を受け取れるならもっといいんですが。
confirm
自分で作ったほうがはやくね?w
ふむふむ、つまり #pseudo_modal_layer { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; margin: 0; z-index: 4294967295; } なレイヤを作成して、何か特定の操作をしたら そのレイヤを消すようなライブラリが欲しい、とそう仰るわけだな?
jQuery 1.7以降は、イベントはon(), off()に統一でしょ。 今のうちになれておいたいいよね。 bind, live, delegateがまとめられるし、defferedを使って さらに効率よく扱える。
書いてあるな
>>216 へのレスと一緒に書いてあるから読まなかったわ
有効なレスと無駄レスを一緒に書かないでくれ
馬鹿に構う奴は例外なく馬鹿だから無視してよろし 234は正しい
このスレってみんなで試行錯誤するスレ?
そうなんじゃない? 質問スレで半端な回答してツッコミをもらって勉強をするというのはよく見るし。
prototype.jsで、 あるnameのチェックボックスって どうやって取得すればいいの? セレクタでnameって指定できる?
idなら というか例となるHTMLを示しなさい
「prototype.js dollar-dollar」
>>239 ありがとう
getElementByName使ったわ
文字列の配列をカンマで連結したいんだけど javascriptにimplodeってあったっけ?
nameとidの両方をつけたらいいんじゃない?
a = ['aaa','bbb']; a.toString();
馬鹿は放置
jqm1.1のRCが取れるのまだーチンチン
jqmってなんだよ 略すならjmだろ
uniqueかつ定着してる略称があるのに わざわざ検索に引っかからない略称を広めることもないだろう
>>166 ,173
このあたりのカキコミに触発されてdefferedを使いたいと思うんですが
理解が中途半端なせいでどうしてもイメージが湧きませんfunction
function get(){
$('.list').each(function(i){
$.ajax({
url: ajaxURL ,
dataType: "jsonp",
data: data,
success: function(data) {
$.ajax({....});;
}
});
}
例えば上記のようなネストした$.ajaxがあったとして
1っこめの結果を2こめに渡すにはどう記述したらいいんでしょうか?
それと、$('.list').each({...});で連鎖的に$.ajax()が呼び出されるのですが
一番最後の要素から呼び出された$.ajax()で呼び出した$.ajax()が終了したことを
知るにはどうしたらいいでしょうか?
.pipe() .when()
253 :
250 :2012/03/25(日) 15:17:59.32 ID:???
単純なものはなんとかわかるんですが $('.list').each({...});で連続させたときのすべての終了がどうやって取得できるかよくわかりません。 function get(){ $('.list').each(function(i){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { $.each(data,function(){ $.ajax({....});; } }); }
254 :
250 :2012/03/25(日) 15:18:49.69 ID:???
すみません。途中で送信してしまいました。 function get(){ $('.list').each(function(i){ $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { $.each(data,function(){ $.ajax({....});; } }); }
function get(){ var a = []; $('.list').each(function(i){ a[a.length] = $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { $.each(data,function(){ a[a.length] = $.ajax({....}); } } }); }); }
256 :
250 :2012/03/25(日) 15:33:54.88 ID:???
あ・・修正ありがとうございました。 という感じでループ処理で取得したデータで逐次ajaxを起動し 戻り値のデータから更にループを回してajaxを起動 すべてが終わったときに別の処理をやりたいのです。 var dfd = $.Deferred(); $('.addresssetlist').each(function(i){ dfd=$.ajax({}) .then({ $.each(data,function(i,item){ $ajax({}); }) }) }); dfd.when(function(){}) ああああ 意味わからん
257 :
250 :2012/03/25(日) 15:41:51.78 ID:???
>>255 var a = []を最終的にどうやって利用するのですか?
それは
>>252 に載ってるだろ……
分からんならdeferredは忘れたほうがいい。背伸びするな。
259 :
250 :2012/03/25(日) 16:18:33.14 ID:???
おお $.when(a).ten();ですね! わかった!
フラグ渡してフラグ監視するってそんなに難しい発想なのか?と思ってしまう
250死亡フラグ
262 :
250 :2012/03/25(日) 18:32:07.74 ID:???
紆余曲折あったけどできました ありがとうございました
263 :
250 :2012/03/25(日) 20:53:56.60 ID:???
動いたけど終了待たずに$.when(a).then(functiion(){});が走ってしまいます。 function get(){ var a = []; $('.list').each(function(i){ a[a.length] = $.ajax({ url: ajaxURL , dataType: "jsonp", data: data, success: function(data) { $.each(data,function(){ a[a.length] = $.ajax({....}); } } }); }); $.when(a).then(functiion(){}); } うむむ・・・
functiion
265 :
250 :2012/03/25(日) 21:41:26.98 ID:???
そこ? orz
megamenuで上から下にサブメニューが現れるのではなく、 下から上にサブメニューを表示させたいと思っていますが、megamenuで実現は可能でしょうか?
あ?
ある程度知識がある方用のスレに初心者が質問してしまって申し訳ない
明らかにそんなこと想定してなさそうなプラグインだし 改造すりゃ出来るだろうがするためには代わりにソースみてやらなきゃいけないし メリット無いのにそこまでしてやるのは面倒臭い、ということを「あ?」の一言で済ましたんだろう 気にするなよ
270 :
250 :2012/03/26(月) 01:30:42.96 ID:???
書きなおすしかなさそうです
もっと端的にいうと知識がない人があおっただけだから気にすんなと。 しいていうならライブラリへのアンカーも書いとくといいんでない
272 :
Name_Not_Found :2012/03/26(月) 19:01:42.79 ID:YXOW/hcV
リストあるたびに 外部リクエストいちいちかますとか、ちょっとキチガイみたいなサイトやな
var KickWhen = function (size, callback) { 〜 }; KickWhen.prototype = { countUp: function() { if (++this.count_ > this.size_) this.callback(); }, 〜 的なオブジェクトを作るだけだわな。 deferred?知るか、んなもん
274 :
250 :2012/03/27(火) 10:13:53.14 ID:???
結局カウンタつけました くやしい ちなみに外部リクエストの先はデータ共有のためのAPIサーバです
whenの引数に配列は渡せるのか?
276 :
Name_Not_Found :2012/03/27(火) 17:16:55.86 ID:fRAdL598
prototype 構文含んでるコードは美しくない
はあ、Deferredも内部でカウンタ持ってるんだが。 お前の悔しさなんか知るかよカス。
278 :
Name_Not_Found :2012/03/29(木) 16:03:07.17 ID:gjubpzhQ
jQueryを使っています。 ajax通信でHTTP Headerを設定しようと思って以下のように設定しました。 サーバ側の値を確認してみると、「access-control-request-headers」という所にkeyがあるだけで値を取得することができませんでした。 どのように設定するのが正しいのでしょうか? 環境は、クライアント側jQuery 1.6.4とサーバ側はTomcat7です。 設定してみた値 $.ajax({ headers: {'hoge':'1'} 略 });
ヘッダじゃなくてデータじゃダメなの?
しかもそれはjsじゃなくて servlet側の処理だろ スレチ
281 :
Name_Not_Found :2012/03/29(木) 16:29:19.54 ID:gjubpzhQ
>>279 Headerに設定したいんです。
dataなら自由なフォーマットでできるのはわかってます。
サーバ側ですべてのヘッダを出力することはできる?
まずはクライアントで正しくヘッダが設定されているか確認してみろ。
それでも取れないなら、
>>280 が言うようにサーバ側の問題だ。
>>278 のためにわざわざプログラムを書いて確認してやったが
jQueryでヘッダを設定できるしサーバ側で取得もできる
略っていったい何を略してるんだよ
プログラムもヘッダも省略せずに全部書けよハゲ
285 :
Name_Not_Found :2012/03/30(金) 13:07:19.20 ID:zrLqubiV
まずパケット見てみろ 話はそれからだ
286 :
Name_Not_Found :2012/03/30(金) 19:01:23.26 ID:UaakoA8D
あらかじめCSSが読み込まれてて あとからjQuery.load("hoge.html");でHTML読み込んだ時ってCSS適用される?
実際に試したか?
大丈夫だよ
どうでもいい 死にはしない
290 :
Name_Not_Found :2012/04/01(日) 23:27:33.66 ID:4KXxjB0d
もしかしてと思ったのですが、jQueryのcloneでコピーしても その要素のイベントハンドラはコピーできても子要素や孫要素のイベントハンドラまでは コピーができないのでしょうか?
1.4まではshallow-copyなんだっけか 1.5からは第二引数でdeep-copyの可否も指定出来るようになった
バグもあるしやってみて出来なかったらできないってこと
テスト
jqueryのclickから追加したものでないとどちらにしてもイベントのコピーまでできなかったりで 少しハマったりはありましたがうまくできました ありがとうございました
jqueryがあるのにわざわざclick以外で設定することがあるのか??
今までjQueryは使わずにやっていました やっぱり使いやすいですね
ajaxのリクエストヘッダの一部を除去することってできますか? 消したいのはX-Requested-Withなんですけど・・
ソースを弄ればよさそうですね すみませんでした
どういじったか書いてよ せぅかくだから
1.7.1minで悪いけどjQueryが追加する &&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest") を削除して念の為、次のtryで追加しないようにした try{for(j in e) { if(j !== 'X-Requested-With') { h.setRequestHeader(j,e[j]) } } 下だけでもいいんだろうけど
なるほど 本体のソースか
jqueryさん達勝手に追加するからなー
// Override mime type if needed if ( s.mimeType && xhr.overrideMimeType ) { xhr.overrideMimeType( s.mimeType ); } // X-Requested-With header // For cross-domain requests, seeing as conditions for a preflight are // akin to a jigsaw puzzle, we simply never set it to be sure. // (it can always be set on a per-request basis or even using ajaxSetup) // For same-domain requests, won't change header if already provided. if ( !s.crossDomain && !headers["X-Requested-With"] ) { headers[ "X-Requested-With" ] = "XMLHttpRequest"; }
jQuery Mobileを使ったサイトがFirefoxのサイドバーで表示できないんだけど、何とかならない?
どのように表示されない?
試したら表示できたので終了 URLの具体例や症状がないので終了
jquery mobileで、同時に複数ファイルを 画面遷移せずにajax使ってアップロードする方法はありますか?
All-in-One Sidebarのことを最初から書かないのは何故だ?
thickboxで子ウインドウを中クリックでスクロールして、子ウインドウがそれ以上スクロールしない状態で 更に中クリックでスクロールしようとすると、親ウインドがスクロールされてしまいます。 モーダルウインドウが表示中は親ウインドウを完全固定したいんですが、どうすればよろしいですか?
body { position:fixed; overflow:hidden; }
親固定されるとWindowサイズが限定されてうざいけどな 下が切れてしまってどうやったて見れないサイトとか結構ある
通常時から固定したくないんです。 オーバーレイしている時だけ固定したいなぁ・・と
そうすればいいのでは…?
つまりだな
オーバーレイしている時だけ
>>311 を・・・おっと誰かが来たようだ
311だけにな
if (overlay) { body { position:fixed; overflow:hidden; } }
311だけにな
審議中
320 :
Name_Not_Found :2012/04/05(木) 10:03:44.61 ID:bXXd6Pdo
jquery mobileで質問です。 単純化して説明すると、親ページが1つ、子ページが5つあって、親ページから子ページ1へ遷移して、後は子ページの1〜5にそれぞれボタンによって遷移できるサイトです。 各子ページではajaxでmysqlの検索結果を表示しています。 遷移には基本<a>リンクを使っています。 ajaxを行うインターバルのセットとリセットは、onload,onunloadまたはpageview,onbeforeunloadを試しました。 親ページから始めるときは正常に動作しています。 しかし子ページから始めたり、子ページにいるときにリロードすると、他の子ページからその子ページへ遷移するときに、上記のonloadなどのイベントがどれも拾えません。 例えば子ページ2でリロードすると、他のページから2への遷移のときだけイベントが拾えません。 おそらくiquery mobileの仕組みの問題でリロードしたページへの遷移はonloadなどのイベントが発生しないのだと思うのですが、javascriptについては表面的なことしか理解していないので行き詰ってしまいました。 上記の状況で、上手く解決する方法はあるでしょうか?
321 :
320 :2012/04/05(木) 10:17:31.89 ID:bXXd6Pdo
自己解決です。 リンクの<a>タグにrel='external'としてajax遷移を抑制したらイベントが拾えました。
セレクタで、名前に[ ] のついたのを検索するにはどうしたらいい? $("input[name=unko["+chinko+"]]").attr("disabled",manko); みたいなことをしようとしたらエラーになった
$('input').each(function() { if ($(this).attr('name') ==
クェーーー-!!
喰おうとしろ
327 :
322 :2012/04/06(金) 09:47:23.61 ID:???
328 :
Name_Not_Found :2012/04/09(月) 04:29:16.23 ID:OQ1GIweq
テンプレートとなるHTMLがあって jQueryのloadかなんかで複数箇所にテンプレートHTMLを挿入するとき テンプレート内のidがユニークになるように置換しないといけないと思うんだけど そういうことしてる人いる? ユニークになるようにidにprefixかなんか付けて置換するのはいいとしても セレクタで指定するとき全体的に置換したidを使わないといけないのは面倒なことになると思うんだけど。
何が言いたいのかよくわからんな わざわざHTMLでidを重複させてるんならよっぽどの理由があるんだろうし スクリプト動作に支障が出るのは百も承知ってことだろう
classとともに暮らすことだな
331 :
Name_Not_Found :2012/04/09(月) 07:31:25.92 ID:OQ1GIweq
「idがユニークになるように置換しないといけない」って言ってるのに なんで「わさをさわidを重複させてる」って解釈がでてくるんた?
日本語が理解出来ないんだろ
わさをわさ もな
テンプレート内にidがあるのがおかしい 狂ってる
335 :
Name_Not_Found :2012/04/09(月) 08:50:56.33 ID:qkXxWnOq
idが振られてないテンプレートHTMLから目的の要素を探してid振るより テンプレートHTMLにidを振っておいて $(セレクタ)で目的の要素を取得してidを置換する方が楽だと思うんだが
>>330 が言ってるがclassを使えよ
複数箇所に同時に挿入するようなテンプレートにあらかじめidを振るのが間違ってる
口は上下で二つ、いや場合によってはそれ以上あるかもしれんが、ちんこは一本しか無いだろ
どう間違ったら「わざわざ」が「わさをさわ」になるんだ
もしもしならできるかもしれない
ああ $("#挿入先要素のid テンプレート内のclass") とかすればいいのか サンクス
1)サムネイルにオンマウスで画像変更 2)クリックで拡大画像を別ウィンドウで出す 上記2つを同時に実行しているサンプルがあったら教えてください。 自力で見つけることができませんでした。レベルの低い質問でごめんなさい。
そういうときは小さな問題に分割するといいよ ・オンマウスで何かの処理をする ・ある画像を別の画像に変更する ・クリックで何かの処理をする ・別ウィンドウに拡大画像を表示する 分割して考えられないならいつまで経っても応用が利かないし上達しないよ
onclick.load でページを更新表示させているのですが、 3-4ページ表示させると(クリックすると) やたら重くなって更新に時間がかかるようになってしまいます。 なぜでしょうか
HTMLとロジック晒せよ糞が
>>344 ロードした分だけ「ロード」がいっぱい動いていると思う
ロード第13章
なんでもないようなコードが〜 幸せだったとおもう〜
350 :
Name_Not_Found :2012/04/15(日) 17:21:54.66 ID:xvwnM/Pz
jQueryでできないことなんかないよ
よし、jQueryでブラウザが起動しているPCのMACアドレス取得する方法教えてくれ
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript" src="jquery.network.js"></script> <script type="text/javascript"><!-- $(function() { var mac = $.net().inetaddr(0).hwaddr().toString(); $('#output').html(mac); }); //--></script> <p>MACアドレス: <span id="output"></span></p>
jquery.network.jsって、どこで配布しとるん?
それって要は、いったんサーバにアクセスして サーバからクライアントのMACアドレスの情報返してもらう方法じゃね? ローカルのJavaScriptだけでMACアドレス取得する方法って確か無いよね。
SSIDとセットにして自宅特定が捗るな
>>355 サーバにアクセスしてMACアドレスを取得する方法について詳しく
どう考えてもネタ
359 :
Name_Not_Found :2012/04/16(月) 11:51:41.65 ID:gSnd5kd+
jqueryセレクタについて相談です。 <tr> <td>項目タイトル1</td> <td>内容1内容1内容1<script>$(function(){$("一つ前のtdを選択").attr("bgcolor","red")});</script></td> </tr> <tr> <td>項目タイトル2</td> <td>内容2内容2内容2</td> </tr> <tr> <td>項目タイトル3</td> <td>内容3内容3内容3</td> </tr> . . . こういうテーブルで、「内容内容内容」の<td>の中身だけjspで動的に出せるようになっています。 特定の条件を満たした場合に上記のように<script></script>を出力し、 その行のタイトルの背景色を変えるようなことをしたいです。 "一つ前のtdを選択"というセレクタの指定方法があったら教えて下さい。 初めからJSP側で、条件を満たした際に「bgcolor = "red"」を付ければいいのでは?と言われてしまうかもしれないですが、 モジュールの分担上、内容のtd以外触れないため、 スマートな方法ではないですが、DOM表示されてから表示直後のreadyで動くJSでどうにかするしか無いです。
条件を満たしたことを示すspanとか入れとけば?
仕事なんだから自分でやれよ <td> 内容1内容1内容1 <span id="hoge"></span> <script> $(function(){ $('#hoge').【省略】.attr("bgcolor","red") }); </script> </td>
条件を満たすことをJSで検知すれば一個で済むだろ
>>361 なんで
>>360 のコード例をあげてるフリをして中途半端なの?
> 仕事なんだから自分でやれよ
この行だけにするか、レスをしなかったほうがマシだって思わなかった?
正しいコードを教えてほしいならそう言った方がいい
省略の部分はキモじゃないからな。不親切だとは思うが…
$(function(){ $('#hoge').【省略】.attr("bgcolor","red") }); ここの部分は1個で十分だしidにする必要が無い
>>363 >>366 キモい奴だな
<span>はお前の専売特許か?
これを使ってたら何でも実装例なのか?
>>361 が<span>を使ったからって何の問題があるんだ?
これはひどい。被害妄想か
span特許に引っかからないようにしたよ <td> 内容1内容1内容1 【省略】 <script> $(function(){ $(【省略】).【省略】.attr("bgcolor","red") }); </script> </td>
<省略> 内容1内容1内容1 【省略】 <省略> $(省略(){ $(【省略】).【省略】.省略("省略","省略") }); </省略> </省略>
元のコードも省略するなんてひどい
<span>Rという文字は、
>>363 氏の著作物であるとともに扶桑社、及び
>>363 氏の所有する商標です。
<span>(R)、な
ファビョりすぎだろwwwwwwwwwwwwwwww 流れるまでしばらくこのスレ開けねーんだろうなwwwwwwwwwwwww
これはひどい
このスレって、得るものがないから過疎る一方だと思うよ
>>359 >"一つ前のtdを選択"というセレクタの指定方法があったら教えて下さい。
これが質問だよね?
var $this = 「今、内容を出力する<td>」
$this.prevAll("td").first();
必ず直前にあるなら「$this.prev();」で
ああ、一つ目はほぼありえないDOM構造への対策で意味ないな。変更。 $this.prevAll('td:contains("項目タイトル1")');
$this?
<script>this</script>
これのthisはグローバルさしちゃうし
var td = $("あれな部分のtd")
このあれな部分のtdが弄れないわけで
>$this.prevAll('td:contains("項目タイトル1")');
こんなうんこな事するならまだ
>>361 のにした方がましなレベル
tableがいくつもあるかもしれないし 特定の条件を満たすセルもたくさんある可能性もあるよな それに対応できてるか?
$thisはただの変数名。
var $this = $("「今、内容を出力する<td>」 ");
こう書くべきだったな。
>>384 はそろそろ黙った方がいい。
とりあえず
>>361 を実行してみたらどうだろうか。
spanじゃなくてscriptタグにidつけるほうがわかりやすくね?
SPANの家元に手本を見せてほしいところだな
> 特定の条件を満たした場合に上記のように<script></script>を出力し、 この「特定の条件」をJS側で判定できるとも限らない
>>386 まずthisがJSで使われてるんだから$thisなんてつけんなよ
あと「今、内容を出力する<td>」ここのセレクタどう書くつもりしてんだよ
ここのセレクタ書けるなら
>$this.prevAll('td:contains("項目タイトル1")');
こんなうんこな事しなくても取れるだろうが
>初めからJSP側で、条件を満たした際に「bgcolor = "red"」を付ければいいのでは?と言われてしまうかもしれないですが、
>モジュールの分担上、内容のtd以外触れないため、
ってあるんだからtdの内容に出力できる範囲の事で考えるべき
それだったか(´・ω・`)
なんか凄いのがいついちゃったな。
>>359 >"一つ前のtdを選択"というセレクタの指定方法があったら教えて下さい。
だから答えは、「.prev()」だけでよかったな
jspで出力するDOMオブジェクトは当然取得できる(できてる)だろ
そっちはjavaの範疇だから質問者はわかってるはず
>モジュールの分担上、内容のtd以外触れないため、 解る解らない取得できる取得できない以前の問題
同僚とや上司と会話しないやつなんだろうな 与えられた分担を鵜呑みにしてるし
まぁ普通はtdとかを出力してる人とか チームとかでやってるならチームリーダーとかに相談すれば 悩むような内容じゃないからな
>>397 相談した結果、触れないことがざらだった時代もあったね
本当にそこ以外触ってはいけないんだったら他の場所の色変えはアウトだな
勝手に色を変えやがってってなるよな
そういう分担をしているなら、スクリプト自体動かせない気もするんだけれど。
<a href="#">Link1</a> HogeHoge <a href="#">Link2</a> というHTMLがある場合に、「HogeHoge」のみを取得する方法ってありますか? 取得対象がある場合は、spanとかで囲んでしまうべきなんでしょうか。
HTMLを変更できるなら囲むべき
404 :
402 :2012/04/19(木) 14:06:29.29 ID:???
了解です。やっぱそうですよね。 HTML変更して文字列囲むことにします。
405 :
Name_Not_Found :2012/04/23(月) 18:26:16.94 ID:e0a+bt9e
スクロールを固定したメニューコンテナに ページ内用のハッシュリンクを置いているのですが、 ページの位置をリンクに反映させる手法が既にあったら教えてください。 たとえば、話題2を2/3ほど読んでいるときに、 話題2のリンクが2/3の明るさ、話題3のリンクが1/3の明るさになるなどの 効果を探しているのですが、なかなか見つかりません。 よろしくお願いします。
ソースを示しなさい
407 :
405 :2012/04/23(月) 21:16:11.70 ID:???
失礼しました、ソースは大体こんな感じです。 html: <div id="container"> <div id="nav"> <ul> // 以下のリスト項目のcolorなどを読んでいる場所に応じて変化させたいです <li><a href="#article1>Article1</a></li> <li><a href="#article2>Article2</a></li> <li><a href="#article3>Article3</a></li> </ul> </div><!--nav--> <div id="content"> <h2 id="article1">Article1</h2> ... <h2 id="article2">Article2</h2> ... <h2 id="article3">Article3</h2> ... </div><!--content--> </div><!--container--> css: #container { width: 960px; } #nav { width: 300px, float; left, position: fix; } #content { width: 660px; float: right; }
>>405 ソース見てないけど、スクロールイベント検知して、
どのくらいスクロールしているかに応じて明るさを変えればいいんでない?
>>406 がもっとちゃんとしたの書いてくれるかも。
横から失礼するがjsfiddleか何かに ソース全体を動く状態で公開したら 何をしたいか理解しやすいし みんなが回答してくれるんじゃないか?
410 :
405 :2012/04/23(月) 23:07:52.27 ID:???
動作見てないけど、スクロールイベント検知して、 どのくらい…
見てきた 何をしたいかはっきり分かるじゃないか そんなマニアックな既製品はないだろう ホイールでのスクロールでも色を変えるなら ・右側のスクロール位置を取得 ・スクロール位置をもとにリンクの色を計算 これらも必要だろう
リンクの明るさ変えるとかただわかりづらいだけじゃね どうせやるならnotepad++のDocument Mapのような機能を作っておくれ
どれが選択されてるかはっきり分かれば十分だよな 明るさを変える必要などない
415 :
405 :2012/04/24(火) 19:28:46.10 ID:???
使ってみてどうだったか教えてね
417 :
Name_Not_Found :2012/04/24(火) 23:37:15.61 ID:4ZEbcc7t
http://www.giuliandrimba.com/labs/lettering-animate/ このプラグインを使ってノベルゲームっぽいものを作ろうとしています。
<h2 id="title01" >This is the example animating the opacity property</h2>
<input type="submit" name="animate" id="btnTitle01In" value="Intro" />
<script>
$(document).ready(function() {
$("#btnTitle01In").click(function() {
$("#title01").lettering().animateLetters({opacity:0},{opacity:1},{randomOrder:false,time:500,reset:false});
});
});
</script>
ここで、既に表示されている文字ではなく、非表示の状態から文字が出てくる
ようにしたいのですが、cssの対象要素にopacity: 0;とかvisibility: hidden;と
してしまうとプラグインのアニメーションが反映されません。
どのようにすれば良いでしょうか。お願いします。
>>417 こういう場合は、ソースを追っかけてみるといいぜ。そんなに長くないし。
.lettering() - 文字列をspanで区切ってる
.animateLetters() - そのspanにアニメーションさせてる
だから $("#title01").find('span').css('opacity', 0); のようにしておいてから
$("#title01").animateLetters() すればいい。
419 :
418 :2012/04/25(水) 06:15:15.78 ID:???
最初に .lettering() させるのが抜けてた。まあ、わかるよね。
最初に一瞬だけテキストが見えてしまうんですがって展開になりそ
421 :
417 :2012/04/25(水) 13:00:53.13 ID:???
>>418 サンプルのoutroを参考にやってみましたが、
>>420 さんの言うとおり一瞬出ちゃいますね。
1文字ずつ書き出していくようなプラグインなら他にもありますが、表示の綺麗さからこれを使えないかなと考えてます。
そうなるからもうちょい工夫が必要だよって意味で書いたんだけどね。 考えてるようだから、あと少しがんばれー
>>421 document.styleSheets を書き換えればいい
424 :
417 :2012/04/25(水) 20:44:44.92 ID:???
いろいろと誤解してました。 CSS h2#title01 { opacity: 0; } //あらかじめtitle01は透明に HTML <h2 id="title01" >This is the example animating the opacity property</h2> <input type="submit" name="animate" id="btnTitle01In" value="Intro" /> <script> $(document).ready(function() { $("#btnTitle01In").click(function() { $("#title01").lettering(); //title01をletteringで1文字ずつspanに切り出す $("#title01").find('span').css('opacity', 0); //切り出したspanをそれぞれ透明に $("#title01").css('opacity', 1); //全体にあたるtitle01を非透明に $("#title01").lettering().animateLetters({opacity:0},{opacity:1},{randomOrder:false,time:500,reset:false}); //spanが1文字ずつ透明→非透明にアニメーションする }); }); </script> プラグインをよく理解せずに使ってましたが、ソース読む大切さを思い知りました。 皆様アドバイスありがとうございました。
頑張って便利なプラグインを作ってみてよ
> $("#title01").lettering().animateLetters({ ここの .lettering() はいらないんじゃね? これあっても(想定通りに)動いた? あと .end() をつかうとその4行は一つの連鎖にまとめることができる。 が、まあ、それはもっとわかってからでもいいかも。分けとくほうがわかりやすいかもしれないし。
ライブラリ読んでないけど、動きそうな気はする
.eq(0)しか使いませんが何か困ることはありますか? :eq(0)でしかできないこととか
.eq(i)のように変数を入れたいときか
iしかないならeachですむ話だよな
>>431 なるほど
確かに:eq(" + i + ")より見やすいですね
実行時間が格段に違うわけじゃないだろうから、 どっちでもいいんじゃね?
マイナスの値が使える使えない。 と querySelectorAllがある環境では、実行速度が違ってくる。 てなことがマニュアルに書いてある。
よかったら、書いてあるURLと内容を教えて どっちにマイナスが使えるかとか あとで必ず見に行くから
>>437 おお、いつもありがとう
読んだ結果、今後eq()はメソッドの方を使うことにした
マイナスを使ったことはなかったが便利そうだな
$('a').[0].tagName; これが動く理由が分かりません。 $('a')[0]が返すのはjQueryのオブジェクトですよね?
$('a')[0]を自分なりに探ってみたら? どんなメソッドがあるかとか typeofしてみるとか $('a').eq(0)との違いとか
やってみます!
構造みたら納得しました!
.get() もあわせて覚えておこう。
<h1 id="id"></h1> <a href="">ここを取得したい</a> var n = $("#id").next(); if (n.is('a') == true) { alert(n.text()); } これをチェーンで繋げることってできますか? is()以外に自身のtagを取得できるメゾットなど・・
next('a')だな
そして、if文のところは each() でいけそうかな。
jquery mobileみたいなデザインやリストのアニメーションを、 iモードブラウザ2.0で表現することは可能でしょうか? もしくはFALSH LITEで表現することは可能でしょうか?
質問の意図や前提をくみ取れない糞質問 が多い。それで回答者が逆質問をしたり 悪口を言ったりする。それを前もって思 い描く力が絶望的に欠如してるに違いない。 スーパーハッカーだけが意図を理解できる。 レアなそういう神が颯爽と登場する予感。
コピペとか
<h1><span>あああ</span>いいいい</h1> ここから"いいいい"の部分だけ取り出す場合↓この書き方で正しいんでしょうか? alert($("h1").eq(0).clone().find("span").remove().end().text()); それともhtml()で取得して<span>を除去すべきですか
452 :
Name_Not_Found :2012/04/29(日) 23:15:37.11 ID:SVggwLmH
画像のクリックとNEXT、BACKボタンで画像がフェードするギャラリーを作成してます。
サムネイルはいらず、ひたすらボタンと画像クリックで画像が変わるシンプルなものを作りたいのですが、
うまくいきません。
http://lab.komadoya.com/javascript/crossFader/ このスライドのような状態で、自動再生されず、クリックで次画像に移動及びNEXT、BACKボタンの実装は可能ですか?
プラグインを使った事はあるのですが、カスタムスキルがないので、困っています。
ご指導頂けたら幸いです。
>>451 こういう手も。
alert(?$('h1').contents().eq(1).text());???
454 :
453 :2012/04/30(月) 02:21:39.87 ID:???
なんか化けた…。 alert($('h1').contents().eq(1).text());
>>453-454 そんな方法があったのですね
contents()とnot()をよく勉強してみます
ありがとうこざいました!
解説サイトにあった↓これが動作しないのが気になるんですが $('h1').contents().not("[nodeType=1]").text(); // なぜか<span>あああ</span>の方が拾われる $('h1').contents().eq(1).text(); // いいいい $('h1').contents().filter(function() { return this.nodeType == Node.TEXT_NODE; }).text() // いいいい で無事できました
not("[nodeType=1]") は正しい書き方?
>>458 そのサイト、ロクに更新されてなくて内容が古すぎるから使わないほうがいいよ
公式のリファレンスを読んだほうがずっといい
http://api.jquery.com/ あと、Node.TEXT_NODE はIE6〜IE8だとエラーになる(Nodeオブジェクトがグローバルオブジェクトに定義されてない)
だからマジックナンバーとして書いちゃったほうが無難
さらに言うなら == なんか使うな、=== を使え
return 1 === this.nodeType;
>>452 自動再生ってことは、setTimeoutやsetIntervalなどのタイマー関係の関数が使われているはず。
まずは、そこをコメントアウトして、タイマー関数が呼び出している関数を自分で呼び出せないか考えてみよう。
464 :
Name_Not_Found :2012/05/01(火) 20:10:11.55 ID:yHeAOkzL
>>457 それで何をさせたいのか、ちょっと説明してみ?
質問者の態度?
466 :
Name_Not_Found :2012/05/02(水) 16:39:16.03 ID:qe2yUU4S
$(function () { var e = $('div#north_box'); var b = e.parent().offset(); e.offset({top: b.top + 312, left: b.left + 712 }); e = $('div#south_player'); e.offset({top: b.top + 230, left: b.left + 17 }); e = $('div#north_player'); e.offset({top: b.top + 20, left: b.left + 736 }); }); -- css でスタイルするのが難しいので jquery でレイアウトしようと思うのですが、 しかし、これではリロードしないとレイアウトしてくれないのですね。jquery で レイアウトするのにいい方法ないでしょうか
window.onload = function () { 以下だとどう?
468 :
467 :2012/05/02(水) 17:11:56.59 ID:???
$(window).load(function () { こっちか
実行したいタイミングで実行したらいいんじゃないの?
一回リロードすれば次からは大丈夫だよ、、、という話ではないと思いたいが。
質問がよく分からないんだよな コンソールで実行しろ とでも言っておこうか
472 :
452 :2012/05/02(水) 21:32:47.00 ID:6wubSLvc
>>460 ありがとうございます!
setIntervalをコメントアウトしたら自動再生は止まりました。
ですが、ボタンの実装でつまづいています。。
このリンク(
http://lab.komadoya.com/javascript/crossFader/ )の最下部の基本パターン#fader5に以下のコードを足したのですが、起動しません。。、
$("#nextButton").click(function(){
var oldIndex= imageIndex;
imageIndex= ++imageIndex % $("#fader5>img").size();
$("#fader5>img:eq("+oldIndex+")").fadeOut("slow");
$("#fader5>img:eq("+imageIndex+")").fadeIn("slow");
})
$("#prevButton").click(function(){
var oldIndex= imageIndex;
if( --imageIndex<0 ) imageIndex=$("#fader5>img").size()-1;
$("#fader5>img:eq("+oldIndex+")").fadeOut("slow");
$("#fader5>img:eq("+imageIndex+")").fadeIn("slow");
})
見よう見まね過ぎてほとんどわかってない現状です。
アドバイスして頂けたら幸いです。
コードをよく読むように、というアドバイスじゃだめ? 読みにくければ作ってもいいんだよ。流用するときはライセンスに気をつけて。
念のため著作権侵害として報告しときます
ボタン押して数字を表示させたいんだけど、それをアニメーションさせながら 各桁が決まっていくように見せるライブラリってありますか? 簡単にいうと、なんでも鑑定団の鑑定額の表示みたくしたいです。 (あれそのものじゃなくてもよいです)
476 :
475 :2012/05/02(水) 22:34:38.28 ID:???
見つけました。灯台もと暗しというやつです。
Greasemonkeyで、他人のサイトで動作するスクリプトを書いています <div id="a">送信</div> をクリックするとjQueryでPOSTして次のページになるサイトなんですが jQueryを別に取り込んでいる自分のスクリプトから $("#a").click();とすると2回POSTしてしまうのです。 (コンソールで確認しました。) この情報だけで申し訳ないのですが、原因で考えられることって何かありませんか?
サイト名を晒したら?
サイトはちょっと晒せないのですが、やはりサイト側が特殊なんですかね > < とりあえず送信部分は座標クリックツールで代用してみます
自分でPOSTすればいいんだが。
皆様ありがとうこざいます。
>>481 POST後にも続けて処理させたいことがあるので、どうしてもクリックさせないといけないのです。。
>>482 ブレークポイント?は使ったこと無いので勉強してみます
続きの処理も自分ですればいい
あれじゃないの?バブルとかいうやつ。
連鎖とか全消しだろ
イベントバブリング?
input の checkboxとradioを取得したいのですがどのように書けばよろしいでしょうか' $('#form-area input[type="checkbox",type="radio"]').each(....) こんな感じでできませんか・・
489 :
478 :2012/05/06(日) 00:46:09.44 ID:???
すみませんどうやら↓こんな感じのソースで、#aをクリックしてたのが問題だったようです。。 <div id="container" onclick="next()"> <div id="a">送信</div> </div> お騒がせしました(T_T)
やっぱりバブリンだったろ?俺天才
492 :
あげ :2012/05/06(日) 20:40:05.99 ID:7p1E5H+a
す、すみません。2ちゃんねる初心者なのですが、こちらで質問してよろしいでしょうか。
jQuery プラグインjquery.vector-map.js
を使用しまして、国をクリックしたときに指定したURLに飛ばしたいのですが、
どうもうまくいきません。。
マニュアルサイト
http://jvectormap.owl-hollow.net/ onRegionClick←このパラメータをうまく使えば、リンクが設置できるのかなと思っているのですが、
そもそもそんなカスタマイズは難しいのでしょうか?
自分で書いてみたソースを公開してみてよ
494 :
あげ :2012/05/06(日) 20:57:26.99 ID:7p1E5H+a
$(function(){ $('#map').vectorMap({hoverColor: '#f00', onRegionOver : function (event, code ){}}); }); #mapに地図を読み込みまして function (event, code )ここでなにかできるのかと、悩んでおります。
リンク先にこう乗ってるよ。 $('#map-events').vectorMap({ onLabelShow: function(event, label, code){}, onRegionOver: function(event, code){}, onRegionOut: function(event, code){}, onRegionClick: function(event, code){} }); クリックしたときだけでいいなら $('#map-events').vectorMap({ onRegionClick: function(event, code){ alert("クリックした国の国コード=" + code; } }); とかで出来るんでない
496 :
あげ :2012/05/06(日) 23:38:08.84 ID:7p1E5H+a
あ、ありがとうございます!! $(function(){ $('#map').vectorMap({onRegionClick:function (event, code){ alert("クリックした国の国コード=" + code); if(code == "us"){ alert("アメリカ"); }else if(code == "ca"){ alert("カナダ"); }else{ alert("その他"); } } }); }); なんだかこれで、アラートをリンクに変更できれば、うまくいきそうなきがします。 ご教授ありがとうございますm(__)m ちょっと自分でやってみたいと思います。
質問です。 jQueryを使って、リンク先のページタイトルをA要素の末尾に追加しようとしています。 読み込む所まではうまく行くのですがタイトルだけ抜きだすところでつまづいています(findが動いていない?)。 ローカルで動かす予定です。お願いします。 <script type="text/javascript"> $(function(){ $(".sakiyomi").each(function(){ var kore =$(this); var link =kore.attr("href"); $.ajax({ type : "GET", url : link, success : function(html){ var title = $(html).find("title").text(); kore.append("<b>:"+title+"</b>"); } }); }); }); </script>
単純ミスでした。 解決しました。
499 :
497 :2012/05/07(月) 15:23:40.50 ID:???
>>498 は、私ではないです。
よろしくお願いします。
500 :
497 :2012/05/07(月) 15:26:54.05 ID:???
502 :
497 :2012/05/07(月) 17:16:19.51 ID:???
>>501 ご指摘ありがとうございます。
> var title = $(html).find("title").text();
の部分を、
var title = $(html).find("h1").text();
とすれば、とりあえずこちらの要望に近いものになるかと思ったのですが、、、どうもうまく行きません。
条件に合致する要素を抜き出すのは、find()関数では駄目なのでしょうか。
よろしくお願いします。
503 :
497 :2012/05/07(月) 18:08:45.53 ID:???
連投すいません。
問題自体は、
var title = html.match(/<title>([^<]*)<\/title>/i)
kore.append("<b>:"+title[1]+"</b>");
で解決しました。
また
>>502 の、
>var title = $(html).find("h1").text();
を、
var title = $(html).filter("h1").text();
とすることで、期待通りに動きました。
この、find()とfilter()の違いがわからずモヤモヤしています。
どなたかわかる方いらっしゃったらよろしくお願いします。
>>503 http://api.jquery.com/jQuery/#jQuery2 にあるように、複雑なHTML文字列をDOMにするときには
innerHTMLをつかうみたい。
だからブラウザによると言うしか無いね。
filterで<h1>が出てくるのも、$(html)の段階で h1が選択されているからとしか言えねえ。
(chromeだとhead直下,body直下が選択状態になってるから $(html).filter('title')でtitleが取れそう)
ある要素の属性全てを取得したいのですが <div id="test" style="background;:red">内容</div> というものをブラウザで表示させて 内容 となって、内容をクリックしたら「 test background:red」と表示させたいのですが どのようなコードを書けばいいでしょうか event.target.id などは使わず、ループで回して全ての属性を取得したいです。 お願いします
507 :
Name_Not_Found :2012/05/09(水) 12:37:08.66 ID:Dmkmiup2
すみません。出来る範囲で調べまくって、どうにも手詰まりになってしまい書き込みました。お助けください…
今手がけているサイトで、背景に写真を全面表示させて、自動でスライドショーにしようとしています。
ページがロードされると、写真がフェードインしてきて、以降フェードアウト、フェードインしながら複数の写真が切り替わる感じです。
クロスフェードではなく、フェードアウトして、一瞬背景色が見えた後次の写真がフェードインしてくるようにしたいと思っています。
あと、ページの右上にはナビゲーションがついていて、クリックのタイミングで写真が切り替わります。
それで色々とググってみて「supersized3.2.7.js」というプラグインを見つけたのですが
このプラグインだと写真の切り替わりがクロスフェードになっていて、期待する動きと違うのです。(それ意外は求める機能が全部ついていて良いのですが)
その他 全画面表示のギャラリー用プラグインをいくつか調べてみたいのですが、どれも欲しい機能のどれかが欠けている感じです。
Smooth fullscreen background slideshow in jQuery(
http://www.jasperrooswinkel.com/examples/background-slideshow/ )
jquery.vegas.js(
http://vegas.jaysalvat.com/ )← これ、軽くて良い感じでした。クロスフェードでしたが…
などなどを確認しました。
何か上記のスライドショーを実現させる良いプラグインはありませんでしょうか?
または、supersized3.2.7.js のカスタマイズの方法などを教えてはいただけないでしょうか?
jQueryで自作するのが早い
509 :
507 :2012/05/10(木) 01:03:08.24 ID:br3Uyk+P
レスが遅れてすみません! お返事ありがとうございます。 確かに自作できれば早いですよね… ですが、僕は自作できるほどjQueryが使いこなせていないのです…orz
jQueryのvalidation系プラグインで 入力フォームに対してまとめてvalidation実行した際に validだったらフォームの値をかき集めて自動的にJSON化してくれるような 機能をもったものってありますか?
513 :
507 :2012/05/10(木) 10:59:24.38 ID:vHEDa+JW
>>511 !!! なるほど。確かにその通りです。
なんで気づかなかったんだ、オレ…orz
ありがとうございます!
514 :
507 :2012/05/10(木) 11:05:36.07 ID:vHEDa+JW
>>512 情報ありがとうございます!
こまかく設定ができてよさそうです。
これから色々と触ってみます!
過疎化したスレに書き込んでしまいましたので、こちらでお尋ねしたいと思います。
分かる人がいれば教えてくだちい。
Google+の「+1」の数だけ取得したくて、以下のようなコードを書いてみました。
$.ajax({
type : 'get',
url : '
https://plusone.google.com/u/0/_/+1/fastbutton?url= ' + targetURL,
dataType : 'jsonp',
success: function( data, textStatus ) {
//読み込み成功
},
error: function( XMLHttpRequest, textStatus, errorThrown ) {
//読み込み失敗
}
});
で、実行させると、必ず失敗するんですが、Firebug(1.9.1)でチェックすると、レスポンスの欄には、ちゃんと目的のHTMLが届いていました。
いろいろ試してみると、dataType : 'script'では成功しますが、レスポンスには何らかの関数のコードが届いていました。
どうすれば、Google+の「+1」の数だけ取得できるでしょうか?!
FacebookやTwitterみたいには行かないんですかね?!
(Ajax以外の方法でも構いません)
形式がjsonpではないからでしょ?
他のホストのHTMLを取得するのは無理
>>516 dataType : 'HTML' でも失敗するんですよ。。。
>>517 PHPと組み合わせてなら、取得できるって人もいました。
>>519 PHPと組み合わせるって話はいま初めて書いただろ?
情報を後出しするなハゲ野郎
ハゲが図星だったか
そもそもPHPのサーバ指してないしな
>>520 こちらも知ったのは>515を書き込んだ後だから、後だしになってしまうのは仕方ないでしょ。
しかし、「ハゲ野郎」の部分は間違っていないので、そこは認めるw
その後も、いろいろと調べてみたところ、dataTypeは「SCRIPT」が正しいようです。
具体的には、通常の方法でGoogle+ボタン(iframe)を置いた後、$("#aggregateCount").htmlを確認しました。
すると、>515に書いたとおり、関数「function(a) = {...}」の内容が見られました。
つまり、
https://plusone.google.com/... で返るのはスクリプトで、それが実行されてGoogle+のインラインフレームとなるようです。
インラインフレームが吐き出された後なのに、スクリプトとしてしか参照できないのは腑に落ちないけど、そうなんだから仕方ない(動的に差し込まれたソースだから?)。
PHPと組み合わせると取得できるのは、HTMLソースとして取得できるからじゃないかと推測しています。
なんかよい方法があるといいのだが。。。
いや、dataTypeがSCRIPTなんて、そんなバカな話はないな。
>>524 は忘れてくださいまし。
php使うってのがよくわからん。phpサーバを一回通すってこと?
PHPスレに行けと言いたいところだが。 普通はHTMLやJSってサーバ上に設置するよな? これで分からないならセンスがないんだろう。
>>527 >517での指摘どおり、Ajaxでは他のサイトのドキュメントを取ってこれない(昔は出来てたみたい)ので、
PHPのソケット通信でHTMLを取ってきて、Access-Control-Allow-Origin ヘッダーをつけたあと、Ajaxで取得する
って方法ですな。
たしかに、これなら他のサイトのドキュメントも取ってこられます。
PHPでJSONに変換すればいいじゃない
サーバーサイドjQuery
ああそうか。User.jsばっかり触ってたから鯖にうpしてるって認識がなくなってたわ。
jsonp使えば何とかならん?
形式がJSONPじゃなかろうもん
GoogleだからなんかAPIあんじゃねーの? そっちの方向で調べたほうが良いと思う
jQuery Mobileのテキストインプットで、 ラベルと入力フィールドを横並びの一行で表現すべく <div data-role="fieldcontain"> <label for="name">Text Input:</label> <input type="text" name="name" id="name" value="" /> </div> と書いて、inputタグに対するcssのwidthを小さめに設定したのですが、 どれだけ小さくしてもラベルと入力フィールドが改行されて2行で表示されてしまいます。 これを1行にまとめる方法はありますか?
改行を禁止すれば良い
539 :
537 :2012/05/11(金) 13:44:17.61 ID:???
>>538 ありがとうございます。
下記のような感じで試してみたのですが、スマホ実機だと変化無し、
chrome,ffではinputタグ自体が表示されなくなってしまいました。
<div data-role="fieldcontain" class="nowrap">
<label for="name">Text Input:</label>
<input type="text" name="name" id="name" value="" class="width20px"/>
</div>
css側:
.nowrap{
white-space: nowrap;
}
.width20px{
width:20% !important;
}
自分でもググってみます。
>>539 jQuery Mobile知らないけど、実際どういうhtmlになってるか確認してみたらどうかな。
htmlは直接書いてるみたいだがJS側で何か加えているかもしれないし。
あとCSSの話で言えば、labelやinputにdisplay:blockの指定があるとそういう表示になるんで、
確認してみては(指定ナシまたはdisplay:inlineに)
工事中の英文に書いてある
jQueryが原因かわからないけど モーダルにしてダイアログボックスを出しても、裏に隠れている部分が反応してしまい 操作できない これはブラウザ側のバグ?
ソースを示したら?
>>542 機械翻訳しても意味が…
どなたか教えてくだされば助かります
>>546 そういうことですか…
しかし大分前からこの表示あるような…
それと、リンクありがとうございます助かりました
スライド表示させたメニュー領域の外をクリックして、メニューを閉じたい。 ・メニューボタンを押すと slideDown / slideUp でメニュー開閉 ・表示されたメニューの枠外をクリックした場合はメニューを閉じる (メニュー枠内をクリックした場合は無視) 上記の事がやりたいのですがうまく行きません。 .not を使って下記のようにすれば良いのかと思ったのですが、 枠内でも反応してしまいます。 $("div").not("#menuframe").click(function(){ $("#menuframe:not(:animated)").slideUp("200"); }); 上記の修正・補足または、 別の方法が分かる方がいらっしゃいましたらお願いします。
DOMの構造を公開しないと答え出ないと思うよ。たぶんイベントバブリングだと思うけど。
ありがとうございます。 HTML 的には親子関係になく、 単純にボタン用の画像クリックで、別の場所の div を表示させているのですが、 やっぱり、親子関係にしないとそのあたりの処理はできないみたいですね。 event.stopPropagation あたりもあわせて、もう少し頑張ってみます。
HTML側に <div id="hoge"><span class="foo"></span></div> とあった場合、spanが属性class="foo"を持つかどうかを判定する方法って、 if($("#hoge .foo").length > 0){ // spanが属性class="foo"をもっていた場合の処理 } みたいにやるしかないですか? それとも他に方法あります?
自己解決しました
>>551 ですがまだ解決しておりません
現在ググり中&試行錯誤中です。。
if ($("#hoge span").is(".foo") === true) とか
>>554 >>555 ありがとうございます。hasClassなんてのがあったのか。。
両方検証して、
>>555 さんの方法が合ったので使わせてもらいます。
重ね重ねありがとうございました。
557 :
Name_Not_Found :2012/05/15(火) 15:36:40.52 ID:bLJR5Jlc
jQueryが携帯電話(フルブラウザ)とPSPで動きません。 そういうものなのでしょうか。 スマホでも動かないのでしょうか? jQuery Mobileというのを使わないと駄目なのでしょうか。
そういうものですJSの勉強して下さい
試せばいいだろ?
jQuery Mobileはもっと動きません 諦めましょう
561 :
557 :2012/05/15(火) 15:56:42.40 ID:bLJR5Jlc
>>559 スマホ持ってないから試せません。
ナビゲーションメニューのhtmlファイルを
load関数で全ページにインクルードしているのですが、
携帯で見たら全ページでナビゲーションメニューが表示されず。
致命的です。
スマホを買いなさい
>スマホ持ってないから試せません。 知らんがな。必要なら買うしかないだろ。
携帯コンテンツを制作するならいくつかの機種はもっているのが必須。 ただ場合によってはシミュレータでも可能。 XcodeのiPhoneシミュレータはおすすめ。 ただしSafariだよ。
>>561 ケータイのフルブラウザはJavaScriptエンジン自体が
jQueryの稼働要件を満たしてないでしょ。
それに、モバイルで使うならjQuery Mobileだけど
サポートしているプラットフォームはコレ。
http://jquerymobile.com/gbs/ 当然、日本のガラケーなんて含まれないからあきらめて
スマホに移行すべき。
スマホに移行できないなら、おとなしくガラケーのフルブラウザで
動くレベルのものを作る以外の選択肢は無いよ。
Accessも余計な新背品作ってないで、真面目にnetfront 保守してくれたら良いのに
インターネットブラウザは、Java Script 1.5 の一部と ECMAScript 3rd Edition に対応しています。 って書いてあるけどDOM関連の操作ってquerySelector使えないだけじゃないの? ついでに言えばajaxはあるんじゃないの? 全くって程みてないので知らんがw
じっくり見るとDOMcoreは2の一部迄なのか
対応してないタグ、属性、CSS、関数があるから、 jQueryの動作に必要なものが足りないんじゃない?
教えて下さい。
<a href="
http://example.com/aaa#bbb "></a>
このアンカーリンク以降(#bbb)を取っ払う方法がわかりません。
自分なりにこんな感じまではやってみたのですが。
$(function(){
var clearanchor = $("a[href*='example.com']").attr("href");
clearanchor.str.replace(/#.*$/i, "");
});
すみませんが、教えてもらえると助かります。
正規表現で置換しろ
clearanchorの内容を置換しただけじゃhrefに反映されんだろ
574です $(function(){ var clearanchor = $("a[href*='example']").attr("href"); document.writeln(clearanchor.replace(/#.*$/i, "")) }); こんな感じまではがんばってみました。 未だ期待する動作しませんが。 ヒントを下さい優しい人。
ヒントも何も clearanchorは<a>タグと関係ないただの変数 それだけ
すいません、ちょっと質問させてください。 jqueryの$.ajax()で外部htmlを取得したのですが、リアルタイム更新になりません。 具体的には以下のソースで同ディレクトリのnews.htmlを読み込み、news.htmlが更新されると 表示も切り替わるようにしたいのです。 <p id="news">ロード中...</p> <script type="text/javascript"> $.ajax({ url: 'news.html', dataType: 'html', async: true, success: function(html) { $('#news').html(html); }, error: function(html){ alert('データの読み込みに失敗...'); } }); </script> 知識が乏しくお手数おかけしますが、詳しい方教えてください。
news.htmlが更新されたことをどうやって検出するか だけだな。頑張れ。
>574の心の声を意訳してみた。 「努力したことにすれば誰かが教えてくれるかもしれないと思って頑張りました。 JavaScriptは全然知らないので出来ないとは思っていましたヵ、案の定出来ませんでした。」
思っていましたヵ
思っていましたョ
$.ajaxでデータタイプがJSONPの場合なんですけど、 ほぼ同じタイミングで幾つかのリクエストをサーバーに投げたら非同期並列通信 として処理してくれるんでしょうか? それとも同期処理になっちゃいます?
asyncの値に依る
583 :
576 :2012/05/17(木) 23:42:41.92 ID:???
orz
データタイプがJSONPの時は非同期だけだよ。
>>576 setTimeoutとかうまくつかって一定時間でポーリングして
その中で、ajax使ってnews.htmlのlast-modifiedをチェック、
新しければロードするって方法でいけるだろ。
>>574 とりあえず、こんなんでどうだ。
<a href="
http://example.com/aaa#bbb " id="link_1">example.com</a>
<script>
var clearanchor = $("#link_1").attr("href");
clearanchor = clearanchor.substring(0, clearanchor.indexOf("#"));
alert(clearanchor);
</script>
Aタグ個別にidやclass振れないなら、divで囲ってこんなんとか。
<div id="links">
<A href="
http://example.com/aaa#bbb " >example.com</a>
</div>
<script>
var clearanchor = $("#links A").attr("href");
clearanchor = clearanchor.substring(0, clearanchor.indexOf("#"));
alert(clearanchor);
</script>
あー、そうか。 リンクのhrefの内容自体を書き換えるってことか。 じゃあちがうな。。
こんな感じでどう?
<div id="links">
<a href="
http://example.com/aaa#bbb1 " >example.com/aaa</a>
<a href="
http://example.com/aaa#bbb2 " >example.com/aaa</a>
</div>
<script>
$.each($("#links a[href*='example']"), function(){
var clearanchor = $(this).attr("href");
clearanchor = clearanchor.substring(0, clearanchor.indexOf("#"));
$(this).attr("href", clearanchor);
});
</script>
.replace(/#.*$/i, "") なんでコレ使わないんだ?
あとはそれを組み込めばよかろうもん
clearanchorを書き換えるだけじゃ反映されないって話だろ replaceのままでいい
じゃあこれだ
<div id="links">
<a href="
http://example.com/aaa#bbb1 " >example.com/aaa</a>
<a href="
http://example.com/aaa#bbb2 " >example.com/aaa</a>
</div>
<script>
$.each($("#links a[href*='example']"), function(){
var clearanchor = $(this).attr("href");
document.writeln(clearanchor.replace(/#.*$/i, ""))
);
</script>
じゃあ、これでひとつよろしく
<div id="links">
<a href="
http://example.com/aaa#bbb1 " >example.com/aaa</a>
<a href="
http://example.com/aaa#bbb2 " >example.com/aaa</a>
</div>
<script>
$.each($("#links a[href*='example']"), function(){
var clearanchor = $(this).attr("href");
$(this).attr("href", clearanchor.replace(/#.*$/i, ""));
});
</script>
変数に代入する必要すらないがその辺はお好みで で、clearanchorという変数名が用途と合ってないし意味不明
$("a[href*='example']").each(function(){ $(this).attr("href", $(this).attr("href").replace(/#.*$/i, "")); }); 誰だよ#links必要とか言い出した奴
俺だよ俺 だって誰もコード書いてやらないんだものw って何回もなにやってんだろうな俺 自分の仕事しよう。。。
回答者同士で添削しあうスレになったなw
それもまたいいと思うw
はじめから釣り質問だから誰も答えなかったんだよ。
>>585 ありがとうございます!!
ググってみます!!
ライセンス的にOKみたいだから、ソース変更しちゃえば? ウィンドウのリサイズイベントに、希望の処理をbindすればいいっしょ。
input の range で発生するイベントをJQでハンドリングしたいとおもっております。 スライダーを手放した直後に発生するイベントを探して Bindしたいのですがどうも見つかりません。 changeイベントで対応するしかないのでしょうか?
changeでできるならそれでいいじゃない
>>603 レス有難うございまうす。
希望の処理を加えたいのは山々なんですが、初心者のため方法がわからず・・・。
特定のウィンドウサイズ(○ピクセル)以下になった時に、
cssに追加したheight属性を消して並び替えたいんですが、
どういった変更を加えたらいいでしょうか?
参考になるサイトなどあったら教えていただけますでしょうか?
・ウィンドウサイズが特定のサイズ以下になったか判定 ・CSSのheightを削除 ・並び替える この3つをやるだけだろ? ソースを変更する必要すらないだろう 3つのやり方が全く分かってないのに、それを1から教えるだけの紙面はない
jQuery経験者の皆様に質問ですが クロスブラウザ問題はどのくらいあるもんなんでしょうか? 古いIEやスマホでもそこそこちゃんと動きますか?
どのくらい古いIEかによるけど
>>605 レスありがとうございます。
頻繁にアップデートを行いたくないため、
確定した最後の1回だけ処理できたらとおもっています。
rangeで発生するイベント一覧などご存知でしたら、
紹介していただけたらと思っております。
イベントのたびに更新するんじゃなくて 間引く処理を自分で書くといいよ 俺ならそうする ・イベントが発生しても前回から1秒経ってなかったら更新しない ・1秒間イベントが発生しなかったら「確定した最後の1回」と見なして更新する 例えば、テキストボックスの入力文字数(や残り文字数)を数える奴も同様だな
>>608 特にCSS制御が絡むと、古いIEは死ねる
IE6はサポート外にすべし
IE7もできればサポート外にすべし
サポートして良いのはIE8以降にしないと
開発&保守コストがかさむだけで、誰も幸せになれない
スマホ対応前提なら、jQuery Mobileあたりでラップしちゃえ
独自にゴリゴリやるとこれまた大変
OSとべったり融合してる糞ブラウザで動作確認しようとは思わないな 標準的な方法では他のバージョンをインストールできないし
615 :
Name_Not_Found :2012/05/21(月) 21:25:52.77 ID:2W7l5GQ7
>>615 "opacity":"0" のアニメーションは何箇所かに対して動くので、
それぞれの完了時に height: 280 にするアニメーションを発動させてしまっている。
>>616 615です。
ありがとうございました!
確かにあの指定だと複数の箇所にanimateがかかっていてその分アニメーションしていますね。
理由もわかって解決できました。
ありがとうございました!
>>607 正しいコードかどうかはさておき、
とりあえず希望通りにうごくようになりました。
ありがとうございます
$("#id1").load(url) のようにページの一部を取得した後、取得したページに含まれている要素を$("#id2")のように取り出そうとしましたができません(空っぽの要素が返ってくる) loadで取得したDOMは操作できない仕様ですか?
取得したページに対して操作してないのが原因じゃないか? ソースを示してみろ
.load() の次の行で取り出そうとしてるんじゃね?
どんな形であれ、DOM木に挿入されていれば取得できるはずだけどね。 DOM木に#id2があるか確認してるのか?
$("#id1").load(url); console.log($("#id1")); // 確認その1 console.log($("#id2")); // 確認その2 確認その1ではちゃんとid1の内側にid2が入っている 確認その2の出力が空っぽ urlで取得するDOM <div id="id2"> うんたらかんたら </div> みたいな感じ です
やっぱり次の行で見てたか。.load()は非同期で動くんだよ。
そうだったか。調べたらコールバックが指定できたのでそれで解決しました。d
どのUIライブラリーを使うのが無難かアドバイスを下さい。 C++や.NET系でそれなりに開発経験は上から下まであるんですが、HTML、javascriptなど素人なのにプロトタイプを作るというムチャぶりが来ました。 株式の値段のように、変更があったところをブリンクさせるとかグラフとかポータルのようなパネルレイアウトとかがいるようなんですが、UI周りのライブラリーとしてどのへんを使うべきかのご意見を頂きたいです。 グラフ周りは別物っぽいのでベースとなるもの?について特に頂ければ。 一つ候補に上がっているのはJQueryEasyUIです。
途中で送信してしまった・・・
jQuery.getJSONについて質問です。
ドキュメント
ttp://api.jquery.com/jQuery.getJSON/ によると
$,getJSON("URL", function(){ ... }).error( function(){ ... } );
でエラー時のコールバックを書けることになっていますが、不正なJSONを返すURL、そもそも404なURLなどを指定してもerror時コールバックが呼ばれません。
これはどのような時に呼ばれるのでしょう?
JS自身にエラーを検出する方法がないから?
>>631 んー。再現しないが。404で.error()が呼ばれた。
バージョンは最新かい? 古いとついてないよ。
あと、1.8では deprecatedになるらしいから failを使うのが賢明。
実際に取り除かれるのは 1.9以降になるだろうけど。
jQuery Mobileで動く、本のページをめくるようなアニメーションのプラグインってありますか?
これは試してみたんですが、ちょっと重たいのでより軽いものがいいのですが。
http://www.turnjs.com/
お手上げなので質問です。 現在jQueryプラグインの、「lofslidernews」というスライドショーを使っています。 これをautoで使ってるのですが、マウスオーバーで一時停止するようにしたいです。 そこで、pauseOnHove:trueや、pause:trueを追加してみたのですが、機能しません。 どこをコードのどこをいじればよいでしょうか? よろしくお願いします。 $(document).ready( function(){ var buttons = { previous:$('#main_slide .lof-next') , next:$('#main_slide .lof-previous') }; $obj = $('#main_slide').lofJSidernews( { interval : 6000, direction : 'opacitys', easing : 'easeOutBounce', duration : 1200, auto : true, isPreloaded : false, maxItemDisplay : 3, navPosition : 'horizontal', // horizontal navigatorHeight : 32, navigatorWidth : 80, mainWidth:714, buttons : buttons} ); });
jQueryからCSS3のlinear-gradientを操作できません。 そういうものなのでしょうか? $('#'+id).css('background', 'linear-gradient(top,rgb(175,175,238),rgb(94,99,222))'); $('#'+id).css('background', '-webkit-linear-gradient(top,rgb(175,175,238),rgb(94,99,222))'); $('#'+id).css('background', '-moz-linear-gradient(top,rgb(175,175,238),rgb(94,99,222))'); $('#'+id).css('visibility', 'hidden'); テストとして入れてる4行目は効いてるので 1〜3行目も通過してるはずなのですが。
638 :
636 :2012/05/27(日) 16:10:11.03 ID:???
>>637 $('#'+id).css('border', 'solid 1px rgb(255,0,0)');
こういうふうにrgb()も効くので
linear-gradient()も効くと思ったのですが
なりすましのおっさんが湧いてくるからID出した方がいいよ
641 :
636 :2012/05/27(日) 16:21:12.28 ID:???
すんません・・・ちょろミスでした。 説明しにくいのですが、上で引用しているところ以外で ちょろミスがありました。 jQueryでlinear-gradientは操作できました。
もう解決してしまっているようだけど、 こういう時はjQuery使わず書いてみると、どこが悪いのかわかるよ。
UIをSencha Touchで構築して、DOM操作とかその辺をjQueryでやる、 という共存は可能ですかね?
Sencha Touchのdivとかに付加されるidって自動採番か。。。 jQueryと共存できても、Sencha touchで生成されるUIに対して jQuery用のvalidationプラグインとかを適用するのは無理っぽいな
find('.title').each() のようにして検索してループにかけるとき、 自分自身の要素名が div なのか p なのかとか判断するにはどうしたら良いのでしょうか?
すみません。解決しました。 get(0).tagName で取得できました。
>>645 , 646
each()のループ内なら、"this.tagName"もOKみたい。
"$"つけてjQueryオブジェクトにすると"undefined"って言われるけど。
$('.hoge').each(function(idx, obj) {
alert($('.hoge').get(idx).tagName);
alert(this.tagName); //これもOK
alert(obj.tagName); //これもOK
});
もし DOMを直接さわらないというこだわりがあるなら、 if ($(this).is('div')) { 〜 } なんてのもいいのでは。
jQuery Mobileにて、検索フォームの初期値をJavaScriptで書き換えたいのですが、typeをsearchにするとできません。 //HTML <input type="search" id="hoge" value=""> //JavaScript document.getElementById("hoge").value="ほげ"; typeをtextなどにすると変更されるのですが、searchだけ変更されないのはなぜでしょうか?
input 要素自体を append/after/html などで出力じゃダメなの?
普通はできるからその特定のサイトの仕様上の問題だろう
innerHTMLでできました。 しかし.valueだとなぜかできない
たまにあるよね。そういうときはdom本来のvalueでなくもうひとつvalueがつくられてたりする。
jquery mobileでマップ&マーカー表示させるものを作ってます。 $('#page-home').live("pageshow", function(){ $('#map_canvas').gmap({ マップ表示&マーカーをjsonで読み込んで複数配置 }); }); <div data-role="page" class="gmapbg" id="page-home"> <header data-role="header" data-position="inline" data-theme="a"> <h1>Test</h1> <a href="#options" data-icon="gear" class="ui-btn-right" data-inline="true" data-rel="dialog" data-transition="pop">Options</a> </header> <div data-role="content"> <div class="ui-bar-c ui-corner-all ui-shadow" id="map_item"> <div id="map_canvas"></div> </div> </div> <div data-role="dialog" class="gmapbg" id="options"> <div data-role="content"> <a href="#page-home" data-role="button" data-theme="a" id="saveBtn">設定する</a> </div> </div> page-homeを表示する際にマップとマーカー配置を行ってます。 optionsのダイアログを表示して、マーカーで表示するカテゴリみたいなのを選択させて、 page-homeに戻ってきたときに、カテゴリを絞ってマーカーを再配置させてやりたいのですが、 gmap({});の中に入ってくれず更新させられません。 対応策がありますでしょうか。
655 :
654 :2012/06/12(火) 14:29:49.20 ID:???
数時間なやんだけど・・自己解決しました。 $('#map_canvas').gmap({}) と マーカ作成処理を外出しで分離してやればできました。 スレ汚しすみません。
やっぱりjqmで決まりなのかな? jqtouchとかどうなんだろ
jqmは「モバイルサイト」作るのにはいいけど、「モバイルアプリ」には ちょいと厳しい。モバイルアプリには、Sencha Touchあたりがいいと思う。 ところで、jqmの $.mobile.changePage( url,{ type : "POST", data : "param=ABC" } ); を使って、POSTでページ遷移させた場合に 遷移先ページでparamの値を取得するにはどうしたらいいのん? GETだったら、URLのクエリパラメータに付加されるから 遷移先ページでのpageshowイベント内で $(this).data("url") で取得できるんだけど、POSTの場合のやりかたがわからん。
質問。下記のふたつのコードは、意味は同じでしょうか? $(document).ready(function(){ //うんたらかんたら }); $(function(){ //うんたらかんたら }) いずれもjQueryスクリプトの記述方法としてよく見かけます。 自分の勝手な想像ですが、「元々は1つ目の記法だったけど、 あるバージョンのjQueryから2つめの簡略記法が可能になった」とか?
同じ
サーバ側で出力したらいい 両方書いて比較したらいい
jqmobiというのも出て来た。 ややこしいな
>>658 1.0でも簡略記法があるようだよ。ソースを見ただけだけど。
663 :
658 :2012/06/14(木) 10:54:28.29 ID:???
総本山の記述がすべてじゃないの?
> 以前のバージョンでは,$(function(){}) は無く,ready() メソッドを 使用していた いや、v1.0 からあるって。んな記述ひとつで「正しいことが分かりました」とか、おめでたいな。
公式よりも、ただの日本語訳を信頼するとかアホだ
1.0 以前ってことかね。すくなくとも 1.0ではshortcut のコードがある。(それもいきなり)
669 :
658 :2012/06/14(木) 15:53:08.50 ID:???
なるほど。 てっきりjQueryは0.xのバージョンから(それなりに有名的な意味で)世に出ていたのかと思いきや、 1.0が実質的なローンチで、その時点ですでに簡略記法(と呼んでいいのかどうか)はあった、と。 じゃあ、実質的な処理の違いの有無とか、双方の普及・逆転(?)や認知度の経緯とか、 敢えてどちらかを選んでいるひとのこだわりとか、そのへんに興味が湧いてきます。 そもそも公式サイトで簡略記法に触れていないのも不思議に感じます。 見つけにくいだけで、どこかに(ソースコードを除いて)記述はあるのでしょうか?
.ready()のページにある。 いつから記載されてるかは、インターネットアーカイブでも見ればわかるかもよ。
jQuery用で、androidでも動くドラッグ&ドロッププラグインの オススメってありますか?
jQuery UIとjQuery UI Touch Punchの組み合わせでどうかね。
>>674 Touch Punchは確かに重いんだよね。
ただjQuery UIをそのまま使えるんで使いまわししやすい。
Android、というか手元のXperia Acroだと#1が回転・拡大縮小できないのはまぁ仕方ないにしても
ページ自体のスクロールができなかった。
用途次第では問題ないと思うけど一応。
>>675 たしかに、jQuery UIそのまま使えるのは利点ですね。
パフォーマンス含めて用途に合うかちゃんと調べてみます。
後者のほうは、PCブラウザだと動かないのでデバッグしづらそうです。
MotorolaのDroid3ですが、同じように#1の回転拡大は動いてないです。
んー、安易にプラグイン使う前に、ちゃんとdraggable/droppableを
勉強するかなぁ。。
ヒントをいただければと思います。
1,サムネイル写真をクリックすると、メインスペースにその写真が現れ、
2,メインスペースの写真をクリックすると、スペース内で画像が拡大される。
http://www.aniary.com/2012_1/AL-02-05/#d_brown このサイトのようなことをしたいと思ってます。
コードをゼロから書くことはできないので、
既存のjqueryのコードの組み合わせでできますでしょうか。
画像スワップはわかっているつもりですが、
それに、画像拡大を組み合わせられますか。
もし、適当なプラグインがあれば、教えてもらえればと思います。
679 :
677 :2012/06/20(水) 23:54:32.54 ID:???
>>678 ありがとうございます。
拡大するときは、前に画像が浮かんでくるのではなく、
もとあった画像の枠内で大きくしたいと思っています。
紹介してもらった以外にも、ありそうなので、
「litebox系」で、ぐぐってみます。
jquery mobileがクソ重くてガッカリ。 jqmobiとjqueryを組み合わせて動かす事出来るんだろうか。
むしろ、jQueryが使えない環境で、jqmobiでjQueryライクな DOM操作ができることを期待してる。 SenchaTouch使った開発で、jQueryライクなDOM操作をするとか。
jQuery Mobileは同じく重くてガッカリ 重いというか動かないレベル ふわっと遷移するのが売り物なのに、途中が全部コマ落ちして一瞬で変わるw
Android4の標準ブラウザだと けっこうサクサク動くけどな。 モトのグローバル端末にCM9だけど。 国内キャリアのガラスマだと厳しいとかw マーケットアプリも、国内キャリアだと 動かないとかのクレームけっこうレビューにあるし。
つまり国産スマホが駄目ってことなの? Galaxyでも似たようなもんだったけど OSのせいなのかな、2.3系でしか試してないわ
GB(2.3系)のブラウザだと、どれでも厳しいのでは。 ICSの標準ブラウザはよくできてるよ。 細かい使い勝手は微妙だけど、レンダリングのパフォーマンスはかなり改善されてるよね。 ICS入れてから、標準ブラウザ以外を使う気にならない。
OS の最適化が進んでる 3.x 以降じゃなきゃ使う気が起きない
カルーセルはカルーセルで、ごく一部分のUI要素でしかないだろ。 全体的な構成はjqmに似てるけど、独自なのかもね。
個人でiphoneアプリ、Windowsアプリをマーケットに売って生き残れ
格安iPhoneEラーニング(学習動画多数あり)
http://tinyurl. com/7wj77om
コワーキングスペースJP
http://tinyurl. com/76vdrny
javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて
人の多いところで直接販売できる仕組みが提供されているメーカ製の言語だけやる ずばりiphone またはWindow 8 Metro App Store C#
やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報,書籍が多く開発しやすい
奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 癖があり 大規模開発中心
詳細設計しかやれない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる仕様だから
派遣屋・IT経営者はその方が喜ぶ 大規模分割開発では使い捨てしても独立はできまい 代わりはいくらでもいる 嫌なら辞めろ
派遣営業は舐めた態度をとってくる ひどいピンハネ
オープン言語、日本独自開発言語・フレームワーク ガラパコ携帯 javascript html5 Android java linux python rubyやnode.jsとかやめとけ
メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり未完成かデスマに陥る
コンパイルできないからパクられ 直接売る場所がないから金にならない 生きていけない ずっと奴隷仕様の言語だ
ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C#
Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる
仕事や趣味でObjective-CやC#を覚えれば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる
WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える
例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ)
ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#のソースを出さなければWEBアプリの著作権も守れる
C#マーケット Windows8 Metroアプリ WindowsPhone pad PS Vita Xbox360 iphone(mono使用)
iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品)
地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する
http://tinyurl. com/7pb2yaa
http://bit. ly/iLIpJa
>>673 jQuery UI Touch Punchを使って
シンプルなドラッグ&ドロップのコードを書いてみたら
けっこうサクサク動くね。
ぜんぜん重くないわ。
質問です。下記のHTMLに対してマウスエンター時にalertを出そうとしてます。 <div class="rect">hoge</div> <div class="rect">piyo</div> jqueryは以下の通り。 $(function(){ function f(e){ alert(e.data.data); } $(".rect").each(function(){ $(this).bind("mouseenter",{data:"foo"},f()); }); }); これだとロード時にrectEnter()が起動してしまう。 なぜだかわからない。 $(function(){ function f(e){ alert(e.data.data); } $(".rect").each(function(){ $(this).bind("mouseenter",{data:"foo"},f); }); }); これだとちゃんとマウスオーバー時に機能する。 違いは関数を渡した時の()だけ。 推測だけど、()を付けると定義ではなく実行するんじゃなかろうかと。 オブジェクトとして渡すだけなら()無し。実行するなら()で、ということ?
口調が気にくわない
> 推測だけど、()を付けると定義ではなく実行するんじゃなかろうかと。 > オブジェクトとして渡すだけなら()無し。実行するなら()で、ということ? ということ
どうやってって…見りゃいいじゃん
3GSでもヌルヌルだったぞ
カクカクだった
ツルペタだった
ぬれぬれだった
3Gでフルフルだった
hulu
jQueryオブジェクトを一つの変数にまとめるにはどうすればいいのでしょうか。 セレクタを使う場合に hoge = hoge.add('#fuga') とするように hoge += fuga // 両方jQueryオブジェクト みたいにしたいんですが上記コードだと hoge.css()とかするとエラーが出ます。
例を考えるのが面倒なので hogeとfugaに何が入ってるか示して
>>709 変数に配列としてキャッシュされているdivとかの要素です。
for (var i=0; i<10; i++) fuga[i] = $('#fuga').find('div').eq(i)
みたいな変数があって、
var hoge = $([]);//空のjQueryオブジェクト
for (var i=0; i<fuga.length; i++) {
hoge += fuga[i];
}
hoge.css(なんちゃら) // こういう風に複数の要素に何かしらの処理をしたい
上では端折りましたが、fugaだけでなく複数の変数の中身をhogeにまとめたりもする必要があるんです。 全てに連番のid振るのもアレなんで…
jQuery流の書き方を勉強しなさい $('#fuga').find('div').css(なんちゃら); あるいは $('#fuga').find('div').each(function() { $(this).css(なんちゃら); }
$.each([fuga1,fuga2,fuga3],function() { $(this).css(なんちゃら); });
>>712-713 自分が知りたかったのはeachのようです。713さんの書き方でとりあえず配列内のオブジェクト全体に
何かしら処理を行う事ができました。またjQuery流の書き方も少しずつ覚えていきたいと思います。
どうもありがとうございました。
その調子で頑張って
終わってからいうのも何だけど、.add() は jQueryオブジェクトも渡せるよ。
渡しても意図した通りにならなかったよ
たとえば?
試したかどうかなんて分からないんだからどうでもいい
721 :
Name_Not_Found :2012/07/01(日) 21:20:59.28 ID:BSU5oiwg
初心者なんですけどloadで読み込んだファイルをsortableしたいんですけど したのような感じに書き直してみたけどダメでした。 $("p").sortable({ ↓ $("p").live("sortable",function(){ loadで読み込んだファイルもsortableさせる方法ってあるんでしょうか?
722 :
Name_Not_Found :2012/07/01(日) 21:43:11.96 ID:BSU5oiwg
マニュアル見たらどんなイベントでもliveって使えるわけじゃないんですね、はぁ
jqueryの関数の中のthisって、具体的には何を指すんでしょうか?
イベントの発生源とか
一概に言えない
基本的にはjqueryオブジェクト
$('div').each(function() { $(this).css({backgroundColor:'red'}); // ↑これ? });
>>721-722 バブリングしないイベントは無理でしょ。そういう仕組みなんだから。
sortable の仕様を読みなさい。
>>726 jQueryオブジェクトになるパターンある?
>727ならdiv要素ノードオブジェクトだと思うけど。
thisが出てくるのはeachくらい?
jQueryのソース読んでみ
ソースを読んでjQueryオブジェクトになるパターンがあるか報告よろ
イベントハンドラ関数でも this を使うけど、俺の知る限りではjQueryオブジェクトになるパターンはないな
質問者:mc0816 誕生日:8月16日 イニシャル:M・C
>>730 $('#hoge').click(function(){$(this).hide();});
いくらでもあるぞ
>>736 それthisはjQueryオブジェクトじゃないじゃん
jQuery Mobileでselectメニューを使う際に、 属性でdata-native-menu="false"を指定すると 見栄えはいいんだけど、Android(ICS)だとすごく重くなる。 selectメニューだけ、jQMのスタイルを外すのはどうやればいいのん?
まちがえた。chromeで確認してた。。。o...rz data-native-menu="true"にして、Androidで確認したら ちゃんとネイティブになってた。申し訳ない
>>739 AndroidにもChromeはあるわけだが、えまえさんのいうAndroidのブラウザ名は何だ?
Chromeが載っているOSは?
新キャラ:えまえさん
>>740 どうも、えまえです。
PC版Chromeで確認してた。。。
ちなみに自分のAndroid端末だと、ICS(CM9)載せてもAndroid用の
Chromeが動かないのよ。
ハードウェアのアクセラレーションが有効でないとダメなんだっけか。
cake phpにて、jQuery.mobile1.0.0を利用したスマートフォン用のサイトを作成しています。 formタグ内のselectボックスやsubmitボタン等の下に経線が現れる事があります。 これが画面を縦にすると現れるのですが横向きにすると消えてしまいます。 PCで確認しても同様に消えてしまいます。 これは一体どうしてなのでしょう? どうしたら消えるのでしょうか?
もっと実用的なfwないのかね。 jqtouchは、軽そうだけどどうなんだろう
試してみようず
jQuery Mobileにて、ページ移動のslideアニメーションをiPhoneのSafari以外のブラウザでやると動作がもたついて移動先のページが一瞬表示されてからアニメーションが起こるのですが、何か回避策はありますか?
回避方法は多分無い。Androidだと壊滅的。 プラグイン使うともう地獄。 結果、俺はjQM捨てた。 3ヶ月を無駄にした。
3ヶ月も試す前に気付けよw 俺は3日で見切った。
あざっす jQMで派手な事するのは諦めます
業務命令だと、「なぜ使えないのか」の説明を求められるから 現場は3日で判断できても、上の方にあがるほど、放置されるわなんだで 時間掛かるんだよなー。「なんとかしろ」で突っ返されるし。 チューニングして工夫してある程度動くものを見せて 「これじゃあしょうがない」になるまで3ヶ月かかった。 このご時世で決断スピードがコレは、会社として致命的だわ。。。
PHPで作ってるサイトにPJAXを導入しようとしてるんだけどうまくいかない。 自動での部分読み込み自体はうまくいってるっぽいんだけど、 その後URLから_pjax=xxxxを消すためのpushState(?)が 実際のリクエストとなってApache に飛び、 結局ページ全体のリロードになってしまうようだ。 timeout値を大きくしても同じ。試してるブラウザはchrome。 何が悪いんだろう・・・
ソースを出す気が無いならお帰り下さい 普通は〜ぽいとか〜のようだとかそういうとこから疑うが、 ソースも無いので確かめようが無い そんなん知らんがな
ソースはサンプルのまんま、まだ何も複雑なことはしてないよ。 一度_pjax=xxxxつきのリクエストが行き、その次に無しのリクエストが行くことはApacheのログで確認してる。 サーバ側で_pjaxつきで来たときにhtmlとしてエラーになるようなメチャクチャなレスポンスを返してやると 画面更新は起こらず、その場合再リクエストも行かない。 これはクライアントに送られるJavaScriptコードが解釈不能になるせいだろう。 つまり部分更新用のコードが帰ってくるところまではどう見ても動いている。 問題はその後勝手にリロードが発生しちゃうことなんだ。 何だろうなこれは。
一応ソース貼っときます。
<?php
$headers = getallheaders();
if ($headers['X-PJAX']) {
echo '部分更新だよ';
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="
http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PJAXテスト</title>
<script src="/js/jquery.min.js" type="text/javascript"></script>
<script src="/js/jquery.pjax.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
<!--
$(function() {
$("a.js-pjax").pjax("#main", {"timeout": 36000});
});
-->
</script>
</head>
<body>
<div id="main">全体ロードだよ</div>
<a href="<?=$_SERVER['PHP_SELF']?>" class="js-pjax">リンクA</a><br />
<a href="<?=$_SERVER['PHP_SELF']?>">リンクB</a>
</body>
</html>
jquery.min.jsとjquery.pjax.jsは昨日の時点の最新版。 ひょっとしてその組み合わせがまずいかな。 確実に動く組み合わせを知ってる人いたら教えてくらはい。
どっかのサイトにあった古いjquery.pjax.jsに変えたら動くようになった。 やれやれ。 俺の数時間を返せと言いたい。 スレ汚し失礼しますた〜。
Bootstrap使うと、jQueryでfocusとかのイベントが 無効になっちゃうのかな。 StackOverflowとか見ると、"not working"とか書いてる投稿が けっこう見受けられる。。。
760 :
759 :2012/07/12(木) 19:09:05.17 ID:???
自己解決。 たしかに、bootstrap使うと focusイベントが殺される。 clickとかは生きてるのに。 んで、 $("#selector").on("focus", function(){/* イベント処理 */}); だとダメだけど、 $("#selector").on("hover", function(){/* イベント処理 */}); なら大丈夫なことが判った。 とりあえずこれに関しては、気持ち悪いけど解決。
そもそもfocusとhoverは違うんだけどつまりどういうことなんだ?
あれれ、なんか根本的にカンチガイしてるのか、俺。。。 div要素とかに、マウスカーソルが当たったイベントを 取得したいんだわ。 divの範囲にマウスカーソルが入る=focus divの範囲からマウスカーソルが出る=blur だと思ってた。 ちょっと再確認してくる。
クリックして選択した状態がfocus だバカたれ
>>762 div要素はfocusできないぞ
tabindex当ててるなら別だが
上空をオスプレイが通過 → hover オスプレイが墜落 → focus 墜落したオスプレイを搬出 → blur
おぉ、ありがとう。 勘違いしたまま進むところだった。 マジ感謝。
牡プレイだと?
アッーー mouseover, mouseoutじゃいかんの?
769 :
uy :2012/07/13(金) 01:34:22.28 ID:???
オスプレイがあるならメスプレイもあっていい 俺は常にメスプレイのことしか考えていないが メスプレイの中でも俺は女子小学生が大好物
おまわりさん、こいつです。
おさわりまんこです。
JQueryMobileでの質問です。 「保存ボタンを押した時に確認ダイアログを出し、戻り値(新規追加、更新、取消)によって処理を分岐する」的なことをやろうと思ってます。 $(document).on('click', "#btnsave", function () { $.mobile.changePage("#dlg_check", "pop"); if (msgret == 'ADD'){ //新規追加 } else if (msgret == 'UPDATE'){ //更新 } else { //なにもしない } }); こんな感じにしてみたのですが、これだとダイアログが出る前に下部分が実行されてしまいます。 何か良い解決策はないものでしょうか。
return false、他
ダイアログが出るまでまつ
コールバック関数ついてね?
JavaScriptのテンプレートエンジン(Ajaxでサーバーサイド言語頼り?) なんてのがあるようですが、人気上位(1〜3位くらい)のライブラリはどれですか?
ヘタに既存のテンプレートエンジンとか、CSSフレームワーク使うと 細かい部分でカスタマイズしたい時にハマるんだよな。
ああ、ちょっと何か変えたいと思っただけでも 解析しないといけないからな 既存の物を使って工数短縮になるのは、本当にそのまんま使った時だけ
クリックすると表示して他をクリックすると閉じるってどうやるの?
日本語でOK とりあえず、やりたいことのサンプルとなる サイトとかあれば晒してみれ LightBoxとかじゃないのか?
fancyboxとかmodalwindowとか
jQuery Mobileでdata-iconpos="notext"にするとボタンが小さすぎて困るんですが、何とかなりませんか?
data-iconsize
最近Webサイト制作の勉強をし始めた初心者です。
現在ドロップダウンメニューを作っています。
ググればテンプレはいくらでも出てくるのですが、今回は勉強の為にということで自分なりに作っています。
動作確認は、
Firefox 14.0.1
IE 9
Chrome 20
Safari 5.1.7
の4つのブラウザで行っています。
大体完成して期待していた動作をしてくれるのですが、どうもFirefoxでの動作がもっさりしています。
具体的には、jQueryの.slideDown()と.slideUp()で出たり引っ込んだりを実装しているのですが、その動作がもっさりなんです。
他の3つのブラウザではさくっと動いてくれます(Safariも多少もっさりしてますが個人的には許容範囲)。
因みにCSSでグラデーションを切ってborderのridgeをsolidに変えるか消すかすればさくっと動きます。
ソースはこれです
http://jsbin.com/isezuc/edit#source Firefoxでもっさりするのは仕様ですか?
それともどうにかして改善できますか?
宜しくお願いします。
Fx15.0a2 (2012-07-16)だけど全然もっさり感じない。 Fxはそもそもがけっこうもっさりって言われてるからマシンスペックとかメモリとかに影響されやすいのかもね。
787 :
785 :2012/07/18(水) 17:05:44.75 ID:???
>>786 レスありがとうございます。
「もっさり」をもっと具体的に言うと、
Firefox 30fps
Safari 45fps
IE 60fps
Chrome 60fps
という感じです。測った訳ではなく体感ですが。
15,0a2をインストールして試してみましたが、動きは変わりませんでした。
アドオンの関係かなと思い、全てのアドオン(Firebugしか入ってませんが)無効化でやってみましたが、変化無しでした。
マシンスペックは問題ないと思うのですが、以下に晒します。
Windows 7 Professional SP1 64bit
i7-2760QM
16GB RAM
AMD Radeon HD 6990M CrossFireX
SSD Hybrid HDD 1TB(500GB*2 RAID0)
Firefoxはもっさり、ですか。
確かにウィンドウのサイズ変えるのももっさりするなと感じているのですが、やはりこういうものなんですかね。
XPsp3、Core2Duo 2.33GHz、4GB でChrome、Firefoxがほぼ変わらず、Safariのみ若干遅い、というかひっかかりがあるみたいな感覚ですね。 IEは8しか入ってないけどそれだと動かなかったです。 なおFirefoxは常用しているものなのでアドオンてんこもりです。
以前作ったjQuery使いまくりのサイトで FireFoxとChromeでチェックしてみたけど、 jbgalleryやlightboxなんかはほぼ同じスピードで動いてたけどね slide関連だけもっさりするのかな? スペックもハイエンドノートみたいだから関係なさそうだし
あ、FireFoxだとslide関連遅いみたい。FPSが明らかに低いガクガクって感じになる
ちょっと暇だったんで
>>785 のソースを勝手にjQueryっぽくしてみた。ごめんね。
$(function(){
$("#ddownmenu > ul").each(function(){
$(this).hover(
function(){
$(this).children(":not(:first-child)").slideDown("fast");
}, function(){
$(this).children(":not(:first-child)").slideUp("fast");
}
).children(":not(:first-child)").hide();
});
});
無駄each取っ払ってインデント修正してみた。度々すまん。これで最後にする。 $(function(){ $("#ddownmenu > ul").hover( function(){ $(this).children(":not(:first-child)").slideDown("fast"); }, function(){ $(this).children(":not(:first-child)").slideUp("fast"); } ).children(":not(:first-child)").hide(); });
793 :
785 :2012/07/18(水) 17:54:18.01 ID:???
皆様レスありがとうございます。
>>788 ChromeとFirefoxがほぼ同じですか。
確かにSafariのは遅いっていうよりひっかかってるみたいな感じです。
>>789 >>790 やっぱりFirefoxはslide関係がもっさりなんですかねえ。
>>791 >>792 いえいえ、勉強になります。
特にjQueryは触り始めたのがここ数日で、慣れていないので上手く使えませんでした。
こちらの方がすっきりして良いですね、ありがとうございます。
確かに、引っ掛かりを感じるが… 計測してみたほうがいいんじゃね?
ページ内ポップアップで画像というのはよく見るのですが、別ページをポップアップするという機能はjQueryにありますでしょうか? なんというワードで検索すればよいのかがわからず迷っております。 よろしければアドバイスいただけると助かります。
>>795 FuncyBoxとかThickBoxとか。
>>795 LightBox系の拡張でiframeに対応してるのを探せば良い
798 :
795 :2012/07/23(月) 20:46:20.49 ID:???
799 :
Name_Not_Found :2012/07/24(火) 07:44:36.73 ID:mpaHWWAt
jQueryのcrossfaderを使うと 画像が切り替わるたびにファンがうるさく回りだすのは仕様ですか? それとも記述がわるいのでしょうか?
jQueryを利用してtextareaの文字数を表示するのにkeyupでできたのですが、 最初に画面を表示する時点ですでにtextareaに文字が入っている場合にも 文字数を表示したいのです。 今は、$("textarea").keyup(function(){...});としているのですが どのようにしたらよいでしょうか?keyupに変わるイベント(?)のような ものがありますでしょうか。
$("textarea").keyup(function(){...}).keyup(); キーアップが起こったことにしてやりゃいい。
スーパー初心者です。
ttp://uptest.sitemix.jp/test.html 上記のサイトでちょっとしたアニメーションを作って見たんですが、
右へ動かした時に全体ががたついてグラグラしてしまいます。
なにが原因でしょうか。
またhtmlの入れ替えで複数のテキストを用意し一定の間隔で置き換えて、
(´・ω・`) がだんだんと後ろを向いたりこちらを向いたりさせたいのですが、
どうしたらいいんでしょうか。
過程を通り過ぎて一気に最後のものに置き換わってしまうので困っています。
>>802 こっちでは別にガタガタしないよ?
複数テキストの書き換えは内部的に一瞬で終わるんで最後しか見えない。
もしアニメーションさせたいなら書き換える、ちょっと待つ、書き換える、ちょっと待つ、ってやらないとダメ。
804 :
800 :2012/07/24(火) 20:38:24.03 ID:???
>>801 できました。キーアップしたことになるんですね。
精進します。
ありがとうございました。
>>803 ガタガタしないんですか。なるほど。ブラウザの問題かもしれないです。
よければ「ちょっと待つ」の部分で用いるエフェクトを教えてください。
jQueryを使ったtwitterの自分のつぶやきを表示させるもので、 ツイートを非公開設定にしていても読み込んでくれるものはありませんか?
>>806 自分で公開するスクリプトにTwitterのID/Passwordを埋め込むことの意味がわからない?
>>807 .delay()と.html()と.dequeue()を、.queueの中にいれると、
二段階は変化するようになったのですが、
それ以上は変化せず中間が端折られてしまいます・・・
構造の記述が間違ってるんでしょうか?
>>808 それを埋め込まないと非公開でも読み込んでくれるスクリプトは作れないって事ですか?
>>810 とりあえずお前が望んでいるようなものはないし作れない。
そもそも「非公開なものを公開したい」とか意味が分からない。
>>809 delay() は.queue()の外だ。
それ自体がキューに「数ミリ秒待つ処理」を加えるメソッドだから。
>>803 が書いている処理を一つづつキューに追加するって感じで書いてみな。
>>812 あびゃあああ!できました!!!!
みんなありがとう!!!!!
>>811 pixivとのツイッター連帯だと
本家で非公開に設定してもそっちでは公開できたりするので
もしかしたらできるのかと…すみません
ツイッター連帯 ツイッター連帯 ツイッター連帯
>>814 そういうのはサーバーサイドの次元であって、
クライアントサイドのJavaScriptのスレで質問するのは筋違いだよ。
Twitter連帯の仕組みを知りたいなら「Twitter OAuth認証」とかでググってみてね
817 :
785 :2012/07/26(木) 17:32:53.71 ID:???
しばらくぶりですが、動作に変化が見られたのでご報告致します。 特にこちらでソースを弄った訳ではないですけど。 Firefox(Aurora)が、16.0a2 (2012-07-25)に更新された後に先のページを表示しました。 するとドロップダウンの動作(.slideDown()、.slideUp())がスムーズでした。 念のためFirefox 14.0.1で確認しましたが、もっさりのままでした。 Firefox側で改善されたようなので、このまま正式にリリースされるといいですね。
818 :
Name_Not_Found :2012/07/26(木) 20:31:07.89 ID:VExQCWwA
jQueryの質問です。 以下のように書いた場合、jQuery1.3.2とjQuery1.7.1とで動作が異なります。 1.3.2では"foo.hoge"に続き"bar.hoge"のアラートが出力されますが、 1.7.2では"bar.hoge"のみのアラートで出力されます。 1.3.2ではfoo, barそれぞれに別のhogeメソッドを持っているようですが 1.7.1ではfoo, barとも同じhogeメソッドを持ち、上書きされているように 見えます。 この違いはjQueryのバージョンに因る仕様変更の為でしょうか? 1.7.1で1.3.2のように動作させたい場合、どのように記述すべきでしょうか? foo = $(function(){ foo.hoge = function(){ alert('foo.hoge'); }; }); bar = $(function(){ bar.hoge = function(){ alert('bar.hoge'); }; }); $(function(){ foo.hoge(); bar.hoge(); });
そもそも foo = $(function(){ ... }); ってなんだかわかってる?
>>818 readyの状態になったときに
foo.hoge = function(){ alert('foo.hoge'); };
bar.hoge = function(){ alert('bar.hoge'); };
foo.hoge();
bar.hoge();
が順に実行される
何をしたいのかがさっぱり分からない
jQueryでのonreadyの略記ですよね?
>>821 1.7.1では"bar.hoge"のみ出力されるのは
なぜですかね?
$(function(){})は唯一のjQueryオブジェクトを返す fooとbarに同じものを代入している (1.3.2時代は唯一ではなかったのか?)
fooとbarに同じ唯一のjQueryオブジェクトを代入することに何の意味があるのか説明してくれ 意味のない質問に回答する意味がない
>>818 // 1.3.2
foo = jQuery(document).ready(function(){
foo.hoge = function(){ alert('foo.hoge'); };
});
bar = jQuery(document).ready(function(){
bar.hoge = function(){ alert('bar.hoge'); };
});
// 1.7.1
var rootjQuery = jQuery(document);
foo = rootjQuery.ready(function(){
foo.hoge = function(){ alert('foo.hoge'); };
});
bar = rootjQuery.ready(function(){
bar.hoge = function(){ alert('bar.hoge'); };
});
「唯一のjQueryオブジェクト」とか言ってる奴は何も理解してないな。
では、質問を変えて、1.3.2では$(function(){})は別のオブジェクトを返すのですかね?
>>826 分かりやすい解説ありがとうございます。
そういう違いがあったのですね。
唯一神を信仰してるんだろ
そもそも何をやりたくてそういうコードになってるかの方が問題だと思うんだけど?
無意味な質問に回答する無駄
きっとどうしてそうなるかを聞きたいだけだろ 何がやりたいかを聞くほうがナンセンス
> 1.7.1で1.3.2のように動作させたい場合、どのように記述すべきでしょうか? って言ってるくらいだから内部的な話じゃないだろ。
jQuery使う前の段階なんだけど、 UTF-8で保存しなくちゃならない sakura2-0-5-0_x64を使うと入力途中に Shift-JISで保存されてしまう 皆さん何のエディター使ってるの?
入力途中に Shift_JIS で保存される、の意味が分からんけど、 sakura エディタは ASCII のみのファイルはデフォルトで Shift_JIS で開くから、Ctrl + Alt + F8 で UTF-8 で開き直せば桶。
禿丸エディター
notepad++
jQuery1.7.2とjQuery.mobile.1.1.1でアンケートフォームを作ったのですが、
フォームが送信されません。ボタンをクリックしてもボタンが押された動きを
するだけです。(<input type="button">の動作でsubmitの動作をしない)
<form action="next.php" method="post">
<div data-role="fieldcontain">
<label for="name">名前:</label>
<input type="text" id="name">
</div>
<div data-role="fieldcontain">
<label for="age">年齢:</label>
<input type="text" id="age">
</div>
<input type="hidden" name="hoge" value="huga">
<input type="submit" name="ok" value="送信" data-theme="b">
</form>
試したこととしては、
ttp://dev.screw-axis.com/doc/jquery_mobile/api/configuring_defaults/ を参考に、ajaxEnabled:falseにして、formにdata-ajax=“false”を追加
しても同じでした。
どなたかアドバイスいただけないでしょうか?
なお関係ないかもしれませんが諸事情があり文字コードはEUC-JPを使っています。
>>837-839 Ctrl + Alt + F8 で UTF-8
で開きなおせるとは知らなかった
勉強になりました
一応希望の動作はしたので
しばらくこれでやってみます。
その他の方もありがとうm(__)m
842 :
Name_Not_Found :2012/07/30(月) 08:51:27.14 ID:WWngI3og
jQuery+jGlycyで画像をスライド表示させています。 テーブルを使ってスライド画像がウィンドウの中央にくるように配置しているのですが、 Chromeでページを開くと、画像の位置が下方にずれてしまいます。 ページを再読み込みしてもズレは変わらないのですが、 同じサイト内の別のページに行ってから該当ページに戻ると、画像が正しい位置に表示されるようになります。 Firefoxでは正しく表示され、LunascapeでもWebKitエンジン以外では問題ありませんでした。 (WebKitエンジンではChromeと同じように画像がズレます。) ひょっとしたらjQueryとは全く関係のない話かもしれませんが、 どうかアドバイスあるいは誘導お願いします。
テキスト入力フォームをモーダルでポップアップさせたいんだけど その際に、lightboxみたいに拡大アニメーション付きで出てくるようなプラグインありませんか? jQuery UIみたいなのでいいんだけど、あれだとアニメーションなくいきなり出るので ぐぐったらthickboxというのが沢山出てきたんだけど、何故か消えてる 他におすすめありましたら教えてください
FancyBox
TrashBox
GreyBox
ゴメンGreyBoxはjQueryじゃなかった
848 :
Name_Not_Found :2012/08/01(水) 10:06:38.65 ID:XMPrM83D
jQueryMobile使ってます。 ファイルアップロード用のフォームで data-ajax="false" を指定しているのですが、 この状態で読み込み中のエフェクト(丸が回転する奴)を表示する事ってできませんか? $.mobile.showPageLoadingMsg(); で明示的に表示してもサブミットすると表示されなくなります。 通信してるのか分かりづらいので何か表示したいのですが 仕様として諦めるしかないですかね?
表示する処理を自前で書いたらいいんじゃないの
850 :
Name_Not_Found :2012/08/01(水) 12:53:29.79 ID:XMPrM83D
>>849 試しに
アニメGIFを
style.display = "none";
↓ボタン押下
style.display = "block";
フォームサブミット
とするようにしたのですが、
サブミットするとアニメGIFの動きも止まってしまいました。
諦めるしかなさそうですね。
data-ajax="false"を指定しなければいいのですが、
ファイルアップロードではajaxは切らないと駄目みたいですね。
アニメGIFが止まるってのはブラウザ側の問題だからどうしようもないな。
852 :
Name_Not_Found :2012/08/02(木) 16:33:38.99 ID:PJfckOTy
jQueryのContents Flow使っているんですけど、 両側の余白を0にしたり画像の余白を消すのってどこいじればいいんですか?
学ぶ力には三つの条件があります。
第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。
第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。
「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。
以上、この三つの条件をまとめると、
「学びたいことがあります。教えてください。お願いします」
という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>850 さんも、早く学ぶ力を身に付けてください。
jQueryのCollapseを使っているのですが、 トリガーをクリックするとトリガーのタグの文字列が 変わるようには出来るのでしょうか?
855 :
Name_Not_Found :2012/08/09(木) 13:07:43.01 ID:fgdIUBcr
表示を切り替えたいのですが チェックボックスを選択していないときは「A」という表示 チェックボックスを選択しているときは「B」という表示 を行いたいのですがJQueryでそういったことを出来る関数はありますでしょうか?
>>855 チェックボックスの状態に応じて表示を変える
チェックボックスの状態が変化したら表示を切り替える
jQueryMobileの糞重さに辟易して Bootstrapに移行したのはいいけど、 結局それすら捨てて、最終的に オレオレCSSフレームワークに。 もうなにがいいんだかわからん。 信じられるのはコアjQueryだけ。
jQueryMobileはとても実用にならないのに 時々技術系のサイトで紹介されてて ああ記事書く人って実際使ってないんだなあって思った
>>859 どのようにするのか方法をお教え頂けないでしょうか?
お願い致します。
お前には無理
俺には無理
わかってるじゃん
864 :
Name_Not_Found :2012/08/15(水) 22:42:58.37 ID:lflABqjS
最新バージョンのJquery1.8を使用する検索システムでphpでmysqlに問い合わせた結果をajax処理し表示していますが、 クライアントPC(非サーバOS)のIE8でのみ、描画されるまでに非常に時間がかかります。 “clean:function"(2行目約70000文字列前)以降でやたら時間がかかっているのをIE8のデバッガを使用して確認しました。 他のバージョンのIE(6,7,9)では問題ないのでIE8が悪いのは承知しているのですが、 IE8で処理速度を向上するためにjquery側で何とかできる処理や確認すべき場所はありますでしょうか。 なお、時間がかかっても検索結果は正しく表示されます。 ご教示いただけたら幸いです。
>>864 70000文字って何だよ
人間が読めるバージョンのソースがあるだろう
867 :
864 :2012/08/15(水) 23:10:21.67 ID:lflABqjS
clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=0,t=[];〜〜から始まる一連の処理です。 処理の結果何らかのWhileを実行するようになるのですが、Whileに移動する際に IEのデバッガの読み込みが遅くなることから、そのあたりに特に時間がかかっているように見受けられます。
そういうことじゃないんだが
リミットかけてページングすればいいのに
>>867 jQueryには Minified と Uncompressed の2種類があって、
後者は人間が読みやすいソースになっているから、
そっちでデバッガを動かしたほうがいいのではないか。
ってことを
>>866 は言いたいんだと思うよ。
あと、1.8 は出たばっかりだし、メジャーバージョンアップなので
まだバグがあるかもしれない。1.8ではないと動かないということではなければ、
前のバージョンでためしてみるのもいいかもよ。
もしそれで違いが出るんなら、原因を突き止めて報告してやってちょうだい。
871 :
866 :2012/08/16(木) 13:33:40.09 ID:???
言葉足らずでごめんな スマホだと面倒で
>>871 一人を除いてみんな分かってるから大丈夫だ
873 :
js初心者 :2012/08/16(木) 15:31:50.10 ID:???
すまん誰かご教授いただきたいんだが、 $(function(){ $('.slider img:gt(0)').hide(); setInterval(function(){ $('.slider :first-child').fadeOut(4000, 'swing' ) .next('img').fadeIn(4000, 'swing' ) .end().appendTo('.slider');}, 5000); }); こんな感じでスライドショーしてるんだけど しょっぱなの画像だけ表示時間を早くする事って可能でしょうか?
874 :
864 :2012/08/16(木) 15:44:35.28 ID:???
失礼しました。 6116行目を指します。 jqueryのバージョンに関わらず遅いです。 原因はわかっていませんが、回避方法を模索します
今まで模索してなかったのかよ・・
モサク
innerHTMLまわりかな
prototype.js って死んだ?
>>873 $(function(){
$('.slider img:gt(0)').hide();
hoge();
setInterval(function(){ hoge();},5000);
});
function hoge(){
$('.slider :first-child').fadeOut(4000, 'swing' ).next('img').fadeIn(4000, 'swing' ).end().appendTo('.slider');
}
jQueryを使うようになってからPrototype.jsなど忘れてしまった
noconflictとか使ったことない
.icon、.textBoxの高さを読み込んで比較し、.iconが.textBoxより小さければ『a』、それ以外なら『b』を表示させるものです。 chromeのみif(boxLeft < boxRight)は反応しますが、elseに反応がありません。 どう改善すれば機能するでしょうか。お願いします。 <html> <head> <script type="text/javascript"> <!-- $(document).ready(function(){ $(".commentBox").each(function(){ var boxLeft=$(".icon",$(this)).height(); var boxRight=$(".textBox",$(this)).height(); if(boxLeft < boxRight){ alert("a"); } else{ alert("b"); } }); }); --> </script> </head>
883 :
882 :2012/08/18(土) 00:51:52.06 ID:???
以下続きです。 <body> <div class="commentBox" style=" min-height: 64px;_height: 64px; margin-bottom: 8px; position: relative;"> <p class="icon" style="float: left;"><img src="xxx.gif" width="64px" height="64px"></p> <div class="textBox" style="width: 566px; float: right;"> テキスト<br> テキスト<br> テキスト<br> テキスト<br> テキスト<br> </div> <br style="font-size: 0.1pt; clear: both; line-height: 0;"><br style="font-size: 0.1pt; clear: both; line-height: 0;"> </div> <div class="commentBox" style=" min-height: 64px;_height: 64px; margin-bottom: 8px; position: relative;"> <p class="icon" style="float: left;"><img src="xxx.gif" width="64px" height="64px"></p> <div class="textBox" style="width: 566px; float: right;"> テキスト </div> <br style="font-size: 0.1pt; clear: both; line-height: 0;"><br style="font-size: 0.1pt; clear: both; line-height: 0;"> </div> </body> IE6~で動作確認、FireFox動作確認。 google chrome(21.0.1180.79)でのみ動作しません。
jquery-cycleのスライドショーで縦画像はボックス内の左に配置されます。 これをセンタリングする方法を教えてください。 .jquery-cycle { text-align: center; overflow: hidden; } .jquery-cycle img { text-align: center; } どちらもうまくいきません。
chirpを動作させようとしてるのですが、
<script type="text/javascript" src="chirp.min.js"></script>
<script>Chirp({
user:'twitterのユーザー名',
max:5,
retweets: false,
replies: false,
templates: {
base: '<ul class="chirp">{{tweets}}</ul>',
tweet: '<li><p><a href="
http://twitter.com/{{user.screen_name}} " title="{{user.name}} ? {{user.description}}">
<img src="{{user.profile_image_url}}"></a> {{html}}</p><span class="meta"><time>
<a href="
http://twitter.com/{{user.screen_name}}/statuses/{{id_str}} ">{{time_ago}}</a>
</time> — via <a href="
http://twitter.com/{{user.screen_name}} " title="{{user.name}} ? {{user.description}}">{{user.name}}</a></span></li>'
})</script>
でツイートが表示されません。
templates以下を削除したり、
<script>Chirp('username')</script>
でスタイルシートを適用させない場合は表示されるのですが…
どうしたらスタイルシートを適用させつつ表示させられますか?
javascript質問スレから誘導されました prototype.jsを利用してクラスを作るとき、 一つのメソッド内で同クラスの他のメソッドは呼び出せないのですか? 他の言語、たとえばjavaなんかではできると思うのですが、prototype.jsの機能では不可能なのでしょうか?
>>886 スレ違いなんじゃない?
ここ、jQueryのスレだし
jQueryを例示してあるだけだから スレ違いじゃないよ
さっさと答えろよ、てめぇら。 役にたたねえバカしかいねぇのか?ここは
prototype.jsは素人用 prototype.jsすら使えないならプログラミングはやめとけ
>>886 普通に this.methodName() でだめ?
あぁ、そうか総合スレだもんな んじゃjQueryってキーワードは紛らわしいし抜くべきだよな ちなみにprototypeはオワコン
ライブラリ総合って書いてるんだから問題無いだろ。てか、オワコンだからなに? そういうことを語るスレじゃないだろうに。
役にたたねえレスばっかだな _i^i__i^i_ i^i ._i^i_ __, -―- 、___ |*||*| ∩___∩ i^i _i^i_ | | |@ll|(_/,,,, ,,,, ヽ_) 山で出会った時は |≡||≡|| ノ ヽ ([])|;□;|.(≡)|_| |● ● | とりあえず「こんにちわ」が基本だよな . 二二/ ● |二二( (二二二二 彡(_●_ ) ミ | ミ ) ) / ` ''∪'' / ヽ 彡、 _ノ Gノ'フ= ___ / /i ` ー '" iヽ | / ヽ / / | ! / / | | | .l. ..──|ヽ ヽ/─==i─Y-(_ノ──i二i───(⌒) ___ヽ /ヽノ └-┘ ┴ ..└┘ . ̄ | ___ i ̄ そうだよな。 いきなり銃向けられるって、どこのスラム街だよって話だよな
jQuery.skitterがcubeHideだけ動作しないんだけど、どう追っていったらいいでしょうか… 設置はマニュアル通りにしていて、変わったことはしていません
896 :
Name_Not_Found :2012/08/25(土) 15:56:41.91 ID:a6fSULcv
jqueryのaccordionで複数のイベントをセットするにはどのように書けば良いでしょうか? $( ".selector" ).accordion( "option", "event", 'mouseover' ); マウスを速く動かしすぎるとmouseoverが反応してくれないときがあるので、mouseoverとclickを同時に設定したいのですが。
jquery プラグインで、
○自動再生するスライドショー
○画像に対して、hover イベントで再生を一時停止できる
○左右の方向ボタンで再生方向をコントロールできる
ものを探してます。
動き的には、
ttp://logicbox.net/jquery/simplyscroll/ がベストなんですが、このプラグインは、自動再生モードでは、
方向をコントロールするボタンを表示できないんです。
上記の条件に合致するものを、誰かご存知ないですか?
自作や改造する方が早いことが多い
動き的にベストなものがあるなら、それを改造するのがよさそうだな
ソースもあるんだし真似することで上達もする
GPLだから改変は許可されてるな
ちょろっとソースみてみたけど、改造はややこしそうな気もする。 自動スクロールと手動スクロールが初期化の時から区別されてるから。 isAutoの場合分け多すぎや… やるとしたら、手動スクロールモードにして、定期的にボタンを押すイベントを発生させる。 hoverの時にそのタイマーを止める。 ぐらいかな。 でも、スクロール処理などのエッセンスだけ抜き出して、いちから作るほうが楽かもよ。
jquery cycleでbeforeもしくはafterでaudio再生させる方法ありますか? 音が鳴った後に写真が切り替わるようにしたいんです。 クリックにaudioを割り当てるスクリプトはありますが それをjquery cycle内に割り当てる方法がわかりません。
それはもうjQuery関係ないんで初心者スレ行って。
>>904 どこのサイトを見てもjquery cycle内のファンクションで
サウンドを鳴らす設定を書いているところがなかったので質問しました。
教えてもらえませんか?
だから初心者スレな内容だって。
>>905 jquery cycle内のファンクションでサウンドを鳴らす設定…以外のは見つかっているのかい?
たとえば色を変えるとかテキストを出すとか。
あれば、その部分を「クリックにaudioを割り当てるスクリプト」のaudioを再生している部分と
置き換えてみればいいのでは。
$(#904).sine()
音声の再生方法すら知らないんだろ? 消えろよ
>>908 ちゃんと文字列リテラルで渡さなきゃダメだろ。
$("#904")
sine()メソッドの有無は分からんが。
$("#904").sine() $("#904").cosine() $("#904").tangent()
914 :
Name_Not_Found :2012/09/07(金) 16:40:37.47 ID:J/l2+8lj
よろしくお願いします cssの特定のclassが指定してある要素(img)をクリックしたときにダイアログを開き、 次回以降(開いたダイアログを閉じたあと)はクリック動作を無効にさせたい(ダイアログを開かせない)のですが、うまく行きません $("#aaa img.finger").click(function(){ $("#dialogDIV").dialog("open"); $(this).removeClass("finger"); }) こんな感じでやっています。 removeClass("finger");が成功してるのは確認できています (fingerクラスでカーソルが指の形になるcssを指定していて、2回目以降は指にならない) なのに、クリックでダイアログが開いてしまいます 何が原因でしょうか?
$("#aaa img.finger") セレクタで対象を選択 .click(function(){ ... }) で対象のクリックイベントに引数で渡した関数を関連付け。 落ち着いて考えれば分かるはずだけど このコードでは、要素に関数を関連付けした後 class属性なんて関係ない。関連付けした関数を削除しろ。
>>914 .clickした後にクラスを変更しても全く関係ない。そもそも勘違いだね。
一行目をこう書き換えると、一回クリックするとイベントリスナが解除されるから意図した動作になるはず。
$("#aaa img.finger").one("click", function(){
一行目をこう書き換えると、#aaaのクリックを監視して、クリックされた部分がimg.fingerの時のみfunctionを実行するようになる。
$("#aaa").on("click", "img.finger", function(){
img.fingerが沢山有るとか、後から追加するとか言う場合はこっちの方がおすすめ。
確かにクリックされた要素のFingar要素は取れてるね。しかし、クリックされてない要素はどうだろう?
918 :
Name_Not_Found :2012/09/07(金) 18:36:23.64 ID:J/l2+8lj
某ブログのjQueryでポップアップさせる記事をもとに実践中なんですが
読み込み中のGIFが表示されるだけでなにも表示されません
すみませんが、画像や簡単なHTMLを表示できるようにお力を貸していただけないでしょうか?
ちなみにタグは何もいじらずそのままコピペで使用しています。
以下記事引用
↓
prettyPopin公式サイトからダウンロードできます。
http://www.no-margin-for-errors.com/projects/prettypopin/ prettyPopinの使い方
prettyPopinのスタイルシートとJavascriptを定義します。
<script src="jquery.js" type="text/javascript"></script>
<link href="css/prettyPopin.css" rel="stylesheet" type="text/css" media="screen" />
<script src="jquery.prettyPopin.js" type="text/javascript"></script>
ポップアップしたいaタグのリンクに対して「rel=”prettyPopin”」を定義します。
<a href="ajax/regular.html" rel="prettyPopin">Regular content</a>
prettyPopinの定義
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("a[rel^='prettyPopin']").prettyPopin();
});
</script>
エラーが出ていないか確かめる。 デモをダウンロードして、自分の環境にいれて確かめる。 よくあるのがローカルで動かしていたってのだが。
921 :
919 :2012/09/12(水) 18:29:14.98 ID:???
エラーは出ていないです。 ダウンロードしたZIPファイルにデモが入っているのですがそれも表示されておらず ローカル上でもサーバー上でも表示されませんでした。
その公式サイト上のdemoは動いてる? とりあえず、ダウンロードしたdemoは動いたよ。 もちろんローカル (file://〜 となる) では動かないけど。
923 :
919 :2012/09/12(水) 18:50:34.09 ID:???
公式サイト上のdemoは動いています。 ん〜自分の環境が悪いのですかねぇ・・・
もし自宅サーバなら、サーバ側のログを確かめるとか。 あと、ブラウザでもアクセスしているか確かめられるよ。chromeだとデベロッパーツールのnetworkタブ。
925 :
919 :2012/09/13(木) 00:10:48.44 ID:???
すみません あきらめます。 レスを返してくれた方、ありがとうございました。
表示すべきファイルが無いか PATH が間違えてるだけかと
チェックされた行だけテーブルから削除する処理を作りたいんですがうまく行きません。 テーブルは別htmlファイルにして<iframe id="news_list">で読み込んでいます。 ■index.html function delclick(){ var i = 0; while(i < $("#news_list").contents().find("#tb02 tr").length){ if($("#news_list").contents().find("form:eq(i)").attr("checked") == true){ $("#news_list").contents().find("#tb02 tr:eq(i)").remove(); } else{ i++; } } } ■Table.html <form name="chbox"> <table id="tb02"> <!-- ↓これがたくさん --> <tr><td><input type="checkbox"></td> <td><p>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</p></td> <td><p>2012/11/10</p></td> <td><p>AAAAAAAA</p></td> </tr> <!--↑これがたくさん--> </table> </form> ↓の処理が怪しいような気がします。何か間違ってたら教えて下さい。 if($("#news_list").contents().find("form:eq(i)").attr("checked") == true){
何で別ファイルのテーブルをそのまま操作できると思ったの?
んーとねー、わかんない。
怪しいような気がしますって何だ 処理1つごとに正しいか確認しろ
同一ドメインなら操作できるだろ とりあえずiは文字列リテラルから出さないとな
当方、CSS板で質問してJAVAスクリプトでないとムリだと聞いたのでここで質問させていただきます。 一辺100pxの画像(リンク入り)にマウスを乗せると、 その画像自体の真上に重なる形で下の画像を表示させたまま 一辺30pxの画像(別のリンク入り)を表示させることは可能でしょうか? もし可能ならば方法を教えていただきたいです。 ちなにみ下記のCSSで実行しようとしたところ、 動作はしますがそれぞれの画像に別のリンクを指定することはできませんでした。 HTML <div id="imgHover"><ul><li><a href="リンク1"> <span class="thumbnail"><img src="大きい画像.jpg" alt="sample image" /></span> <span class="mainImage"><img src="小さい画像.gif" alt="sample image" /></span> </a></li></ul></div> CSS #imgHover ul li { float: left; margin-right: 5px; } #imgHover ul li img { border: none; } #imgHover ul li a { display: block; } #imgHover ul li a:hover { position: relative; } #imgHover ul li a .mainImage { display: none; } #imgHover ul li a:hover .mainImage { display: block; position: absolute; top: 0; left: 0; }
ここはJavaScriptのライブラリに関する質問スレであって、 JavaScript(カタカナはやめれ)の総合的なスレは別なんだが
934 :
932 :2012/09/14(金) 14:31:46.17 ID:???
え!?板違いだったのですか・・・ ライブラリというのがよくわからなくて、すみませんでした。 ではこの質問は閉め切ります。
935 :
932 :2012/09/14(金) 14:37:50.46 ID:???
先ほどJavaScriptの質問用スレでもスレチと言われてしまいました・・・
向こうでのことは扱う技術に該当するしないとは少し別なんだが、 少なくてもこっちでは扱うことのできる話題ですらないので というかそれ、class名の付け方とかHTMLの構造も微妙だが、 やること自体はCSSで十分だからもうちょっとCSSで試行錯誤しなよ まぁ向こうの人もそれをわかっててスレチと言ったのかもしれないが
>>927 if($("#news_list", ここんところ).contents().find("form:eq(i)").attr("checked") == true){
上のここんところのところに iframeのwindowのdocumentを指定してやれば操作できる。
だが .find("form:eq(i)") のようなセレクタの書き方をしているようでは…
なぜ文字列の中の変数が展開されると思った?
まずは同一html内の操作から勉強したほうがいいと思う。
>>937 ありがとう御座います。
find("form").eq(i).attr("checked") という形で実装することが出来ました。
find("form:eq(i)").attr("checked")←こういう形じゃダメなんですね。
("#id名:first")みたいなソースを見ることがあったので同じ考えなのかと思いました。
後者がダメな理由を考えない限りお前は成長しない
創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね
Thickbox3.1というLightboxのようなライブラリ?を使っています。 YouTubeをthickbox内で開こうとすると、 常に2こ表示されます。 同じ動画が上下に2個並んでいる状態。 普通のHTMLや、静止画像ではこのような問題は発生しません。 どなたかThickboxをご存知の方、 解決策を教えていただけませんか? Firefox15, IE8, Safari5、Windows7で確認しています。
ソースを示せ
jQuery mobileのタッチイベントでその画像の位置をタッチしてるあいだは画像が消え(表示されない)、タッチをやめると画像が現れるようにするにはどうすればいいでしょうか? ちなみに初期の段階では画像はあります。 助言お願いします。
>>944 vmousedownでクラス追加、vmouseupでクラス削除とか
教えて欲しいんだけど、 ・jQueryで画像をスライドショー ・スライドショーする画像のサムネを表示 ・サムネの配置は自由にレイアウト可 こんな事ってできるかな?
できますよ
>>948 おはようございます。
よかったらリファサイト貼っていただけないでしょうか。
できないものはない
質問です。 jQuery UI などを使わずにjQueryだけで オブジェクトのドラッグ&ドロップってできますか? 多分可能だろうとは思うんですがすごく大変でしょうか?
>>951 できます。
そんなに大変じゃないです。
書き込んだ内容のキーワードで検索したらわんさか出てきます。
ドラッガブル
>>951 ありがとうございます。
ただプラグインを使う方法は見つかりますが、
事情があってプラグインが使えません。
ソース読みなよ
プラグインがあるのに再発明しろとかお前の実力を試されてるんだろ?
,,... ---‐‐‐‐ 、 ___ ./ ヽ 丶 . / /  ̄ / l: : : : : : : : : : : :.:.. l .../ / / |: : : : : : : : : : : :.:.:....|.../ / _/ |______;;;;;;;l .  ̄ ̄ ̄ |;';';';';';';';';';';';';';';';' ミミ| |;';';';';';';';';';';';';';';';' ミミ| ...|─ | | | / ___ |;';';';';';';';';';';';';';';';' ミミ| ._|_ | | / ____ / |;';';r'",==、、ヽ;';' ミミ| .l_/ / / /\ |;';i 〃 . iヽi;';' ミミ! ./ /\___/ヽ |;';| |丶__ノ l|;';';/f /'''''' ''''''::::::\ |';'| |Bull-Dog.||;';';| | + |(●), 、(●)、.:| + |;';|f゙ヽ^(⌒rつl|';';'| |./⌒) | ,,,ノ(、_, )ヽ、,, .::::| |;';|∞_ソY ◯゙゙).|';';'| | -')´ + | `-=ニ=- ' .:::::::| + |';'|´ ~~~ ~~|';';'| |._,.イ\ + \ `ニニ´ .:::/ + |;';| ブルドック |';';'| | .Tヽ , -r'⌒! ̄ `":::7ヽ.`- 、 ./| |;';| とんかつ. |;';';| | / ノ`ー-、ヘ<ー1´| ヽ | :::::::::::::ト、 \ ( ./ヽ |;';| `ノ ━ ス |;';';'| !__,./ i l.ヽ! | .| ::::::::::::::l ヽ `7ー.、‐'´ |\-、 ___________________________ __ │六│六│六│七│八│◎│◎│◎│七│七│八│八│九│|九| │萬│萬│萬│萬│萬│◎│◎│◎│萬│萬│萬│萬│萬│|萬|
958 :
Name_Not_Found :2012/10/07(日) 11:10:57.40 ID:UmryvlBm
初めて投稿させて頂きます。質問なのですが、家具・雑貨のフランフラントップページに使われている jQueryはどこに有るか知っていらっしゃる方はいますか? 私は全くの素人なのですが、友人がどうしてもHPを作っており、 どうしても知りたいとの事だったので博識な皆様!!クレクレで 申し訳無いのですが、ご教授頂けませんでしょうか?
日本語勉強してから出直してこいよ
ソースくらい読めよクズ
おすすめの開発環境おしえてください
んん?ソースを読めば分るんですか?
<<963に追記↓ ソースを読んで実装しているスクリプトが無かったそうです。
スクリプトがないわけがない ないのはお前のスキル
えぇ?!そうなんですか?? <script type="text/javascript" src="/jp/js/jquery.js"></script> <script type="text/javascript" src="/jp/js/swfobject.js"></script> <script type="text/javascript" src="/jp/js/thickbox.js"></script> <script type="text/javascript" src="/jp/js/general.js"></script> <script type="text/javascript" src="/jp/js/scrollbar.js"></script> <script type="text/javascript" src="/jp/home/index.js"></script> この中にトップ画像のアニメーションのスクリプトは見つかりませんでした スタイルシートに使われてる可能性は有りますでしょうか?
その友人が自分で聞きにこい
ソース嫁
ソース嫁
972 :
971 :2012/10/08(月) 17:02:10.87 ID:???
クレクレ君ってまさか /index.js をそのまま流用するんじゃないだろうね? 改めて質問って事はplugin使えないって言ってた人(>954)と同一人物?
流用するに決まってる 教えても無駄
var link = "<img src='/test/test_01.jpg'/>"; var $link = $(link); ってコードを書いて実行すると、 2行目の文字列をjQueryオブジェクト化するところで http通信のGETが呼ばれて、画像を読みに行くんだけど 通信せずに単純にjQueryオブジェクト化できんのかな? 使ってるjqueryは1.8.2。
普通に var link = $'(<img src="/test/test_01.jpg"/>'); じゃダメなの?
src以外の属性に入れておけば?
スライドショーのサウンド埋め込みをするため、プリロード用にこれ、 $.ajax({ url: "sound.wav", success: function() { //done } }); 埋め込みようにこれ jQuery('embed').remove(); jQuery('body').append('<embed src="sound.wav" autostart="true" hidden="true" loop="false">'); を書いたんですが、sourceを見るとbodyの最後に<embed src=...が書かれています。 これのせいなのか、サイトを読み込むと一番最後に音がなってしまいます、 ボディーの頭に<embed src=...を書く方法ありますか? またプレロード用のスクリプトの書き方はあってますか?
プレロードの方法は自分で探すとして アペンドするタイミングの話 HTML内での位置は関係ない
980 :
975 :2012/10/09(火) 10:00:41.01 ID:???
>>976 >>977 アドバイスありがd
YQL使ったクロスドメイン通信で、複数サイトのニュースなんかを
マッシュアップ(スクレイピング?)したページを作りたい
だけなんだけど、ajax経由でYQLの処理結果がxhr.responseTextに入ってくるんで
var $html = $(xhr.responseText);
ってやってるだけなんだよね。。。
この処理やるだけで、xhr.responseText内にimgタグがあるとhttpのGETが行われちゃう。
とりあえず、xhr.responseText内の全imgタグのsrc属性を、他の属性に変えるのはありかも
しれんので、試してみる。
977だけどjQuery側に何かあるかもね
おお、 jQuery( html, props ) こんな構文あるのか。 $('<a/>', { href: "#", text: 'a', click: function(){ alert('a clicked'); } }).appendTo("div"); こんな書き方ができるのね。