【jQuery】JavaScript ライブラリ総合質問所 vol.3
1 :
Name_Not_Found :
2013/05/25(土) 10:07:06.89 ID:BoKt9j14 JavaScriptライブラリ を自ら学ぶ人のための質問スレッドです。
■質問を書く上で
(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/ 前スレ:
【jQuery】JavaScript ライブラリ総合質問所 vol.2
http://toro.2ch.net/test/read.cgi/hp/1350728831/
2 :
Name_Not_Found :2013/05/25(土) 10:09:31.04 ID:BoKt9j14
復活したか
jQは使いやすくて、主にセレクタを指定するコードが短くでき、それはそれで魅力的なのだが、 チェーン(っていうのかな?)が超長くなって、うまくインデント+改行しないと読みづらくなるのが欠点だな。
jqMobi、軽くて早くていいんだけど jQueryのノリで使うと、いろいろハマる。 足りない機能も多く、仕様が微妙に違う点も多い。 jQueryと似て非なる独自のものと割りきって 個人プロジェクトで使うぶんにはいいかな。。。 仕事に使うと死ねる。
jQuery Mobile + mysql + php でユーザーマスタに登録した情報でログイン画面を作りたいのですが
どうにもうまくできません。いい方法ないですか。
現在login.php(jqm適用)にて認証行ってOKならmain.php(jqm適用)に以下記述で飛ぶようにしてるのですが
$login_url = "
http://{$_SERVER[ "HTTP_HOST"]}/test/main.php";
header("Location: {$login_url}");
上記の命令でページを切り替えるとjqmのページ遷移で移動しているようで、mein.phpに記述してある
jsのイベントが発生してくれません。何かいい方法はないでしょうか、お知恵を拝借したいです。
7 :
Name_Not_Found :2013/06/11(火) 23:18:20.72 ID:9j10H9zo
jsはクライアント側で処理する phpはサーバー側で処理する php(サーバー)で処理中にjs(クライアント)のイベントなんて発生しようがないと思うんやけどなぁ・・・ あやふやですいません
jQMのページ遷移は基本的に、すでにDOMとしてサーバからロードされている DIV要素をページとして扱うから、仕組みをきちんと理解してないとハマる。 ajaxページ遷移をオプション定義でOFFにしてやってみれ。 それでも解らなければ、jQMを使っても幸せにはなれないなら さっさと他のフレームワークに乗り換えるか自作するのが吉。
デフォajaxページ遷移OFF、必要なところをつけてできました。ありがとうございます ドーナツ本見ながらやっておりましてそのあたりの意識を全くしておりませんでした。再度勉強しなおします。
kaso
JQMのイベントに関する入門書はないかな デザインはよくみるけどイベントに関するあたりがあまり書いてなくて
【環境】jQuery 1.10.1 $.getScript(について教えてください。 外部スクリプトの読み込みが完了後のコールバック関数に 引数をもたせたいのですが、希望の値をわたすことができません。 お詳しい方どうかご助言をお願いします。 【サンプルコード】 ・メインのコード $(function(){ for(var i = 0; i < 2; i++) { $.getScript('test.js') .done(function(script, textStatus) { console.log(i); }); } }); ・test.js console.log('test.'); 【期待する結果】 test. 0 test. 1 【実際の結果】 test. 2 test. 2
>>12 それはどっちかっていうと、javascriptの質問スレ向けだけど
for ...
(function () {
var j = i;
$.getScript((....
.done(....
console.log(j);
});
})();
}
みたいな感じで
14 :
Name_Not_Found :2013/06/20(木) 03:42:53.58 ID:UZcDLX8U
JavaScriptが動作するかを判定するコードは見つかるのですが jQueryが動作するかを判定するコードが見つかりません。 入力フォームのクライアントチェックと送信処理をjQueryで行なっており、 JavaScript非対応であればクライアントチェック無しの 単純な送信コードに切り替えているのですが、 この場合、「JavaScriptは動作するがjQueryが動作しない」ブラウザで 送信ができません。 手元にあるフィーチャーホンのフルブラウザがそれに該当します。 jQueryが動作するかを判定する方法はありますか?
ない
jQuery.autopager
送ってしまった・・・
jQuery.autopager を
ttp://lagoscript.org/jquery/autopager を見ながら設定中なのですが
3ページ目以降の内容が 全て2ページ目と同じになってしまいます。
現在は $.autopager(); でoption は設定してないのですが、 startやload に
Aタグの内容を書き替える 記述とか 必要なのでしょうか?
Edge Animateのスレはないのか
それはどっちかっつーとオーサリングツールだろ
20 :
Name_Not_Found :2013/07/03(水) NY:AN:NY.AN ID:3Xb/AwLG
Basic jQuery Sliderというスライドショーのプラグインなんですが、 IE7以下だとスライドとその下にある数字の部分の間に40pxほどの隙間ができてしまいます。 原因は何でしょうか?
俺はIE7が原因だと思う
22 :
Name_Not_Found :2013/07/03(水) NY:AN:NY.AN ID:3Xb/AwLG
確かに。。。 表示を他のブラウザと揃える方法は無いでしょうか? 自分ではCSSをどういじっても隙間をなくすことができませんでした
IE7。。。IE6の次にCSS周りが呪われてる。
jQuery2系をみんなで使っていけばIE8以下を排除出来るはずだ!
25 :
Name_Not_Found :2013/07/05(金) NY:AN:NY.AN ID:xayVufoU
jQueryでとある<div></div>の中身(つまりHtml()メソッドで取れるもの)が、 テキスト<a href=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~></a>となっているとき、<a>以降の部分は切り捨てて、テキストだけ取得する方法はないのでしょうか?
26 :
25 :2013/07/05(金) NY:AN:NY.AN ID:???
text()でした
27 :
Name_Not_Found :2013/07/07(日) NY:AN:NY.AN ID:1jjZPqMd
SlideShare みたいに PDF や PPT ファイルを Web ページにそのまま埋め込めるライブラリってありませんか??
webサイトにFacebookのウォールを貼りつけました
参考にしたサイト:
http://fukuyama.co/fbwall 上記サイトの下部に「追記:本文が長いので抜粋したい」というカスタマイズ方法が掲載されております
ところが、この通りに実行して表示が「・・・」になるのはclassが.fb-wall-descriptionの部分です
本文に反映させるには.fb-wall-boxではないかと思うのですが、如何せんそこから先がわかりません
jsファイル(jquery.neosmart.fb.wall.js)は、
http://www.neosmart.de/social-media/facebook-wall/ からダウンロードしたものです
if(exists(data[k].description)){
thisDesc = modText(data[k].description);
if(thisDesc.length>299)thisDesc=thisDesc.substr(0,thisDesc.lastIndexOf(' '))+' ...';
output += '<span class="fb-wall-description">'+thisDesc+'</span>';
}
書き換えして試したのですが、うまくいきません
見本通りにやれるだけで、記述の内容はちんぷんかんぷんのレベルですが、何かしらのご教示を賜りたく
よろしくお願いいたします
fbやってないから知らないけど 「・・・」で省略したいならcssで要素のサイズ指定して text-overflow: ellipsis; とか使うといいんじゃないかな
30 :
28 :2013/07/14(日) NY:AN:NY.AN ID:???
>>29 レス、ありがとうございます
いろいろと試してみました
省略はできましたが、テキストが改行されません
文字数の指定で省略したいのですが難しいですね
31 :
28 :2013/07/15(月) NY:AN:NY.AN ID:???
その後の試行錯誤の結果、望む結果に至り、自力解決できました お騒がせしました
どうやったら解決できたのか、書いてくれると 他の人の勉強にもなってありがたいぞ
34 :
Name_Not_Found :2013/08/01(木) NY:AN:NY.AN ID:/sNemdvs
ブラウザの表示領域のいちばん上に位置する要素を、表示領域の一番下まで(ブラウザの下枠にくっつくまで) 移動させていくにはどうしたら良いでしょうか ページのコンテンツが現在開いてるブラウザの中に収まりきらないケースでも 逆に余裕で収まる(フッタ部分がスカスカ)のケースでも同様に動いて欲しいです <body> <div id="container">/*よくあるコンテンツのセンタ合わせブロック*/ <div id="hoge">これを下までアニメーションさせて移動</div> /*このへんにその他のコンテンツ*/ </div> </body> よろしくお願いします
36 :
Name_Not_Found :2013/08/02(金) NY:AN:NY.AN ID:IVxkxPJn
jQuery-UIを使わずに jQuery mobileとjavascriptのみで 「D&Dで並べ替え可能なlistview」って作れないでしょうか。 3日ほどググっていますが、 jQuery-UIを用いたものばかり見つかります。
37 :
36 :2013/08/03(土) NY:AN:NY.AN ID:???
jQuery-UIも使える環境だと分かりましたので
>>36 は取り戻しいたします。
ありがとうございました。
>>38 CSSの#headerに、
z-index: 999;
とか入れてみな
>>39 おぉ…出来ました!
ありがとうございます!
z-indexの意味もちゃんと理解しとけな
formをsubmitした時、トップページに戻ってしまいますが これを防ぐ方法はありますか?
submit処理がそもそもバグってんじゃね? ajaxで送信処理してから、location.hrefでページ制御するのも1つの手。
jQuery使えないから、 英語がわからないから って どこかの個人が作った ライブラリを使うのはやめなさい。 自分でできることだけしなさい。 できないなら出来るようになりなさい。
【環境】windows7 64bit home corome
【何をしたのか】下記。innerHTMLを勉強中
【エラーメッセージ】なし
【期待する結果】以下のコードでボタンを押した時に、id=test2のタグ内も、innerHTMLで内容を変更して"test_ok"と表示させたい。
id=test1の部分だと、上手くいきました。
また、これはスコープの問題なのでしょうか。
【サンプルコード】
<head>
<link rel="stylesheet" href="
http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css " />
<script src="
http://code.jquery.com/jquery-1.7.1.min.js "></script>
<script src="
http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js "></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form1').submit(function() {
$.ajax({
type: "POST",
url: "db.php",
dataType: 'Json',
data: "postdata",
error: function(retobj){ //普段はsuccessです。
document.getElementById("form1").innerHTML="form1_ok";
document.getElementById("test1").innerHTML="test_ok"
document.getElementById("test2").innerHTML="test_ok"
}});});});</script></head>
<body>
<div id="test2">test!</div>
<div>
<div id="test1">test!</div>
<form method="post" name="form1" id="form1"><input type="submit" value="送信"></form>
</div>
こんなんでどう?
とりあえず郵便番号検索してくる処理にしてみた。
<html><head>
<link rel="stylesheet" href="
http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css " />
<script src="
http://code.jquery.com/jquery-2.0.3.min.js "></script>
<script src="
http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js "></script>
<script type="text/javascript">
$(function(){$(document).on("click", "#btn_send", function(){
$("#btn_send").addClass('ui-disabled');
$("#form1 span.ui-btn-text").text("送信中");
$.ajax(
{async: true,type: 'GET',
url: '
http://api.postalcode.jp/v1/zipsearch ',
data: {"zipcode":" 1100006"},dataType: 'jsonp'})
.done(function( data ) {console.log("通信完了時の処理");
var address = data.zipcode.a1;
var town = address.prefecture + address.city + address.town;
$("#test2").text("test2_ok");
$("#test1").text(town);
$("#form1 span.ui-btn-text").text("送信完了");
$("#btn_send").removeClass('ui-disabled');})
.fail(function( data ) {console.log("通信エラー");})
.always(function( data ) {console.log("通信結果の可否に関わらず必ず実行される処理");
});});
});
</script></head>
<body><div id="test2">test!</div><div>
<div id="test1">test!</div><form method="post" name="form1" id="form1"><input type="button" id="btn_send" value="送信"></form>
</div></body></html>
>>48 ありがとうございます。
なんでうまくいくんだろう。
ChromeのJavaScriptデバッガとかを使って 動きを追ってみるといいよ
>>48 >>50 ありがとうございました。原因がわかりました。
<div data-role="page" id="page1">
<div data-role="content" data-theme="d">
<input type="text" name="hoge1" value="" />
<div></div>
<div data-role="page" id="page2">
<div data-role="content" data-theme="d">
<form method="post" name="hoge3" id="form1">
<input type="text" name="hoge2" value="" />
<input type="submit" name="btn" id="btn" value="送信">
</form>
<div></div>
となっている時、page2でsubmitをするとpage1が再読み込みされるため、
page1が変更されていないように見えているようです。(hoge1の内容は消える)
page2は再読み込みされません。(hoge2の内容は消えない)
page2で「送信しました」などのメッセージを出してから画面遷移しようと思います。
52 :
48 :2013/08/16(金) NY:AN:NY.AN ID:???
>>51 正解
あと、jQueryMobileのページは、1ページの構成に
お作法があるから、公式サイトなどのHTMLとjs初期化などを
参考にするといいと思う。
53 :
Name_Not_Found :2013/08/16(金) NY:AN:NY.AN ID:k0Ot496O
jQueryのbxsliderというギャラリーを使用しているのですが、 レスポンシブデザインに対応していて、 新しめのAndroidモデルでは正常に動作するのですが、 古いAndroid機種で動作しません。 動作させることは可能でしょうか? スクリプト部分 <script type="text/javascript"> (function($){ $(document).ready(function(){ $('.bxslider').bxSlider({ default: 5000, responsive:true, preventDefaultSwipeX: true, auto: true, slideWidth:1080 }); }); }(jQuery)); </script> html部分 <div id="keyimageArea"> <ul class="bxslider"> <li><img src="images/pc_key.png" /></li> <li><img src="images/pc_key2.png" /></li> <li><img src="images/pc_key3.png" /></li> <li><img src="images/pc_key4.png" /></li> </ul> </div> ビューポートの設定 <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
>>53 そもそも公式サイトのexampleがAndroid2.3では動かないね。
Android4.xなら動く。
bxSliderをAndroid2系で使うのがそもそも無理みたいだ。
>>53 ソースコード有るんだから、動かないなら
動かない原因ぐらい自分で追求しろ。
オープンソースでgithubで開発されてるんだから
開発者本人に聞けばいいじゃないか。
動かすように君が修正して
パッチを提供すれば喜ばれるぞ。
なんで使う技術がない奴が
無理に使おうとするんだろうかね。
はっきり言ってやろう、お前には
レスポンシブデザインのものを作る技術がない。
まぁそう怒りなさんなって。ここは総合質問所だし。 jQueryベースだと、各種プラグインを寄せ集めて コードもコピペでそれなりに動いちゃうから 最初の敷居が低いんだよね。 webデザイナーレベルでもそれっぽく作れちゃうのが現実。 でもやる気のある奴はそこから仕組みを学んでいくし ダメなやつはそこで止まるから、自然に篩い分けられる。 やる気のある奴が増えてくれればいいじゃないか。
いや、使う技術がっていうより、調べる技術が必要だね。 使う技術って言ったら誰でも最初は書けないし、使えるようになったって時間経てば忘れるよ。 JavaScript屋でもない限り。
58 :
Name_Not_Found :2013/08/19(月) NY:AN:NY.AN ID:NI1xZy23
すいません sharepointみたいな テーブルのフォーム作れて、あとからフォームをエクセルみたいなのに落とせるライブラリってありますか?? sharepointは重いので似たようなやつを使いたいんですが
60 :
Name_Not_Found :2013/08/21(水) NY:AN:NY.AN ID:P8nRpNWN
61 :
Name_Not_Found :2013/08/21(水) NY:AN:NY.AN ID:N7R7t99+
Gets!!! (ほんとにあった怖いコード in jQuery)
http://orgachem.hatenablog.com/entry/2013/08/21/030244 いやーこれはひどいw
> Gets???もう、もう意味が分からないです。いったい何をGetsするんですか。
ソースコード読んでますか?
この関数はコレクションに値をset/getする関数ですよ?ってコメントに書いてますよ?
おなじみの、引数があればsetterとして、なければgetterとする関数です。
上にset valueって書いてあるじゃないですか? getsは当然get valueのことでしょう。
このコードはそもそもvalueを読み書きするもの。汎用的なものなので
具体的なvalueが何かはわからない。だからvalueって書くしかない。
valueの読み書きなのは関数のコメント見りゃわかる。なのでvalueを書くまでもない。
ただ、どの部分がsetでgetなのかはわかりにくいから書く必要がある。
> 引数が7つもある香ばしい仕上がり。Multifunctionalにした結果がこれだよ!
はい全然違います。getとsetを分離した所で、引数の数は変わりません。
むしろ重複コードが増えます。重複させない限り分離できません。
自分ならどうコードを書くか、せめて頭のなかで書いてみましょうね
> これがJSで最も有名なライブラリか……誰か助けて…
こんなくだらない点しか指摘できない。さすが有名なライブラリ。
id:devorgachem えらそうにw
62 :
Name_Not_Found :2013/08/24(土) NY:AN:NY.AN ID:Ek6ZXAWv
バカスレw
うるせ〜
64 :
Name_Not_Found :2013/08/30(金) NY:AN:NY.AN ID:bZBN9dHX
ウインドウの任意の座標上にある(レンダリングされている)オブジェクトを イテレーションを使わずに取得することって出来ますか? 具体的には、$('.any') で選択できるオブジェクトが1000個描画されているとして、 x = 50, y = 200 という座標に重なっているオブジェクトを取得するというイメージです。 $('.any').each() などのイテレーションを使いたくない理由は 単純に検査する対象が多いためです。
65 :
Name_Not_Found :2013/08/31(土) NY:AN:NY.AN ID:u6u/Eake
JQuey Mobileなんだですけ下記コードでスライダーを手動で構築したらバグなのか きちんとスライダーが表示されない。 win7 crome29 $(document).on("mobileinit", function(){ $.mobile.ignoreContentEnabled= true; $(document).on("pagebeforecreate", function(){ $('input[type=range]').slider(); }); }); <form action="" method="get"> <div data-role="fieldcontain"> <input type="range" data-enhance="false" data-highlight="true" min="1" max="99" value="1"/> </div> </form>
|::::::::::::::: ∧_∧:::::::::::: __ (´・ω・`) :::::::: すみません、ここでうんこしていいですか? ◎ー) / \::::::::: | | (⌒) (⌒二 ):::::::::::: ~~~ /⌒ヽ( ̄、 ヽ___ / Lヽ \ノ___ ゙ー―――(__)---
聞く前からもうしとるやないか!
68 :
Name_Not_Found :2013/09/02(月) 21:36:21.80 ID:ELeNPZ8T
$.ajaxを実装したところ $が読み込めない、または無いというメッセージがエラーで出ました でも、それはFirefoxだけのこと IEやChromeでは動作します 外部ファイルのjsファイルが読み込めてないのでしょうか? ご助言お願いしますm(_ _)m
ソースも無いのに助言も何もないわ
>>64 どれが該当するか分からないものをイテレート無しでポンと抽出出来るわけねーじゃん
jsでそれが出来るなら既にdbのチューニングとか不要の世界になってる
>>68 jsファイルが読めてないとの疑惑があるんなら調べてみれば良い。
DeNAのarctic.jsももう更新しないらしい(働いてる人が他のライブラリ進めてきた) arctic.jsに似たライブラリありませんか?
74 :
Name_Not_Found :2013/09/03(火) 21:48:10.46 ID:jOkUNqXM
68です Firefoxのキャッシュをクリアしたら表示されました 解決に2時間ぐらいかかってしまった・・・ JavascriptとかjQueryの問題外でした ご迷惑をおかけしました
|::::::::::::::: ∧_∧:::::::::::: __ (´・ω・`) :::::::: すみません、ここでうんこしていいですか? ◎ー) / \::::::::: | | (⌒) (⌒二 ):::::::::::: ~~~ /⌒ヽ( ̄、 ヽ___ / Lヽ \ノ___ ゙ー―――(__)---
JavaのバイトコードをJSで再生できるライブラリ知りません?
バイトコードの仕様が公開されていればライブラリは存在する
バイトコードの仕様は公開されていますがライブラリが見つかりません
bootstrapのmodalは上から降りてきますが、 すこし演出過多な感じがするので単なるフェードインアウトにしたいです しかし出現の仕方のオプションはありません どうすれば出来ますか?
バージョンぐら書いてもらわないと
バージョンは3です
オプションがないから自作するしかないのでは?
旦那33歳 を気持ちよくさせたいんですが、良い案が浮かびません。 みなさんは、どんな攻められ方が好きですか?
尿道につまようじ
空行いれてんじゃねえよみずれえだろカス
$("#goma").click(function(){ $("#goma").toggleClass("shio"); }); --------------------^-------------------------- .shio{background-color:blue} これが全く機能しないんですけどなんででつか?
すいません、わかりました #gomaの背景色が優先されてることに気づいてなかった !importantで解決しました
92 :
Name_Not_Found :2013/09/08(日) 01:53:07.43 ID:w99mZ47e
!importantは使うな。
#goma.shio でいいやん
ページ中の特定の要素を指定した要素に置換する方法を教えてください
parent()で親要素とって、そこを起点に 置換したい子要素をreplaceWith()かな とにかく親要素の指定が重要
bootstrapのmodal-headerって太すぎないですか? 設定ウインドウを作ったのですが、 画面中で最大の文字で「設定」って そんなこと言わなくても分かるだろ!って思えます どうやってますか?
97 :
Name_Not_Found :2013/09/09(月) 02:59:46.16 ID:yfANjY1q
bootstrapを使う=bootstrapのデザインに従う。 自分の気に入るデザインを求めるのなら bootstrapを使っては駄目だ。 ということで、俺はbootstrapは使わん。 あれはクソフレームワークだからな。
>>94 ,95
jQueryかな。
質問者の意図としては $(特定の要素).after($(指定した要素)).remove();
ってことじゃね? beforeでもいいけど。
99 :
98 :2013/09/09(月) 03:05:35.00 ID:???
あ、いや、$(特定の要素).replaceWith($(指定した要素)).;でいいのか。
bootstrapのどのへんがクソですか?
見た目的に「あ、Bootstrapで安直に作ってんのね」って思われるところとか
あんい〜
103 :
sage :2013/09/10(火) 14:03:42.12 ID:PEsKJ+Jj
すみません。独学でjquery勉強中のものです。 どうしても行き詰ってしまい、どなたかご教授いただければと。 非同期で読み込んだ(pushstate.jsというものを使用)中の aリンクを無効(click(fun....return false;にて)化したいのですが、 無効化されません(本来はプラス別の命令も走らせますが、まず無効化自体しなくて。。)。 preventDefault()にしたりスクリプトの読込み順を変えてみたりしましたが、 駄目で、2日ほど足踏み状態です。 どなたか、なにとぞなにとぞよろしくお願いいたします。ははぁm
104 :
103 :2013/09/10(火) 14:06:23.46 ID:PEsKJ+Jj
はぁぁぁあ、すまにゅ。あげてMOTA
まずコードをここに書くか
>>1 に書いてあるコード投稿サイトに貼り付けましょう
お前が書くコードなんて誰もが書ける
106 :
103 :2013/09/10(火) 14:43:11.97 ID:PEsKJ+Jj
105様 なにとぞ、よろしくお願いいたします。 <script src="js/bigvideo.js"></script> <script src="js/pushstate.js" type="text/javascript"></script> <script> $(function(){ $('#nav_a img').hover( function(){ $(this).fadeTo(400, 0); }, function(){ $(this).fadeTo(400, 1.0); } ); }); </script> </head> <body> <div id="containar"> <div class="aa"><a href="aa.html">aa</a></div> <div class="bb">bb</div> <ul class="sub_menu1"> <div class="cc"><a href="cc.html">cc</a></div> <div class="dd"><a href="dd.html">dd</a></div> </ul> </div>
107 :
103 :2013/09/10(火) 14:45:35.23 ID:???
<div id="contents"> <div id="section"> <h1>のほののの</h1> <div class="ee"><a href="dd.html">dd</a></div> <script> $(function() { $(".ee a").click(function() { return false(); $(".dd a").click(); }); }); </script> </div> </div> <script> $(function() { var BV = new $.BigVideo(); BV.init(); BV.show('video/4stand_by_me_preview.mov.MP4',{doLoop:true}); }); $('.sub_menu1').hide(); $('.profile').click(function(){ $('ul.sub_menu1').slideUp(); if($('+ul.sub_menu1',this).css('display') == 'none'){ $('+ul.sub_menu1',this).slideDown(); } }); </script> </body> </html>
糞コード晒してんじゃねーよ、ハゲ
jQueryのajaxのcompleteってどういう時に使うのですか?
ここで聞くより、公式のAPIドキュメント読んだ方が例も載ってて役に立つと思う
>>106 まずは構文エラーをなくそうぜ。
遷移してしまうから気づいてないんだろうけれど。
まずは、そうだな href="#" で試せ。
エラーがコンソールに出なくて、URLに # がつかなかったら成功だ。
せーなー
113 :
106 :2013/09/13(金) 01:04:16.17 ID:???
>>111 仰るとおり、構文エラーから直して進めていくとできました。
ありがとうございます。
重ね重ね、もうしわけないのですが
href="#" とか a href="javascript:void(0)"
はあまり使わないほうが良いとどこかで耳にしたのですが
実際のとこはどうなんでしょうか?
google+とかで使われてる 下スクロールだとついてこないけど 上にスクロールすると出てくる上部のナビゲーションバー みたいなののプラグインとか無いですか?
質問させてください。 <html> <head> <title>test</title> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <div style="height:3000px; width:3000px;"></div> <script> alert($(window).width() + " " + $(window).height()); //1663 3016 alert($(window).innerWidth() + " " + $(window).innerHeight()); //1663 3016 alert($(document).width() + " " + $(document).height()); //3008 3016 正常 </script> </body> </html> 19インチワイドのディスプレイ(画面解像度1680x1050)を使っています。 ウインドウのサイズを取得したいと思い、$(window).height()などを試してみました。 widthは正常な値が返ってくるのですが、heightに関してはスクロールの先の部分までの値が返ってきてしまいます。 ウインドウのサイズを400x400くらいにすると、widthは400くらい、heightはやはり3000を超える値が返ってきます。 ネットを見てると、この書き方で問題なさそうですが、なぜかうまくいきません。 何か原因として考えられるものがあれば教えてください。 よろしくお願いします。 【ブラウザ】Chrome, Safari, Firefox 最新版 【jQuery】1.10 1.9 1.8
116 :
115 :2013/09/13(金) 13:08:47.92 ID:???
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> 他の人のページを参考にこの辺をコピペしてみたら正しく表示されました・・・。 失礼しました。
それ、1.7.2 あたりだとDOCTYPEがなくても正常な値が取れるね。 そのへんのリリースノートを見れば書いてあるかも。
bootstrapがdropdownを開けた時にclickイベントを止めているみたいで、 後方のハンドラまで届きません 仕方なくmousedownで受けるようにしたのですが そんなものでしょうか
>>117 うん。そのぐらいの頃に
互換モードのサポートが終わった。
jQueryはもとから互換モードのサポートなんか
してなかったんやと言っているが、
実際は途中まではコードが入っていていた。
今は標準モードじゃないと正しいサイズが取得できない。
>>118 bootstrapに柔軟性は求めるな。
あれは、bootstrapアプリを作るための
拡張性のないフレームワークだ
Bootstrapで作られてるサイトってすぐ判るよな。 ま、あれで要件満たせるならいいツールだよ。 予算無いプロジェクトなんかは、こういうツール使いがちだけど 客は予算無いくせにあれこれ要件増やそうとするが。
122 :
Name_Not_Found :2013/09/17(火) 03:28:56.17 ID:t3qAbdwM
ドラゴンクエストのワールドマップみたいな 画像を上下左右どちらもスクロールすると 無限ループするにはどうすればいいでしょうか?
その手の質問は、ゲーム制作板だな。 ここじゃスレ違い。
どんどん継ぎ足せばいいんじゃね
125 :
Name_Not_Found :2013/09/19(木) 00:29:05.98 ID:+AqKl74P
すいません、質問です。 Android端末上でドロップダウンのセレクトリストまわりのタップイベントについて、セレクトリストをタップし、 ポップアップ(中央に一覧表示、その他は薄暗く暗転)表示されたリスト項目で、 ・既に選択済みの項をタップした時、 ・ポップアップ表示された箇所以外(暗転している箇所)をタップした時、 この2件のタップイベントを取得するにはどうすればよいのでしょうか? 本来なら $("select").bind("tap",function(){ 「タップされた時の処理」 )): のような形でいけるはずなのですが、上記二件の場合が分かりません。 よろしくお願い致します。
});
わろた
128 :
Name_Not_Found :2013/09/22(日) 08:25:54.92 ID:lt+Mb0t+
質問です。
やりたい事:2枚の画像(サムネイル)を一定間隔で切り替えたい(フェードイン/アウト等の効果アリで)
条件:
・HTML側のタグ構造の変更不可(←探したプラグインだとここがネックになりダメでした)。
・2枚の画像を切り替える×40箇所の為、ID直下指定でないといけないプラグインは不可。
・切り替わり方にアニメーションを指定できるとベスト。ただのフェードでもまあOK。
・それぞれの切り替え間隔が一定であり4秒くらいにできる
プラグインを使わずに無理やり書いた書き方が以下です。
▼これだと2回目くらいから切り替わりの時間の間隔がおかしくなります。。
<script src="
http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js "></script>
<script>
setInterval(function(){
$(".oya li a span img:nth-child(2)").fadeOut(2000);
},4000);
setInterval(function(){
$(".oya li a span img:nth-child(2)").fadeIn(2000);
},8000);
</script>
129 :
Name_Not_Found :2013/09/22(日) 08:26:52.16 ID:lt+Mb0t+
続き ■CSS .oya span{ display:block; position:relative; height:120px; } .oya li a img { position:absolute; top:0px; left:12%; } ■HTML(phpで取得している、クラス名は書き替えできるができるだけタグは書き替えたくない) <div class="oya"> <ul> <li> <a href="#"> <span> <img src="1.jpg"> <img src="2.jpg"> </span> </a> </li> </ul> 宜しくお願いいたします。
setIntervalの使い方がおかしい。 setIntervalやsetTimeoutは、擬似的なスレッド処理みたいになるから setInterval(function(){ $(".oya li a span img:nth-child(2)").fadeOut(2000); },4000); setInterval(function(){ $(".oya li a span img:nth-child(2)").fadeIn(2000); },8000); みたいに並べても、最初のsetIntervalを実行後、すぐに次のsetIntervalが 実行される。一見並列処理みたいになるんだよ。 setInterval(function(){ $(".oya li a span img:nth-child(2)").fadeOut(2000); setInterval(function(){ $(".oya li a span img:nth-child(2)").fadeIn(2000); },4000); },4000); みたいなコールバックをうまくつかって頑張れ。
4秒おきにsetIntervalしちゃダメだろw無限に増えちまうw
132 :
128 :2013/09/22(日) 13:28:27.08 ID:lt+Mb0t+
>>130 おかしいとこのご指摘、ありがとうございます。
でも
>>130 で記述してくださった方法で試したのですが、
やはり2回目以降の繰り返しが1秒くらいの間隔で切り替わってしまいます。
(最初の2回くらいまでは4秒くらいなのですが。。)
見ての通り、jQueryには弱いので、そもそも方法がおかしいのかもしれません・・
jQueryの記述は根本から変わってもよいので宜しくお願いいたします。
>>132 こんな感じでどうだい?
(function(){
var fadeOut=true;
setInterval(function(){
if (fadeOut) {
$(".oya li a span img:nth-child(2)").fadeOut(2000);
fadeOut=false;
} else {
$(".oya li a span img:nth-child(2)").fadeIn(2000);
fadeOut=true;
}
},4000);
})();
答える方もちゃんとしたコードを書いてくれ。 (function runIt() { $(".oya li a span img:nth-child(2)") .fadeOut(2000).delay(2000) .fadeIn(2000).delay(2000) .queue(function(next) { runIt(); next(); }); }()); 長ったらしい「$(".oya li a span img:nth-child(2)"」が 二回も出てる所をどうにかしようと最初に考えてくれ。 コピペ禁止
>>135 はスクリプトの実行タイミングを考えないと動かないし、
要素が途中で増えたりするのに対応できないな。
>>133 は".oya li a span img:nth-child(2)"が2回でてくるのが冗長なら
文字列として変数にでもいれておけばいい。
>>130 はいろいろ問題外w
>
>>135 はスクリプトの実行タイミングを考えないと動かないし、
スクリプトの実行タイミングってなんだ?
それは$()のことか? なら問題の範囲外だろ。
> 要素が途中で増えたりするのに対応できないな。
そんな条件は出てないし、
それをいうのなら、他のやつだって、
要素が途中で増えた場合に対応できない。
必死すぎなんだよお前w
要素が途中で増えるのなら、増やした時に、 (function runIt(obj) { $(obj) .fadeOut(2000).delay(2000) .fadeIn(2000).delay(2000) .queue(function(next) { runIt(obj); next(); }); }()); runIt(".oya li a span img:nth-child(2)"); runIt(増やした要素) を呼び出せばいい。 もとがいいから簡単な修正で柔軟性あげられるぞw
>>135 ってDOM構築後に実行しないと動かないじゃん。$()で囲めばよいわけだが。
あと
>>138 みたいなDOM変更後の処理が必要になってしまうわけだね。
>>133 のはDOM構築前に実行しておいても問題ないし、
毎回jQueryオブジェクト作ってるからDOMの構成が代わっても問題無く動くんだよ。
別にどっちが良いっていうつもりは無いけどね。
毎回jQueryオブジェクト作るもの多少負荷がかかるし。
>>139 >
>>135 ってDOM構築後に実行しないと動かないじゃん
setIntervalでも同じじゃんw
2秒後にDOM構築が終わってない場合は動かない。
そもそも何を使っても、DOM構築が終わってないと
動かないんだが、お前は何がいいたいんだ?
setIntervalを併用するならば
>>135 だって動くわけで、
コードがクソだって言われているのは、
setIntervalの中のコードだって理解してないの?
> DOM変更後の処理が必要になってしまうわけだね。
DOM変更する処理の次の行に入れればいいだけじゃん。
DOM変更するんだろ? ならばその処理が有るだろ?
だいたいロジックが特定のセレクタに依存してる時点であり得ないし
お前、センス無いよ?
141 :
128 :2013/09/22(日) 17:46:58.35 ID:lt+Mb0t+
色々なやり方やDOMについての説明や意見が聞けるので とても有り難いです!
>>140 >>133 はどんなタイミングでもいいので1回実行すれば、
スクリプト実行後かつDOM構築後に動作する
>>135 はDOM構築後に1回実行すれば、それ以後動作する
まずは、この違いを理解できない?センス以前の問題じゃね?
>>142 いやさ、だからどのタイミングでも動くようにするってのは
条件にあった? DOMが変更するなんて条件にあった?ないだろ?
勝手に条件つけるなよ。
それにそんな条件があるのなら、
setIntervalを使うとかするだけの話だろ。
簡単な修正でおわる。
後付で条件つけるなら、
>>133 はセレクタが変わった場合に
対応できないだろ。っていうぞ?
アニメーションがもっと複雑になった場合に修正が大変だっていうぞ。
>>138 はセレクタが変わっても大丈夫だし、アニメーションも
増やすならメソッドチェーンに追加すればいいだけ。
センスが無いっていうのはない。
今回の場合にしか使えず、条件が変わると修正が多くなるような
コードを書くやつのことを言うんだ。
訂正 センスが無いっていうのはな、 今回の場合にしか使えず、条件が変わると修正が多くなるような コードを書くやつのことを言うんだ。
145 :
128 :2013/09/22(日) 18:12:17.33 ID:lt+Mb0t+
参考になるかわかりませんが、やろうとしている事を全て書きます。 ■目的 テーブルで6つの画像(各1.jpg)と各テキストが配置してある別ドメインのページ×5を 読み込んで各2.jpg(1.jpgと同じディレクトリ)も読み込んでリデザインする です。 やっていること phpで5ページの内容を取得→table関連のタグを除去→ulとliに変換 (↑ここまでがPHP) 1.jpgをjQueryでクローンを作成し2.jpgに変換→2つのjpgの親要素をjQueryで 生成(spanタグ)→CSSのposition:absoluteで重ねる→ jQueryのフェードで上に重なっている方をfadeOut/Inで切り替えたい。 以上です。。 どこまでをphpでやってどこからをjQueryでやっていいのかについてアドバイスあればお願いします
setIntervalの使い方がおかしいと言いながら
setIntervalの使い方を完全に勘違いしてる
>>130 が笑えるwww
>>145 別にどちらをPHPでやってJavaScriptでやるかは自由だけど、
大別するならば、UI部分をPHPで生成するか、
JavaScriptで生成するかだね。
UI部分をPHPで生成するならばそのやり方。
JavaScriptで生成するならば、PHPからはJSONで
URLのリストを返して、jQueryで整形する。
まあ、そこまでのやり方が違うだけだ。
フェードに関しては独立した処理で、
こうすればいいんじゃね?
$('.overlay').each( function runIt(){
$(this)
.fadeOut(2000).delay(2000)
.fadeIn(2000).delay(2000)
.queue(function(next) {
runIt.call(this);
next();
});
});
>>139 横からですまないけど、
>>133 のコードを$()で囲まずに実行したとして、仮に実行の4100ms後にDOM構築が完了した場合img:nth-child(2)が7900ms間表示され続けることにならない?
だとしたらそれは期待する動きではないと思う。
結局
>>133 も
>>135 も$()で囲まずに実行させる前提を語るのはおかしいと思うんだ。
指摘が間違っていたらごめんなさい。
>>138 って元からある要素と増やした要素のフェードインアウトのタイミング一致する?
セレクタ変更とかの場合に変更前のタイマーの解除とかいらんの?
> 元からある要素と増やした要素のフェードインアウトのタイミング一致する? 一致させるという条件はでていない。 一致させたくないかもしれないだろ。 なんでこう自分の都合のいいように考えるかなw 何も条件がないなら、そこはどうやったっていい。
>>148 > 結局
>>133 も
>>135 も$()で囲まずに実行させる前提を語るのはおかしいと思うんだ。
囲むぐらいだれでも出来るだろw
それに俺は、(サンプルプログラムだから)
HTMLの最後の方にスクリプト書いてるので
今は$()使ってない。
>>149 フェードインしている途中で要素が増えた場合の動作、
ちゃんと考えましたか?
質問者がつけてない条件を自分で勝手に追加して苦しむのなら
とことん苦しんでくださいねw
YAGNIでぐぐれ。
>>152 >>138 がセレクタ変更に対応できると言っているのはのはあなた自身だと思うのですが
変更した場合に元のセレクタに対するタイマーの停止は必要ないのですか?
自分はqueue()の仕様はよく知らないのですよ
>>152 >>133 のことについて言ってるのなら、フェードイン中に増えた要素は、
次回のフェードアウトから参加なんじゃないの?
155 :
148 :2013/09/22(日) 19:23:46.13 ID:???
>>151 そりゃそうだ。指摘するなら「$()で囲まず」でなくて「DOM構築前に」だね。
野暮な指摘ですまなかった。
>>153 > 変更した場合に元のセレクタに対するタイマーの停止は必要ないのですか?
タイマー使ってないのに、タイマー停止ってなんのこと?
コードちゃんと読んでる?
>>156 タイマーと言うとわかりにくですかね
元のセレクタのオブジェクトに登録した .fadeOut(2000).delay(2000).〜 は
新しいセレクタに登録したものと平行して動き続けてしまうのではないですか?
という危惧です
なるほど放置なのですね 自分としては意味の無いコードが定期的に動き続けるのは好ましく無いと思います
>>159 意味不明。
要素が存在していれば、動いて当然だし
要素が存在していなければ、勝手に停止する。
setIntervalはもっと悪くて
自分でキャンセルしない限り要素がなくなっても
動き続ける。
あ、もしかして勘違いしてた?
setInterval使って書いた、
>>133 に
言ったんだね?
161 :
Name_Not_Found :2013/09/23(月) 07:17:31.09 ID:JFV7p1FB
バカスレw 死ねゴミ共がw クズw
162 :
Name_Not_Found :2013/09/26(木) 00:25:56.76 ID:wK/wru8L
トラバース系?の質問です。 タグで囲われていないテキストをjQueryで選択する事は可能でしょうか? 例:テキストBにだけCSSで効果を付けたい <div class="box"> <p>テキストA</p> テキストB <a href="#">テキストC</a> テキストD <p>テキストE</p> </div> ※テキストDには効果は付けたくない 宜しくお願いいたします。
165 :
162 :2013/09/26(木) 01:44:57.53 ID:wK/wru8L
underscoreにクラス拡張の関数はないのですか?
bootstrap3で、 横に長いボタンにドロップダウンメニューをセットしています 横に長いので、メニューの表示位置が左ぞろえだと、 場合によってはマウスと位置が離れているので、 マウスの下に表示したいと思います それをするにはドロップダウンメニュー表示時に コールバックを設定できればいいと思うのですが、 そういうことは可能でしょうか?
jquery.flatheights.jsなどjQueryでボックスの高さを 一番高いものに揃えるスクリプトはいくつかありますが、 特定のボックス(例えば#box1や.box1)の高さに合わせる方法を ご存知ないでしょうか。 #box1が一番高くなくても他は#box1に合わせるというイメージです。
168の件ですが show.bs.dropdownハンドラで表示直前でハンドリングは出来ましたが そこから位置をずらす方法が分かりません show.bs.dropdownで検索しても情報が世界的規模でほとんどないのです・・
>>168 の件ですが
ポップオーバーは単にコンテナクラスにopenを追加して表示・非表示を切り替えているだけなので
ハンドラ中でメニュー要素のleftを設定すればいいだけでした
ありがとうございました
どういたしまして。 お役に立ててよかったです。
show.bs.dropdownのbsは何の略ですか?
HTML5のindexed databaseに保存されている値を参照して ajaxのプルダウンメニューの絞込みは可能でしょうか?
175 :
Name_Not_Found :2013/10/03(木) 01:33:02.23 ID:FZrDAw1t
クロスドメインで.ajax()できるサンプルどこかにないでしょうか。 検索して出てくる奴はなぜかできない・・
>>175 ちょうどこの間やったから飽きるまで付き合ってあげるよ。
まずもしFirefoxを使っているのであればChromeを使おう。
Chromeの方がクロスドメインのエラーログがわかりやすく表示される。
それでどういうコードを実行した?そしてどうなった?
drag and dropでファイルをアップロード後、その画像をブラウザ内でdrag and dropで移動させたい んですが、何か方法ありますかねー ファイルのアップロードにはdrogzone.js、その後のブラウザ内移動にはjQuery uiを使おうとしてるん ですがうまくいかず、、 そもそもアップロードした画像をそのままドラッグできないような気が・・ js詳しい人教えて下さい、;
179 :
Name_Not_Found :2013/10/04(金) 02:14:19.18 ID:SjODL5Da
jQueryプラグインとして使えるテンプレートエンジンはどれがが良いですか? 検索したところjquery.tmpl.jsがjQuery公式のようですが開発が止まっていたりドキュメントがあまり整備されていないようです。
180 :
175 :2013/10/04(金) 08:34:55.39 ID:pAztGO9I
>>177 ありがとうございます!
忙しくなり返事が遅くなってすいません!
もうちょとだけ時間くださいorz
181 :
698 :2013/10/04(金) 11:05:27.93 ID:???
Jquery1.8を使っています $.ajaxをつかって、if-modified-sinceを設定しているのですが、 何故か送信できません なぜでしょうか? 通信内容はChromeのデベロッパーツールを使っています $.ajax(hoge)みたいになってて、hogeに設定しています
ひぃ、別スレの名前が あと、通信内容はChrome〜というのは、 通信内容の確認は、です
>>181 if-modieied-sinceはクロスブラウザ通信と関係無いでしょ。
なるべく最小限にしてからやれ。
あとちゃんとどうなったか書け。
184 :
181 :2013/10/05(土) 02:22:55.59 ID:???
クロスブラウザ通信? 上の方とは別人です! chromeで確認して、送信Headerにif-modified-sinceが入ってないので、 結果といっても、入っていませんとしか・・・ あ、一応サーバー側でそれを取得しようとしてもnullになる くらいです
紛らわしいw
186 :
Name_Not_Found :2013/10/05(土) 21:43:40.36 ID:hS0GIzvb
187 :
Name_Not_Found :2013/10/05(土) 22:26:16.40 ID:HbDuN3cP
今、スポットがあたっているのは、javascriptですか? なんかandroidアプリの制作にもjavascriptが使われているみたいだから
なんかchromeでいきなりbootstrap3のボタンの一部が縦長になりました chromeのバージョンアップのせいかと思うのですが他の人はそんなことないですか?
>>187 Androidでjavascriptアプリ、特に動きのあるゲームは厳しいな。
http://9leap.net/ JavaScriptで作られたWebブラウザで手軽に遊べるゲームサイトだけど
スマホで快適にヌルヌル動くゲームが遊べるのはiOS。
Androidだと最新モデルでもガクガクでコマ落ちしたりしてて
そもそもゲームとしての動きが成立しないものが多い。
iPhoneとAndroidの2台持ちしてるやつは
http://9leap.net/games/3313 これとかを遊び比べてみるといいよ。
いかにAndroidのブラウザ機能がゲームに向いてないかってのがよく判るから。
ゲームに向いてないってことは、ブラウザのレンダリングエンジンと
JavaScriptエンジンの描画能力が足りてないってことで、
ゲーム以外のwebアプリをjavascriptで作ったとしても、描画に関する性能は
期待できないってこと。
190 :
Name_Not_Found :2013/10/06(日) 19:28:15.81 ID:Z2ugsJFn
住所欄に住所を入力していくと、逐次ジオコーディングしながら、地図のセンターが移動していく登録画面を考えています。 コードを学習するのに具体的かつ最適なサイトを教えてください。 宜しくお願い致します。
Javascriptのゲーム開発ならWebGLを忘れてもらっちゃ困るな!
192 :
Name_Not_Found :2013/10/06(日) 21:23:50.32 ID:renQZA5K
aptanaというのがあるみたいだが、よくつかわれておる それとajaxは なんかいろいろとアメリカからいろんなものでますね それもフリーで 勉強すること多すぎ
iOSでWebGL動かないでござるよ
194 :
Name_Not_Found :2013/10/08(火) 05:46:21.31 ID:SOmsfenF
【環境】windows7 64bit home PHPは5.4です。
【期待する結果】
質問1 : inputボックスに"<"や">"などを入力してsubmitし、GETの値を受け取ってもう一度inputboxに"<"や">"を入れたい。(google検索のような感じです)
htmlspcialcharsを使わないと、今度は「");});</script></head><body>hoge」などと入れた時に表示などが崩れてしまいます。
【サンプルコード】
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script src="
http://code.jquery.com/jquery-2.0.3.min.js "></script>
<script type="text/javascript">
$(document).ready(function(){
<?php
// htmlspecialcharsを使わない
$getx = $_GET['word'];
// htmlspecialcharsを使う
$getx = htmlspecialchars($_GET['word']);
echo '$("#search2").val("' . $getx . '");';
?>
});
</script></head><body>
<form method="GET">
<input type="text" name="word" id="search2" />
<input type="submit" />
</form>
</body></html>
bootstrapのmodalのヘッダが太すぎるのですが 何とかできませんか?
CSS書き換えればいいだろ
>>173 の件ですが、bsはbootstrapの略だと気付きました
気付いてみればすごく当たり前ですが(∵)
ありがとうございました
ファイルアップロードでセッション切れ対策として定期的にリロードして維持するみたいな要件があるんだけど不可能ですよね。。。?代案あれば情報いただきたく
setIntervalで定期的にajax通信させとけばいいだけじゃないの?
>>200 でかいファイルアップしなければならない時はみなさんこれやってるんですかね〜
サーバ側のセッションタイムアウトの設定を 最大サイズのファイルアップロードに掛かると想定される 時間に設定し直すだけでいいだろ
でも今回の場合は、自分とは関係ない とあるサーバー、いわゆるアプロダなんです。 そこに無料アカウントで自動的に 連続してファイルをアップロードしたいんです。
205 :
Name_Not_Found :2013/10/21(月) 22:01:49.59 ID:3mAarh2V
function Counter() { var count = 1; var button = $('<button>').text(count).click(function(e){count++; $(e.currentTarget).text(count); }); $('#counter_box').append(button); } ↑みたいなボタンのコンポーネント化を考えたときに c = new Counter(); して $('#counter_box').empty(); してもcはメモリ上から消えないよね。 Viewに関して「JavaScript&jQueryではこうしろ!」みたいなデザインパターンってある?
デザインパターン以前の問題
207 :
Name_Not_Found :2013/10/22(火) 22:19:02.31 ID:ta74D3b7
>>205 知ってる人いませんか?
>>205 のコードをどうにかするっていう問題ではなくてViewに関するjQueryのデザインパターンを知りたいです。
だからデザインパターンじゃないって。 知らないのは初心者だけ、初歩の書き方。
知ってる人の回答お待ちしてます。
jQuery前提なら、jQueryプラグインの形式にしとけばいいんじゃないの?
それにしても
>>205 のコードは酷いし、
なんでコンストラクターになってるか理解に苦しむし、
JavaScriptのメモリ管理についてまったく理解できてないみたいだし、
もうちょっと基礎から勉強したほうがいいと思うよ
【ver.】jQuery 2.0.3 【質問】 $.Deferredの使い方がいまいちわかりません。 例えば、順番に$.getをつなぎたいのですが上手くいきません。 【サンプルコード】 $.get(url1) .done(function (data1) { $('result1').html(data1); $.get(url2); }).done(function (data2) { $('result2').html(data2); }); 【期待する結果】 data1はurl1からのデータ、data2はurl2からのデータを取得したい data1を取得・処理してからdata2を取得したい 【実際の結果】 data2にもdata1が渡される。$.get(url2)が終わる前に二つ目のdoneが実行される
ふたつ目の.done(〜)を$.get(url2)の後ろにくっつけるか もしくはひとつめの.done(〜)を.then(〜)にして、 $.get(url2);をreturn($.get(url2));とすればいいのかな
213 :
211 :2013/10/24(木) 14:42:17.92 ID:???
>>212 >ふたつ目の.done(〜)を$.get(url2)の後ろにくっつけるか
これは上手くいきましたが、ネストになるのはDeferredを使わずCallbackで書くのと同じですね。
>もしくはひとつめの.done(〜)を.then(〜)にして、
これはだめでしたが、return の pipe が上手くように思えたんですが、結局だめでした。
deferredはこういう用途ではないようですね。ネストさせるかflagとsetTimeoutを使うようにします。
>>213 普通に動いたよ?
$.get(url1)
.then(function (data1) {
$('#result1').html(data1);
return ($.get(url2));
}).done(function (data2) {
$('#result2').html(data2);
});
idがtest1のspanタグにfoo='bar'という要素を追加したいのですがどうしたら良いでしょうか <span id='test1'></span> <span id='test2'></span> <span id='test3'></span> を <span id='test1' foo='bar'></span> <span id='test2'></span> <span id='test3'></span> のようにしたいです
>>215 さすがに自分で調べろ。
jQueryの入門書の
はじめの方に書いてある程度の内容だ。
217 :
211 :2013/10/24(木) 22:13:18.78 ID:???
>>214 すみません。勘違いしてました。ひとつめのdoneをthenで動きました。
doneは前のreturnを受け取らず、従って前の完了を待たずに次が実行され、
thenは前のreturnを受け取るので前が完了してから実行されるようですね。
ありがとうがざいました。
>>216 ヒントになる単語とかでも良いのでお願いします
要素 追加
とかで検索しても見つけられませんでした
>>218 検索するのをやめましょう。
本を一冊買えばいいだけの話です。
検索は単語を知らないレベルの人には使えません。
>>218 spanとかdivは要素
idとかclassは属性
だから
>>215 は要素を追加じゃなくて属性を追加
おれのグーグル様は「属性を追加」まで入力しただけでjqueryまで補完してくれるぞ
あのキモいウサギみたいなのがいる jQueryの古い悪性サイト早く消えないですかね?
ウサペンギン? あれは俺も消えて欲しい
公式サイトのリンクぐらいテンプレに貼っといた方がいいよな
>>196 書き換えれば細くなりました
ありがとうございました
225 :
Name_Not_Found :2013/10/25(金) 17:57:08.35 ID:RupNKXOL
マーキーやティッカーのようなもので、スクロールした後で、流すテキストをajaxで変更したいのですが そのようなイベントに埋め込むようなプラグインはありませんでしょうか よろしくお願いします。
ライブラリを使っていると、ライブラリで使っているCSSセレクタ名と被ったりしがちですが どうすれば衝突回避できますか? .activeとかありがちな名前はぶつかりやすいです
てか普通はライブラリ側が独自の名前空間を使うべきですよね? bootcamp恥を知れ
bootstrapでした
わんもわせっ!!
ビリーズブートキャンプ・・
質問です。インラインフレーム内のアンカーに移動できないです。 親oya.html フレームに表示する子ko.html フレームに表示する子から移動する次の子ko2.html フレーム名if *ブラウザFirefox24.0 *高さ自動調節<script type="text/javascript" src="js/jquery.autoheight.js"> *アンカ指定<a name="top" id="top">∴</a> *親からアンカへは<a href="child.html#top" target="if">リンク</a> *子から次の子のアンカへは<a href="child02.html#top">リンク</a> なにが間違っているんでしょうか?
jQuey... (ノД`)
jQuery...(ノД`)
<div class="radio"> <label> <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked> Option one is this and that—be sure to include why it's great </label> </div> bootstrapのサイトの一部ですが、 labelタグの中にinputタグが入っていますが これは普通の書き方なのでしょうか?
>>235 普通
bootstrapもJavaScriptライブラリということになるのかな?
個人的には違うと思っていたが
あるDOM要素が指定したjqueryセレクタに含まれるか調べる方法があれば 教えて下さい
jqueryオブジェクトに対して .is(':tabbable') を使うとエラーになるのは何故ですか?
firstメソッドで取り出したjqueryオブジェクトと DOMオブジェクトの同一性評価はどうやればいいのでしょうか? var $first = $('.hoge').first(); var o = document.getElementById('hoge'); こんな場合に$firstとoが同じDOM要素を示すかどうかを調べたいです
>>241 ありがとうございます
見てみましたところhasはちょっと違う気がします
$('a,:input')
に
document.activeElement
が含まれているかどうかを調べたいです
>>242 この件ですが、first()[0]にDOMが入っていました
ありがとうございました
>>238 この件ですが、
if ($hoge.toArray().indexOf(dom)>-1){}
で判定できました
ありがとうございました
ポップアップ系のプラグインをカスタマイズしようとしてるんですけど $('body').append('<div id="DOMWindowOverlay" style="z-index:10000;display:none;position:absolute;top:0;left:0; background-color:'+settings.overlayColor+';filter:alpha(opacity='+settings.overlayOpacity+');-moz-opacity: 0.' +settings.overlayOpacity+';opacity: 0.'+settings.overlayOpacity+';"></div>'); こんな感じで、.jsファイル内に書いてあるスタイルを @media screenでPC用とスマホ用に分けることって可能ですか? 可能ならスタイル属性の中にざくざく書いちゃって大丈夫ですか? アホみたいな質問ですみません
スタイルは外出しにしておかないと 後でハマるよ
>>247 外出しというと、別途cssファイルに記述すべしという事ですか?
それは試してみたんですがjsファイルに大量に記述してあるオプション用スタイルと干渉してしまっているのか
そもそもセレクタが間違ってるのか全然効いてくれないんですよね…
唯一jsファイル内のスタイルはいじると効いてくれるのでそちらでどうにかできないかと考えていたのですが
CSSもスタイルの重み付けとかちゃんと理解して設計しないと、 後でどうにもならなくなるよ。 応急処置的には、CSS定義に !important をつければ スタイルを上書きできる。 安易に使うと!importantの嵐になるけど。
>>245 わざと複雑に書いているようにしか見えないんだがw
>>245 <section id="hoge">
<div class="hage"></div>
</section>
で、#hoge以下に.hageが含まれるかどうか調べたいなら
if($("#hoge>.hage").length > 0){}
でいいだろ。
252 :
250 :2013/11/01(金) 00:49:19.06 ID:???
ほらやっぱりあった。 <script> $(function() { var el = document.getElementById('id'); alert($('a.target').index(el)); }) </script> <a class="target">a</a> <a class="target">b</a> <a id="id">c</a> <a class="target">d</a> <a class="target">e</a>
>>251 探したいのはDOMオブジェクトなんです
>>252 indexで探せたんですね
ありがとうございました
>>249 ありがとうございます
結局あきらめて別の方法を選びました
別の方法ってやつを共有してくれると嬉しい
いらんやろ
いるだろ
解決法を書く方が望ましい 別に義務ではないけど
setTimeoutと比べたlodashのdelayのメリットって何ですか? まったく同じなような?
>>260 そういう時はソースコード見ればいいんだよ。
素のsetTimeoutを呼び出す以外のことをしていれば、
それがdelayの違い。
まあドキュメントにも書いてあったけど、
引数を渡せる。
大概のブラウザではsetTimeoutで引数を渡せるが、
実はHTML5以前ではsetTimeoutの引数は標準化されていなくて、
IEは対応していない。delayはその非互換性に対応している
なるほど 引数を渡せるということも知りませんでした ありがとうございました
古い話をすると、もともとsetTimeoutは関数を引数に出来ず、 evalのように文字列のみに対応していた。 そういう仕様のsetTimeout関数をnetscapeが独自実装し、 それをIEが取り入れた。 もともとブラウザは複数の言語に対応できるようになっていたため、 コードがjavascriptなのかvbscriptなのか知る必要がある。 だから、IEはコードを文字列で渡すsetTimeoutの第三引数に 言語指定できるようにした。 その後、setTimeoutは関数をサポートし引数を渡せるように なったため非互換性が生まれた。
setTimeout、setIntervalはコールバックの嵐になりがち WebWorkerかFakeWorker使うのがいいんじゃないかな
WebWorkerでもコールバック使うんだが?
みんな jquery.js にリネームしてる?それとも jquery-2.0.3.min.js ってファイル名のまんま使ってる?
RequireJS使って、jqueryという名前で読み込み ファイル名は自由に変えられる形にしている。 リネームしてもしなくても後から変えれば良いのでどうでもいい。
>>267 そうなんだ
あえてファイル名をフルで残すことで
このページは2.1.3用ですとかの情報を
ソースに残したかったとか そういうの無し?
269 :
Name_Not_Found :2013/11/04(月) 21:20:06.16 ID:DjdyD3Xf
<div id="img">タグをマウスオーバーした際に、 <script type="text/javascript" src="example.js"></script> を読み込み、example.jsの内容によって処理を変えることは可能でしょうか? example.jsは随時更新されるものとします。 jQuery1.4を使ってます(古くてすみません。) ソース ====================== <div id="img"><img src="what.jpg"></div> <script type="text/javascript" src="example.js"></script> <script> if(ex.pref=="tokyo") { document.getElementById("img").innerHTML='<img src="tokyo.jpg">'; } else if (ex.pref=="osaka"){ document.getElementById("img").innerHTML='<img src="osaka.jpg">'; } else{ document.write('<img src="others.jpg">'); } </script> ======================
バージョン情報は残しておくべきだけど、ファイル名じゃなくていいと思う
>>266 URLでわかるようにそのまま使用してる
>>268 > このページは2.1.3用ですとかの情報を
> ソースに残したかったとか そういうの無し?
本当に2.1.3用であることはまず無い。
1.9で動くかもしれないだろうし、2.2で動くかも知れない。
そういう場合に、将来訪れるのは、2.2を使っているのに
なぜか2.1.3と書いてある意味不明なソースだ。
after: function() {$('#title').html($("img", this).attr("alt"));}, で スライドショー画像の下の<p id="title"></p>部分にaltの文字をタイトルとして流していました。 これに加えて、title=""の部分を説明として同時に乗せたいのですが、 after: function() {$('#title').html($("img", this).attr("alt"));}, after: function() {$('#title2').html($("img", this).attr("title"));} と <p id="title"></p> <br /> <p id="title2"></p> を書いたところ、alt属性が空白になり、title属性のみ表示されてしまいます。 同時に表示させる方法はないでしょうか?
opensslを使えるライブラリってない? パスフレーズから秘密鍵と公開鍵を生成して、pemにもできて、サーバーサイドとのやり取りで暗号化復号化できるやつ
>>272 「かもしれない」はソースに残したくないっていうか
確実にテストしたバージョンを残したいかなーって
同じファイル名だとキャッシュの問題が厄介だからやめとけ。
277 :
Name_Not_Found :2013/11/06(水) 08:32:50.65 ID:qxx3Y1VK
fabric.js (canvas)を使ったホワイトボードを作っています。 サーバーにホワイトボードで作成したデータをアップして、別ページからホワイトボードページに 戻るときに任意のアップしたデータを取得・再編集できるようにしています。 この再編集時にいくつか不具合が起こるのですが、何故かホワイトボードページを再読み込みすれば直ります。 こういった場合、どういう対処をするのが良いでしょうか? 今は別ページから飛んできた場合はlocation.reload();をかければ良いのかなと漠然と考えていますが、 あまりにも応急処置的で良くないとも思っています。 曖昧な質問で申し訳ありませんが、ご回答いただければ嬉しいです。 よろしくお願いします。
278 :
277 :2013/11/06(水) 08:37:49.90 ID:???
すみません、訂正させてください。 ☓ この再編集時にいくつか不具合が起こるのですが ◯ ホワイトボードページ読み込み時にいくつか不具合が起こるのですが 不具合の具体的な内容は、例えばホワイトボード上に初期配置されているオブジェクトが (再編集時は再編集したいデータだけ読み込みたいのに)残ってしまっていたり、 canvasが表示されているにも関わらずundefinedになってしまったりといった不具合です。
そんなマイナーなライブライリ使ったことないから知らないよ せめてオンラインで確認できるところにコードを張るとかしてくれればなあ
280 :
277 :2013/11/06(水) 16:29:13.25 ID:???
そのライブラリの固有の現象について質問しているのではなく、こういった不具合がある場合 私のような経験が殆ど無い初心者ではない方でしたらどういうアプローチをするかのご回答をいただきたかったのです。 fabric.jsを外してcanvasだけにしたときでも(細かく言えば異なりますが)同じような不具合が起こるのです。 質問の仕方が悪かったのだと思います。すみませんでした。
他のページから飛んできたのか、それとも単にリロードされたのかを判定する方法はないですか?
初回がダメでリロードで解決というのはキャッシュの効果かな データが届くのを待たずに処理を進めちゃってる箇所でもあるんでしょう
283 :
277 :2013/11/06(水) 17:42:52.37 ID:???
>>282 私も最初はそう思ったのですが、キャッシュ削除&ハードリロードしても直るんですよね…。
というわけで、まともに対応するのはもう諦めて、別ページから飛んできた場合だけ2回リロードするというアプローチに決めました。
そこで
>>281 の質問をさせていただきました。
285 :
277 :2013/11/06(水) 21:52:38.51 ID:???
>>275 そういうことはテストコードやドキュメントに書くべきだよ。
将来テストをすれば、コードを一切変更せずに
バージョン○〜○に対応って書くことが出来る。
>>276 > 同じファイル名だとキャッシュの問題が厄介だからやめとけ。
それは、ファイル名の後ろに、script.js?version=hogeとか書けば解決する。
まあ俺はrequirejs使って、ファイル名は別だけどプログラムからは同じ名前を
使うようにしてるけどね。
>>283 > というわけで、まともに対応するのはもう諦めて、
それは間違った答えだね。
まともに対応するのが正解。
なぜなら、直ったかのように見えて、
また同じ原因ではまるのが目に見えてるから。
そして
>>281 のような、間違った対応をすることになる。
>>277 HTTP403に対応させるのが常道ではないかと
URL変更はHTTPステータスを変更出来ない環境における代替策
290 :
Name_Not_Found :2013/11/07(木) 10:23:45.60 ID:AFMFGadA
Google Cromeで指定した文字列をクリップボードに コピーするプログラムを作っています。 $('#id_hoge' ).click( function() { var str_text = "あいうえお"; var copyArea = $("<textarea/>"); copyArea.text(str_text); $("body").append(copyArea); copyArea.select(); document.execCommand("copy"); copyArea.remove(); }); "あいうえお" がクリップボードにコピーされると思ってたのですが なぜかされません。cromeでは使えないのでしょうか?
>>290 Chromeでは無理。どうしてもクリップボード操作を入れたい場合はそこだけflashを使うのが一般的
292 :
Name_Not_Found :2013/11/07(木) 16:28:14.29 ID:44DW+IyY
293 :
Name_Not_Found :2013/11/07(木) 20:04:44.35 ID:7Z+BpCZW
jquerymobile1.3.2で質問です ページのIDは数字では設定できないでしょうか? <div data-role="page" id="100"> とし、index.php#100とすると読み込みが終わらないです。
id、class名の先頭に数値は使えない
295 :
Name_Not_Found :2013/11/07(木) 20:12:18.82 ID:7Z+BpCZW
asp.net で作られた既存の web サイトに jquery を追加しようとしてます。 基本的に既存のコントロールを生かしたまま 「$(“#コントロールのID”).ウィジェットのクラス」 して対処してて 挙動としては問題なく動いたのですが、一部だけ不都合が。 tabindex を指定して、ブラウザの標準とは違うタブ遷移順序を定義しているのですが jquery に取って代わらせた部分だけ tabindex が指定されず、ブラウザのデフォルトで動いてしまうようなのです。 元々の tabindex を生かす方法ないものでしょうか。
・元々のtabindexと、後から加えたtabindexの採番ルールの整合性は合っているか? ・後から加えたtabindexを持つ要素がDOMの動的生成だった場合、 $("#ctrl-id").on("click",function(){}) とかだとイベント効かないから、 $(document).on("click", "#ctrl-id", function(){}) みたにする必要がある(jQueryのバージョンが新しい場合。古いjQueryだとlive()を使う) とか。
298 :
1/2 :2013/11/10(日) 08:01:00.24 ID:nLs/SWMw
299 :
2/2 :2013/11/10(日) 08:02:14.97 ID:nLs/SWMw
<body> <ul id="feed"></ul> <script>$(".a").css("color","red");</script><!--この行が効果なし--> </body></html>
コピペするの面倒くさいからjsbinとかに晴れよ
301 :
Name_Not_Found :2013/11/10(日) 09:08:37.51 ID:nLs/SWMw
303 :
Name_Not_Found :2013/11/10(日) 10:52:08.16 ID:nLs/SWMw
jQueryでCSSプロパティを削除するのは .css('opacity', '') などヌルストリングを書き込むのであってるのでしょうか?
>>303 ようは
$('#feed').append( '<li class="a">取得した内容</li>');
のあとで
$(".a").css("color","red");
が動けばいい。
.css() も動的に設定されることを忘れないように。
コールバックは「必要になったら呼んでね」と予約を入れるようなものです $(".a").css("color","red"); の時点で入荷しているかどうかは相手次第
なお、$(".a").css("color","red"); はコールバックではありません
308 :
Name_Not_Found :2013/11/10(日) 18:21:03.65 ID:nLs/SWMw
> feed.load(function (result){ … この部分がコールバックされるからそれだとだめね。 いっその事、.a に対する設定はスタイルシートでやればどうか。
310 :
Name_Not_Found :2013/11/10(日) 19:13:18.36 ID:nLs/SWMw
>>309 うわぁすごく簡単に実現出来ました。
ありがとうございました。
lodashでtemplateのパラメータに配列を使うにはどうしたらいいでしょうか var str = "<%- hoge.moge %>"; var str1 = "<%- hoge.0 %>"; var params = { moge: "moge", 0:"0" }; console.log(_.template(str,{hoge:params})); console.log(_.template(str1,{hoge:params})); こんなふうにしても0の方はエラーになります
数字の前にプレフィックスを付けることにしました ありがとうございました
313 :
Name_Not_Found :2013/11/13(水) 23:03:58.59 ID:yBIZbpJ/
lodashの2.3.0がリリースされていますね。 Object.create相当のメソッド _.createが追加されたようです。
314 :
Name_Not_Found :2013/11/14(木) 19:40:19.31 ID:Jii8uLVx
だからどうした。
316 :
Name_Not_Found :2013/11/14(木) 20:22:23.09 ID:fD/IlJKT
質問です id="hoge"をクリックした時 $("#hoge").click(function(){ 〜 }); $("#hoge").live("click"function(){ 〜 }); と二通りの書き方がありますが、liveの方が消したり追加したりしても反映されるので便利だなと思うのですが そんな事しない限り.click()使ったほうがいい理由とか、liveのデメリットがあったりするんでしょうか?
317 :
Name_Not_Found :2013/11/14(木) 21:09:31.08 ID:EjdiQSFh
liveはとっくにdeprecated、つまり もう使うなって言われてるだろ。 キモいウサギみたいなのがでてくる 糞サイトを見てるからそのことがわからんのだ。
推奨されてんのはonだが重くなりそうなんで素直にbind
.click()つかってると、そういう bindからonに変わるといった変更に耐えられるってことがあるね。
320 :
Name_Not_Found :2013/11/14(木) 22:19:13.54 ID:Jii8uLVx
crome でデバッグしてるんですが 指定した行番号に一度にジャンプするショートカットはありませんか? VSだったら Control + G みたいなコマンドは無いのでしょうか?
onだと重くなる理由は? 変わらないだろ
323 :
Name_Not_Found :2013/11/17(日) 07:13:14.96 ID:udSSEtn+
jquerymobileのリスト要素で折り返す方法ありますか? デフォルトだと突き抜けて右に言ってしまいます
jqueryの、領域サイズを変更するスクロールプラグインはありませんか? slimscrollとperfect-scrollbarでは、 スクロールバーが領域の上に被さるように表示されますが 通常のスクロールバーのようなスリムスクロールバーを探しています
jqueryで要素に適用されているCSSをクローンして他の要素に適用する もっともいい方法は何でしょうか
Closure Libraryを使ってみようと思うのですが、開発にPythonが必須と書かれています。 これは開発環境においてのみ必要で、本番環境では必要ないということでよろしいでしょうか?
327 :
Name_Not_Found :2013/11/19(火) 23:48:11.23 ID:NrPaoRI5
プログラミングできない奴は可哀想だなw
何に対する感想? JavaScript使ってる時点で出来てるやん
それ定型文
jQuery+Ajaxで更新する管理画面を作成しています。 そこで質問なのですが、 更新 ボタンが押された時には、「少々お待ちください。」のバナー画像を表示しておき サーバサイドで処理が終わった場合には、「更新処理が正常狩終了しました。」という バナー画像を表示したいのですが何か良い方法はありますか? よくある部分更新をAjaxを使ってやりたいです。 待機時間にユーザにストレスをかけたくないので、進捗をバナー画像を表示したいのです。
>>330 更新開始時には、
・jQueryで「お待ちください」の画像を表示
・Ajaxで更新リクエストを投げる
Ajaxのお返事が来たとき=更新完了なら、
・画像を「正常終了」に差し替える
・「正常終了」の画像の後始末はjQieryで出来そうな気がする
更新に時間がかかる場合は、
・更新リクエストのお返事でエラーチェック
・更新中はタイマーを仕掛けて、定期的に状態取得のAjaxを投げる
・更新完了したら、タイマーを止めて画像を差し替える
作れば
334 :
Name_Not_Found :2013/11/23(土) 18:46:26.49 ID:3UFww99p
バカスレw 死ねゴミ共がw
335 :
Name_Not_Found :2013/11/28(木) 16:22:53.50 ID:6QL+0KtO
jquery cycleのafterにキャプションの命令を出してます。 after: function() {$('#cap').html($("img", this).attr("alt"));} } ); これに加えカウンター(1/10)を加えることは可能でしょうか? function jqueryCycleAfter(curr,next,opts) { var caption = 'Image ' + (opts.currSlide + 1) + ' of ' + opts.slideCount; $('#caption').html(caption); } こういうのを見つけましたがどう入れて良いのかわからず。。
jqueryにscrollWidthやscrollHeightを取得するメソッドはないのでしょうか? ないのなら用意しない理由は何だと思いますか?
用意しない理由はまったくないよ。そんなことはなっからわかってる。
じゃあ用意して欲しいですね ありがとうございました
selection関係のブラウザ間の差を吸収するjQueryプラグインはありませんか?
340 :
Name_Not_Found :2013/12/02(月) 22:35:02.75 ID:7PuYxzjQ
【環境】windows7 64bit home chromeバージョン 31.0.1650.57 m xampp
【何をしたのか】以下の通りです。
【エラーメッセージ】なし
【期待する結果】
id="c1"のcanvas要素に対して、ページを読み込んだ時に以下のことをしたい。
・canvasの背景をある画像に設定したい。画像はテスト用に「
http://www.ournorthstar.com/wp-content/uploads/2013/10/test1.jpg 」を読み込んでいますが、
本来は同じフォルダにあるファイルを読み込みます。
・canvasのサイズを読み込んだ画像のものと同じにしたい。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="
http://code.jquery.com/jquery-2.0.3.min.js "></script>
<script type="text/javascript">
$(document).ready(function(){
var canvas =document.getElementById('c1');
var ctx = canvas.getContext('2d');
var image = new Image();
image.src="
http://www.ournorthstar.com/wp-content/uploads/2013/10/test1.jpg ";
ctx.drawImage(image, 0, 0,image.width,image.height);
document.getElementById('c1').width=image.width;
document.getElementById('c1').height=image.height;
});
</script>
</head><body>
<canvas id="c1" width="300" height="300">
</body></html>
image.width、image.heightが何度試しても0になります。
何度やっても何が悪いのか分かりませんでした。お助け下さい。
342 :
Name_Not_Found :2013/12/03(火) 08:49:24.96 ID:985hIlzu
>>341 おー!ありがとうございます。
下記で行けました。原因が読み込みの順番とは…勉強になりました。
$(document).ready(function(){
var canvas =document.getElementById('c1');
var ctx = canvas.getContext('2d');
var image = new Image();
image.src="./s.png";
image.onload = function(){
document.getElementById('c1').width=image.width;
document.getElementById('c1').height=image.height;
ctx.drawImage(image, 0, 0,image.width,image.height);
}
});
jQueryでAjaxしてとってきたページをiframe内に描画したいのですがうまくいきません、知恵を貸してください。
<html>
<head>
<script src="
https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js "></script>
<script src="jquery.xdomainajax.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: '
http://hogehoge.html ',
type: "GET",
dataType: "html",
success: function(data) {
$('#tmp').contents().append(data.responseText);
});
});
</script>
</head>
<body>
<iframe id="tmp">
</iframe>
</body>
</html>
>>343 セキュリティ上、ajaxで別ドメインは基本的に見れません
iframeはあまり関係ありません
どうしてもしたいなら、頑張ってください。やめたほうがいいと思います。
htmlのデータスクレイピングのためにいったんtmpとしてiframe内に描画しようと思ったのです。 ですのでjquery.xdomainajax.jsを使ってクロスドメイン問題を解決しスクレイピングしたデータを本来描画したかった箇所に描画する予定だったのですが…
successはちゃんと呼ばれているのだろうか
347 :
Name_Not_Found :2013/12/08(日) 22:25:00.79 ID:RCrTOYR9
お願いします、質問です backgroundにイメージを指定してその上に左サイドバーを透過で設置しています。 真ん中に位置するコンテンツを左サイドバーの後ろを通って左から右に出力したいのですが左サイドバーは透過のため左サイドバーの後ろを通るさいにかぶってしまいます。 これを左サイドバーを透過させbackgroundを透過させたまま中央コンテンツはサイドバーをすぎた後左から右へ出てくるアニメーションにしたいです サイドバーを通過する際中央コンテンツを非表示にする方法はありませんでしょうか どなたかよろしくお願いいたします
そういう風に見えるようにすることはできるかも知れんけど、普通に考えると無理そう
>>343 ,345
successの後の中括弧が1つ抜けてるよ
括弧の対応関係をきちんと把握しておいたほうがいいです
iframeを使わずに<div id="tmp"></div>に書きだしちゃうのが早いと思うけど、
iframeを使いたいならiframeのソースをローカルサーバーのものにして、
そのファイル内のエレメントにアクセスして書き出す感じでいけばいい
<div id="tmp"></div>に書き出すなら、
$('#tmp').html(data.responseText);
だけでいいです
<html>
<head>
<script src="
https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js "></script>
<script src="jquery.xdomainajax.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: '
http://www.google.com/ ',
type: "GET",
dataType: "html",
success: function(data) {
$('#tmp').contents().find('body').append(data.responseText);
}
});
});
</script>
</head>
<body>
<iframe id="tmp" src="./temp.html"></iframe>
</body>
</html>
thisを使ったインスタンスの操作と、jQuery.data()で要素のプロパティを操作するのとでは 例えば、毎秒30回ほどアクセスする場合、処理の遅れなどの弊害が出てくるのでしょうか?
jsperfとかで確かめたら?
.data()で要素のプロパティを操作ってのは語弊があるかな。 要素と関連付けられてはいるけど、 データが保存されているのはJavaScriptのオブジェクト内だよ。 普段は違いを気にする必要はないけど。
bootstrapのgraphiconの×を 丸くしたdivの中に入れて閉じるボタンを作ったのですが、 chromeとfirefox/ieでは微妙に見た目が異なります 丸の中に入れるという構造上、少しでもズレたら違和感が出るので graphiconを使うのはふさわしくないのでしょうか? それともやり方が悪いだけで、ブラウザ間の差違はなくせるでしょうか?
font-sizeを8pxにしているのにchromeだと10pxになっていると分かりました それで少しずつ大きくしていくと どうもフォントサイズを12pxよりも小さくすると、chromeでは変になるようです?
>>354 円の中に×を入れたいなら最初からそういう画像かフォントを用意すればいいのでは?
graphiconとかよく知らないけど、icon-removeってやつがまさに円の中に×だけど。
円と×を別々にすると、位置はOSやブラウザによって色々なんじゃないかな。
フォントはブラウザで最小サイズの設定されていると、ユーザーごと変わるので、デザインが関わる部分は画像の方が良いですよ 背景画像にしてセンタリング&overflowをhiddenにするとかも一つの手
とはいえ、cssでもだいぶあれこれできるようになったから ちょっとしたアイコンくらいは画像使わずにやりたいんだよね。
ユーザーの環境に依存する部分は正直どうしようもないので、画像でやったほうがいいでしょ つか基本的にjQueryと関係ないのでCSSスレの方がいいんじゃない?
>>354 最小のフォントサイズはユーザが見づらいから設定するのであって、それを無視したデザインにするのはユーザの期待と合致しない
フォントサイズが大きくてもデザインが崩れないようにするのが常套手段
JSド素人ですが質問させてください。 下記の関数loadFile()でcsvファイルの中身を返したいのですが、 ※1の場所ではlistは確かに2次元配列になっており、(0,0)成分を返しますが、 ※2の場所ではloadFile()の返り値を読めて折らず、undefinedが返ってきます。 $.get()の外で値を使えるようにするにはどうすれば良いのでしょうか。 よろしくお願いします。 ----------- function loadFile(){ $(function(){ $.get('list.csv',function(data){ var list = $.csv()(data); alert("1"+list[0][0]); //※1 return(list); }); }); } list = loadFile(); alert("2"+list[0][0]); //※2
alert("2"+list[0][0]);を実行した時点では、 loadFile()内の$.get()が完了していないから。 JSは変なところでマルチスレッドみたいな処理をする。 loadFile()内の処理の実行がきちんと完了してから listオブジェクトを参照できるように、コールバックを 実装したほうがいいね。
変なところでというか実行環境(主にブラウザ)の外にある情報は円滑にアクセスできるとは限らない。 どのくらい遅延するか、確実にアクセス出来るのかといった要因で前面の処理が止まらないように 「アクセスできたら呼んでくれ」方式になっている。
>>361 ajax、async辺りで調べたら良いかと
$.get()の処理結果を待って次の処理をするなら callbackかdeffered使え
>>362-365 沢山のアドバイスありがとうございます。
少し調べてみます。
あと圧倒的な経験不足を感じたのでJS自体もう少し勉強します。
逆に、シングルスレッドだからこその方式だね。 マルチスレッドならそういう処理は別スレッドで行って、その中ではいくらブロックしてても構わないんだし。
>>366 勉強ってことなら、jQueryとか使わずajaxやってみると良いかも
console.timeの結果はどこに表示されるのでしょうか? alertに入れても取り出せませんでした…。
なんでライブラリスレでその質問
371 :
Name_Not_Found :2013/12/20(金) 01:05:05.72 ID:LAOcO8pw
372 :
371 :2013/12/20(金) 04:43:56.61 ID:LAOcO8pw
自己解決しました leftはmarginLeftの間違いでした。失礼しました。
>>371 cssのpositionを明示する必要がある。例: position: relative;
374 :
Name_Not_Found :2013/12/20(金) 10:22:43.19 ID:s1IoASmv
[jquery 1.4] 1、appendで追加した要素の存在確認 2、存在しなければJSON取得 上記の1で、はまりました。 動的に追加した要素はhasでは確認できないのでしょうか
375 :
Name_Not_Found :2013/12/20(金) 13:42:18.14 ID:s1IoASmv
374です。 グローバル変数にフラグを作成し、対応しました。
376 :
Name_Not_Found :2013/12/20(金) 14:27:51.87 ID:s1IoASmv
動的に作成した<ul><li>...にイベントを設定しようとしました。
クリックで色が変わるようにしたつもりでしたが、イベント自体が
設定できていませんでした。
ご教授ください。
<html xmlns="
http://www.w3.org/1999/xhtml " >
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
#tab li {float: left;padding: 10px;list-style: none; cursor: pointer;background: #eee;}
#tab li.select {background: yellow;}
#child_tab li {float: left;padding: 10px;list-style: none;cursor: pointer;background: #eee;}
#child_tab li.child_select {background: yellow;}
.disnon {display: none;}
.content_wrap1 {clear: left;width: 300px;height: 200px;font-size: 20px;text-align: right;}
.content_wrap2 {clear: left;width: 300px;height: 200px;font-size: 20px;text-align: right;}
</style>
<script type="text/javascript" src="
http://www.google.com/jsapi "></script>
<script type="text/javascript">google.load("jquery", "1.7");</script>
<script type="text/javascript">
t = [];
var q_tabdata =["q1","q2"];
var y_tabdata =["q3","q4"];
$(function() {
$("#tab").on('click', 'li', function(){tabChange($(this), "#tab li", 'select', ".content_wrap1");});
$("#child_tab").on('click', 'li', function(){tabChange($(this), "#child_tab li", 'child_select', ".content_wrap1");});
});//続きます
377 :
Name_Not_Found :2013/12/20(金) 14:30:11.14 ID:s1IoASmv
function tabChange(select_li_elm, liId, selectstr, content){ var num = $(liId).index(select_li_elm); $(content).addClass('disnon');var div = $(content).eq(num);div.removeClass('disnon'); //タブを作成(2回目は無視) var yq = div.attr('id'); if(num!=0){ if($.inArray(yq, t)<0){ t.push(yq);var data; if(yq=='y'){ = y_tabdata;}else if(yq=='q'){data = q_tabdata; addTab(div, data); } } $(liId).removeClass(selectstr);select_li_elm.addClass(selectstr) } //タブを作成 function makeTab(elm,data){ var ul = $('<ul>').attr('id','child_tab'); var f = true; for(var i in data){ if(f){ul.append('<li class="child_select">'+data[i]+'</li>');f = false; }else{ul.append('<li>'+data[i]+'</li>');} } elm.append(ul); } function addTab(elm, data){makeTab(elm, data);} </script><body><h5>jqueryによるタブ切替 2段階</h5> <div id="sample"><ul id="tab"><li class="select">D</li><li>Y</li><li>Q</li></ul> <div class="content_wrap1">1</div><div class="content_wrap1 disnon" id="y"></div><div class="content_wrap1 disnon" id="q"></div> </div></body></html>
378 :
Name_Not_Found :2013/12/20(金) 14:31:07.40 ID:s1IoASmv
376の $("#child_tab").on('click', 'li', function(){tabChange($(this), "#child_tab li", 'child_select', ".content_wrap1");}); が効いていません よろしくお願いいたします。
379 :
Name_Not_Found :2013/12/20(金) 14:44:17.24 ID:s1IoASmv
スクリプトの貼り付けミスがありました。 正しくは以下になります function tabChange(select_li_elm, liId, selectstr, content){ var num = $(liId).index(select_li_elm);$(content).addClass('disnon'); var div = $(content).eq(num);div.removeClass('disnon'); //タブを作成(2回目は無視) var yq = div.attr('id'); if(num!=0){ if($.inArray(yq, t)<0){ t.push(yq); var data; if(yq=='y'){ data = y_tabdata; }else if(yq=='q'){ data = q_tabdata; } addTab(div, data); } } $(liId).removeClass(selectstr); select_li_elm.addClass(selectstr) }
くわしくはみてないけど、DOM構造を作る前にイベント設定してないか? それをする場合には $(document).on(イベント, セレクタ, ハンドラ); な。 もしくは、DOM構造を作った時点でイベント設定する。
381 :
Name_Not_Found :2013/12/21(土) 06:51:22.65 ID:hb20Pvcx
>>380 ありがとうございます。
どちらの方法でも設定できました。
>>374 グローバル変数は汚染の原因になるから使わない方がいい。
$(".appended_element").length
がゼロより大きければ、要素が存在する判定になる。
383 :
Name_Not_Found :2013/12/24(火) 05:10:00.05 ID:X0gUPQEn
<input type="button"> と <button>はどちらを使ったほうがいいでしょうか
button
jenson
386 :
Name_Not_Found :2013/12/24(火) 14:28:27.96 ID:v/pNWtd/
jsonの扱いに悩んでいます [ {"date":"12/24", "data":[ "a":"444", "b":"555", "c":"666"]}, {"date":"12/23", "data":[ "a":"111", "b":"222", "c":"333"]} ] このようなjsonから日付でセレクトを行い該当データを読みたいのですが どのように書いたらいいのでしょうか? ヒントで良いので先輩方よろしくお願いします
JSONから日付けで検索ってこと?
JSONからdateを読んでDateオブジェクトとかミリ秒とかに変換して
判定したら?
あとは目的に合うかわからないけど、日時計算ライブラリでこういうのがある。
http://www.datejs.com/ 仕事で使ったことあるけど、なかなかいいよ。
>>386 先に君の間違いを訂正してあげよう。
×jsonの扱いに悩んでいます
○JavaScriptが全くわかりません。
> このようなjsonから日付でセレクトを行い該当データを読みたいのですが
> どのように書いたらいいのでしょうか?
一行、二行で実現する方法はありません。
それをやってくれるライブラリも存在しません。
日本語でいいので、やりたい事を「日本語の一行」=「JavaScriptの一行」に
対応するように書いてみてください。
それができないなら、JSONもJavaScriptも関係なく
プログラミングの初歩も知らないということです。
ある要素に、何か任意のデータを持たせておきたい場合、 【1】$(element).attr("data-key", value) と 【2】$(element).data("key", value) とがあるけど、速度やメモリ効率のパフォーマンス的にはどっちがいいのかね? 【1】は、DOM要素を開発者ツールとかで調べれば当該データが要素の属性として 存在するから可読性は高いとは思うけど、大量に扱う場合要素ツリーが肥大化しそう。 【2】は、jQueryのオブジェクト群に格納されてメモリ効率はいいのかなとは思うけど デバッグ中に内容確認とかはめんどい感じ。
そもそも意味が違う。 attrはタグの属性を書き換えるもの。 dataはタグの属性は初期値として扱うが、 書き込んでもタグの属性は変わらない。 タグの属性として扱いたいのならattrだし、 タグに紐付いた値として扱うのならdata
>>386 そういうデータ構造をjQueryの.find()などで検索したいっていう意味なら、
JSON -> XML にしてから $.parseXML() してみればいかが。検証はしてないが。
XMLに変換するライブラリはどこかにあるでしょう。
あと、そのjson間違ってるよ。{}じゃなくて[]を使ってるところがある。
タグに紐付けたdata()で作った値は、紐付いたタグが削除されたら自動的に破棄されるの?
>>393 ちょっと古いIEとかだとリークするって情報を見た記憶がある。
ドキュメント化はされてないようだけど、削除するコードは入っているね。 もちろんDOMを直接削除するんでは残ってしまうだろうけど。
396 :
395 :2013/12/25(水) 13:32:39.66 ID:???
あ、いや、.remove() や .empty() の方に書いてあったわ。
>>396 ソース見てないんだけど、
remove()すると子要素も全部探索して消してくれるの?
子要素も探索するとなると、結構重い処理になりそうだから、
安全であってもあまり多様したくない機能ではある。
なるほど。。。 dataだと自分で変な実装してメモリリークさせそうで怖いな。 DBから取得した一覧系データを<LI>要素で表示させる際に 各データの情報をdata()かdata-hoge属性あたりで持たせようと 思ったんだけど、汚い実装だけどdata-hoge属性に突っ込んでおくわ。
400 :
Name_Not_Found :2013/12/26(木) 02:03:05.26 ID:6GYOa+/d
はじめまして、Javascript初心者です。 今、JQueryで開発をしているのですが JQgridで生成されたカラム(セル?)にDBからデータを取得して表示を行おうとしています。 データを取得して、表示する箇所に関しては既存の機能を流用しているので とりあえず出来ました。 使用者にレコードを選択してもらうために左端のカラム(セル)内にに「ボタン」を設置する仕様です。 基本的に既存のものを流用して作るだけなのですが、その部分のソースを見てみると、 var $select_radio=<label><input type="radio" class="btn"> 確定</label> というようになっていて、ラベルでありながら実はラジオボタンのような作りになっています。 表示イメージでは、ラベルで作られたボタンの裏にラジオボタンが隠されていないといけないのですが、 実行すると、ラベルとラジオボタンが同時に表示されてしまいます。 どのようにすればいいのでしょうか。
JQuery
CSSで表示変えれば良いんじゃないの
だな。 cssで、.btnに display:none を当ててやればいい。
404 :
Name_Not_Found :2013/12/28(土) 02:18:30.66 ID:bxhyrk47
jScrollPaneに関連する質問です。 divの横幅を100%で指定して、そこに横スクロールバーを出したいんですが jScrollPaneを適用していないときは、ブラウザをリサイズした場合 それに合わせて横幅100%になってくれていたのですが、 jScrollPaneを適用した途端、ページを読み込んだ時点でのブラウザサイズの100%で固定されてしまって ブラウザの大きさを変えても追随してくれない状態です。 色々検索もしてみたのですが、答えがわかりませんでした。 原因はjQueryにあるのかなと思いここに来てみたのですが… 初心者すぎるうえにスレ違いだったら申し訳ないのですが、 解決法に心当たりがある方がいましたらお答えいただければ幸いです。
jScrollPaneに問題があるんでしょ。 そんな変なの使うなら 自分で面倒見るか開発者に連絡しなさい。 ソースコードはあるんだから自分でコード読みなさい。 初心者なら勉強すればいいだけの話です。
jqueryのloadに関する質問があります。 php等を使わずにページング付きの記事一覧を作りたいと思っています。 イメージとしてはブログのような感じです。 そこで1ページの長い記事一覧を作り、 別ファイルに記述したjqueryのltとgtで等間隔にクラスを追加し、 html1ページごとにjqueryのloadで記事を読み込む、としたいのですが loadが上手くいかず、chromeでは表示されず、ieでは点滅してしまいます。 どなたか解決策を教えていただけないでしょうか。
ローカルファイル読もうとしてる? とりあえずローカルPCにwebサーバ入れて、webサーバ経由で loadしたほうがいいと思う。 あとは、うまくいかないならちゃんと原因調べろ。 chromeなら開発者ツールでjavascriptのデバッガが使える。 jqueryのコードも追えるから勉強になるぞ。
408 :
Name_Not_Found :2013/12/29(日) 03:29:03.31 ID:3qmnFn3q
>>388 >一行、二行で実現する方法はありません。
あったよ
>>407 ありがとうございます。
とりあえずapacheで確認しながら作っていますが、
jqueryでloadした箇所にcssやjsが適用されていないみたいでした。
htmlではなく要素だけ抜き取ると文字しか読み込まれないんですね。
ただいま絶賛取調べ中ですが
どなたか教えていただけるとありがたいです。
ブラウザの開発ツールなどで要素がどう挿入されているかみてみれば? あと、複雑なHTMLじゃなくてシンプルなのでテストしてみるといいよ。 本当に適用されていないのかどうか。
というか、CSSやjsを取って来ないでHTML要素だけ取ってるんじゃないの。
html(A)は記事一覧がul,liで縦に羅列してあり、 別ファイルのjqueryで上から1〜5番、6〜10番...毎にaddClassをつけて html(B)にjqueryのloadで1〜5番のクラスだけ読み込む
間違えて送信しちまいました。
僕が想定していたのは
>>413 の流れでした。
html(B)単体ではjqueryもcssも有効になっており、
要素を読み込んだ場合、
>>410 で述べたように
「文章だけしか抜き取れない」わけではなく
読み込んだ要素の文章と、下の要素(cssごと)が読み込まれるという事も判明しました。
恐らく同一のjqueryファイル内にaddClassとloadがあり
同時に実行されているのが表示されない原因だと思います。
もう少しネバーギブアップしてみます☆
あーよくある、.load() 直後に読み込まれていると思い込んでる要素に操作(addClassとか)しちゃうってやつかな。
というわけであらかじめhtml(A)でクラスをつけておいて jquery内でlt,gtで選択したものをloadで読み込む、という感じにしました。 皆さん助言ありがとうございました。 ちなみにchromeのデバッグツールを見てもよくわかりませんでした。 精進精進♪
417 :
415 :2013/12/29(日) 20:40:22.56 ID:???
たとえば $('#foo').load(...); $('#foo').find(...).addClass('...'); とかやってるとか。
テーブルで行や列が増えると連動して rowspanやcolspanの数字を自動的にいれる方法ありますでしょうか?
>>418 テーブルの中にテーブル書けば良いのではないでしょうか?
一応rowspanとか使ったものをjsやcgiで書いたことはありますが、面倒ですよ
tableタグ使うのはとっくにオワコン 今はcssのdisplay使う table, table-row, table-cellあたり。
jqueryのポップアップダイアログで表示しているページのURLを取得したいんですが、できますか?
クロスブラウザじゃなければ、cssのが楽ですよね
423 :
Name_Not_Found :2014/01/06(月) 05:21:58.30 ID:Vep5mMb4
<div id="hoge" style="margin:50px; width:200px; height:200px; background-color:red;"> <div id="piyo" style="margin:5px; width:190px; height:190px; background-color:blue;"> </div> </div> $('#hoge').mouseenter(function(event){console.log(event.target);}); ↑のようにid:hogeの要素にmouseenterを設定するとマウスのスピードによって event.targetがhogeだったりpiyoだったりするんですが 必ずhogeにするにはどうしたらいいですか? 要はevent.targetで、子要素ではなく明示的にmouseenterを設定した要素が欲しいです。
ハンドラの先頭で event.target = event.delegateTarget; するとか
this or event.currentTarget
jQuery Mobile 1.4リリース
jazyloadのようなスクリプトで画像以外もスクロールで ウィンドウ内に入ったときに読み込むようにする方法ないですか? データベース的なページで1ページ内に大量のyoutubeをiframeで貼り付けてあり、 スクロールすることで下が読み込まれるようにしたいのです。
それくらい自分で作ればいいのに。 たかだか20〜30行程度のコードだろ?
テキストボックスにフォーカスした時点で入力候補を表示する方法ないでしょうか。 jqueryUIのautocompleteを使ってminLengthを0にしてみたがだめだった。
>>429 フォーカスしただけの状態だと、候補も何もないと思うけど
入力履歴あたりから候補あげるということなんか?
>>430 テキストボックスに1文字も入力しなくてもsourceで指定した入力候補を全て表示し選べるように
したいということです。
スマホからだと一文字でも入力するのは面倒かなと思って。
minLengthを0にするとdelでテキストボックスを空にしたときには全ての候補が表示されますが
フォーカスしただけでは表示されないのです。
>>431 とりあえずChromeでは動いたけど、他は検証してない
フォーカスした時点で、autocompleteのsearchメソッドをキーワードなしで呼び出す感じで
<div>
<input type="text" id="target_form">
</div>
<script>
$( function() {
var data = [
'apple', 'beans', 'cucumber', 'durian'
];
$( "#target_form" ).autocomplete({
source: data,
minLength: 0
}).focus(function(){
$(this).autocomplete("search");
});
});
</script>
>>432 firefox,opera,ieともに動作しました!
ありがとう!!
434 :
Name_Not_Found :2014/01/15(水) 09:42:55.58 ID:3tFno/l+
'mouseover'
ありがとうございます解決しました 単純なスペルミスでした
437 :
Name_Not_Found :2014/01/15(水) 16:53:59.90 ID:1zwzG6Yn
JS,jQueryをどういう風に勉強すれば良いのか? 皆さんが、どう勉強してきて、役に立ったことを教えてほしいです。
とにかく自分でコードを書くこと 1日15分でいいから書くこと 小さなコードから始めてそれを動かしながら ちょっとずつ変えていく あとは人の書いたコードを読むこと そして人の書いたコードをコピってきて 動きの本質が判るところまで学ぶに不要なコードを 削って動かして削って動かす
439 :
Name_Not_Found :2014/01/15(水) 19:33:55.34 ID:ES5rcU3A
function foo(arg) { async1(arg, function(bar) {}); async2(arg, function(baz) {}); return bar + baz; } 値を返す関数fooがありその返す値に 非同期関数で得られた値を渡したいのですが jQuery.Deferredでどう書けばいいですか? 関数fooは必ず値をreturnしないといけません 非同期関数async1(、async2)は関数fooに渡された値argを必要とします もし生のJavaScriptで簡単にできるならjQueryにこだわりません Chromeで動かしたいです
>>439 非同期関数だと値を返すのは無理
同期的にするかコートバック関数使うかのどっちか
コートバック? トートバッグ?
444 :
439 :2014/01/18(土) 10:43:05.73 ID:???
レスどうもありがとう
>>440 どう使えばいいですか?
どうしても非同期関数の処理よりも先に関数fooがreturnしてしまうか
jQueryのオブジェクトが返ってしてしまうかになります
>>443 これも上記と同じ問題が出ませんか
>>441 不可能ってことですか?
>>444 非同期処理の結果をreturnするのは不可能。
コールバックで処理するしかないけど、やり方はいろいろある。
ベタなやりかただけど、windowオブジェクトの下に自分の作ってる アプリのネームスペースとその下にオブジェクトぶら下げて、 defferedの処理結果をそこに突っ込んでやりとりするとか。 いずれにせよ、今のjsの仕様ではそのへんはキレイに実装するのは不可能だから 自分で納得できる実装を見つけるしか無いよ。
非同期処理を開始した関数でその処理の結果を受け取るということは、 その関数内で終了を待つ必要がある。 ところがJavaScriptはシングルスレッドで動いているので、 待っている間に非同期処理からの知らせ(コールバック関数の呼び出し)が 届くことはないってことだね。 関数の実行中に中断して制御をシステムに戻し、また再開できるような仕組みでも jsに導入されない限り不可能よ。
448 :
439 :2014/01/18(土) 18:33:25.56 ID:???
>>439 の条件だと不可能なんですね
どうもありがとう
不可能というか、設計次第。 そのためのdefferedだし
JavaScriptにはいろんな関数がある。 その関数と同等の動きをするものを別の関数を使って再実装でできるが、 alert関数と同じ仕様の関数をブラウザのJavaScriptでは実装できない。
451 :
Name_Not_Found :2014/01/20(月) 20:55:31.34 ID:MbJLhuKb
要素#aaaにマウスポインタが数秒間乗っていた時にポップアップを出す ために↓のようなコードを書きました。 $('#aaa').hover(showPopup, hidePopup); function showPopup(e) { timer = setTimeout(function() { var x = e.pageX; var y = e.pageY; popup.css('left', x + 5); popup.css('top', y + 5); popup.show(); }, 3000); } function hidePopup(e) { ポップアップを消す処理。 } これでは、e.pageX, e.pageYはマウスポインタが#aaaに乗った時の 座標になってしまうのですが、数秒間乗っていた後の座標を得るには どうしたら良いですか?
setTimeout(function() { return function() { var x = ... 試してないけど、これでいけない?
>>451 setTimeoutをセットした時のイベントを使っているからそうなります
setTimeoutが動いた時点で、今のマウス座標を取得する必要があります
それをどうやるかってのをきいてんだろ?
ごめん リアルタイムに座標を取得する方法は、たくさん見つかるので、何で動かないの?って質問かと思った 一応mousemoveイベントあたりに使えばできるけど、ネットブックとかだと重たい
日本語も不自由だった あたりに→あたりを
「マウスポインタが数秒間乗っていた時」なんだから マウスポインタが動いてるとは限らないんじゃね?
細かく言うと、別でmousemoveとっておいて記録しておくって話 その時動いてなくても直前は動いていた訳だからこと足りると思う まぁ近いもの作ってた時は、ウィンドウ外に出た時とかその辺の処理が面倒だったけど(笑)
461 :
Name_Not_Found :2014/01/25(土) 19:21:47.26 ID:333DPtEL
死ねゴミ共が
jQueryをブラウザ間の互換性問題を解決するライブラリと勘違いしている奴が多すぎる。 jQueryのクエリーってなんなのか考えてみなよ。 問い合わせだろ。DOMをセレクタで問い合わせて、 その結果セットに対して操作する関数型言語風ライブラリだ。 ブラウザのgetElementsBySelectorはセレクタでDOMを取得することはできるが、 結果セットに対して操作はできない。一エレメントずつしか操作できない。
おっと、反論は言えませんでした!
465 :
Name_Not_Found :2014/01/26(日) 15:11:48.46 ID:6Kjlmy1d
jqueryについて質問です。 今bxsliderを使ってスライダーを実装しているんですが、 どうやらスライドする瞬間(スライド中)にヘッダーやbody内の文字と画像の一部が ぶれてしまいます。 1pxくらいずれる感じで、文字が太くなり、画像は位置がすこし左にずれてしまう状態です。 またすべての画像ではなく、一部の画像だけであったり、 文字に関しても一部影響がないものもありました。 ヘッダーはすべて画像ではなくテキストで作っているのですが、 positionをfixedではなく、static(デフォルト)にするとヘッダーに関してはぶれがなくなり 通常通り表示されました。 以下試したことになります。 ・スライダー以外のjs・自作jsをすべて切る ・bxslider以外を使ってみる(flexslider) ・ヘッダーとスライダーのみ残して他をすべて消してみる。 ・chromeのみスライドの瞬間ずれる。firefoxで見たらスライドの瞬間ずれるのではなく 常にずれている状態(文字が太くなって見える) 分かっている情報がこれだけになってしまうのですが、今まで起きたことがない現象だったので 色々調べてみたのですが、まったく見当がつきません。 ご教授願えませんでしょうか。 他に必要な情報などあればご指摘ください。
466 :
Name_Not_Found :2014/01/26(日) 15:33:07.51 ID:6Kjlmy1d
465です。 書き忘れがあったので追記させていただきます。 テキストのぶれに関してですが、デフォルトで入っているフォントを 指定しているときは特に何もないのですが、font-familyでヒラギノなど を指定しているとぶれてしまうようです。 画像に関してはぶれる(ずれる)原因はまだ分かりません。 よろしくお願い致します。
クロスブラウザかつ、様々なブラウザバージョンを前提とするなら position:fixedはいろいろアレなので使わないほうがいい トラブルの原因にしかならん 特にスマホ用のページでposition:fixedとかやばすぎる
IE6でposition:fixedは使えなかったんだ。 そのIE6が死滅したというのに 今度はスマホのせいでposition:fixedが使えないんだよな。 死ねよwebkit
469 :
465 :2014/01/27(月) 00:11:41.33 ID:OD+SSzR8
ご返答ありがとうございます。 今回はまだスマホ用サイトを別で作るか、PCサイトとワンソースにするか決めてませんでしたが fixedはスマホでダメなんですか。。 メニュー追従サイト多いので安易な考えで追従メニューで設計してしまいました。 追従させようと思ったらfixedではなくjqueryで対応させるんでしょうか。 また先ほど記述した問題ですが、fixedをやめてもブレ問題は直りませんでした。。 以前別サイトで使った際はこのような問題は起きなかっただけに 原因がわかりません。 最終的に治らなければスライダーを使うことは諦めるしか無いと思いますが もしお分かりの方おられましたら、ご教授お願いいたします。
> 追従させようと思ったらfixedではなくjqueryで対応させるんでしょうか。 追従させなくていい。 そもそも、全く同じように表示させる必要はない。 対応しているなら完全な形、 そうでないのなら、そこそこの形で 表示すればいい。 スライダー? ぶれ? 自分の手にあまるようなものを使うなよ。 ソースコードを読んで修正できるレベルじゃないなら、 それは「君にはそれをやる力がない」ってことだ。
fixedてモバイルの広告とかでつかってねーか
473 :
Name_Not_Found :2014/01/28(火) 11:25:15.66 ID:PQRsBxiA
jqueryのhtml取得で質問です。 <div id="test"><input type="text"></div> こういう入力フォームがあるとして、inputに値を入れてから jqueryでhtmlを取得しようとしました。 ($("#test").html(); しかし、入力した値が入っていないhtmlが返ってきます。 どうすればいいのでしょうか?
そりゃ、フォームに値を入れたが HTMLを書き換えてないんだから当然だろ。 HTMLじゃなくて、フォームの値を取得しろ。
少し冗長だが var enteredValue = $("#test>input[type='text']").val();
[type=text]いらないしょ
だから「冗長」って書いてあるんだと思うよ。
質問の意図としては var enteredValue = $("#test>input[type='text']").val(); $("#test>input[type='text']").attr('value', enteredValue); ($("#test").html(); こうじゃねーの? なぜそんなことがしたいのかはさっぱりだけど。
tail -f みたいなことを簡単に実現できるライブラリある?
ない
ないか。 ありがとう
ほんとうに無いのかな・・・?
「tail -f みたいなこと」 が具体的に何を意味するかだな
ajax通信して取得したデータをどんどん最下部に追加表示していく ってんなら、どっかにライブラリなんざありそうだし、 jquery使って割と簡単に実装出来ると思うが・・・
jqueryのtext()だと改行が消失します <br>や<div>hoge</div>は改行を温存させたいのですが 自分でhtmlを読んで加工するしかないのでしょうか?
>>486 そういうのをとったりつけたりする関数あったよね
brはともかく、divはcssまで読まんとダメだぞ やってられんわ
具体的に何をどうしたいのかがわからないと答えようがないわな
Eclipseみたいにマウスドラッグで画面構成を変えられるようにしたい。ライブラリありますか?
どういう目的のWebアプリの画面構成の、どういうUI要素をどのようにドラッグ してどこに対してドロップして、結果的に何をやりたいのか。 いろんなことができるEclipseを引き合いに出して「Eclipseみたい」で 通じるエスパーは居ないとおもうぞ。
>>491 エスパーになろうぜ
こういう書き方をしている時点で浅いとわかる。
したがってEclipseの使い方も相応に浅そうだ。
おそらくデフォルトからほとんどいじっていない感じ。
その状態から彼の能力で出来うることを推測すると
タブ表示とあと境界ドラッグくらいしか無いと思う。
>>491 お前Eclipse知らないでしょ?
もしくはデフォルトで使ってるだけとか
Eclipseの「画面構成を変えられる機能」は
特徴的だからEclipseみたいで通じるんだよ。
だいたいあんた「画面構成を変えられる機能」ではなく
画面構成の話をしてるよね? どんな画面構成にするかって話をしてる。
>>490 使ったこと無いけどExtJSあたりが使えるんじゃない?
jqueryで ある要素の先祖に、指定したクラスの要素があるか を調べるにはどうしたらいいですか?
>>495 普通に考えると、jQueryのparent()か、parentElementで遡る感じかな
そもそもどこまで遡れば良いか決まってるなら、別で管理しておいた方がよいかも
それでもいいけど .parents() .closest() .parentsUntil() あたりでやるほうが楽
parentsで出来そうです ありがとうございました
parentsと pantsって なんか似てるよな?
リスト(li)内にあるbuttonとかのイベントから辿って 何階層か上の親要素にある属性値とかを取得するのに var productId = $("li.button").parents().parents().parents().attr("data-productid") みたいにしちゃうんだけど、もっといい方法ないですか?
>>500 $('li.button').parents('[data-productid]').attr('data-productid')
var productId = $("li.button").pants().pants().pants().attr("data-productid") おおお、ありがとうございます!
DOMツリーを走査し、指定の文字列を含む要素をリストアップしたいです それをjQueryでするにはどうしたらいいですか?
>>504 $(':contains("指定の文字列")')
$('#foo').find(':contains("指定の文字列")')
ありがとうございます
507 :
Name_Not_Found :2014/02/15(土) 16:26:59.53 ID:GMqHerFj
<td class="a"> テキスト1<span>テキスト2</span>テキスト3 </td> のとき,テキスト3のみを赤くしたいのですが,うまくいきません。 試したのは次のとおりです。 $(".a").contents().eq(2).css('color', 'red'); contents()で三つの要素として取得できると思っているのですが, テキスト要素の扱いが難しいです。
まずはDOMだとどうするか考えてみよう。 テキストノードにそういうの設定できるか?
509 :
507 :2014/02/17(月) 11:26:51.29 ID:eKulNwx6
$($(".a")[0].lastChild).wrap("div"); $(".a").contents().eq(2).css('color', 'red'); かな?
aタグと混同するわ
>>509 そこは、わざわざDOMつかわなくても。
あと、spanのほうがいいんじゃないかな。
.wrap()のつかいかたはもういちど見直して。
>>507 「三つの要素として取得」ってところ、思ってるじゃなくて確認するのが先
マーカーみたいなのなら、上に重ねても良いかも
質問させてください
「Featured Image Zoomer」という画像を拡大して表示するJavaScriptの
jsファイルを読み込むとそれ以外のScriptが動かなくなります。
ソースの中になにか原因となるものがあるのでしょうか?
ソース
http://jsbin.com/cifukiye/1/
グローバル汚染してんじゃないの?
513ですがグローバル汚染はしてないと思います・・・ 質問しておいてなんですが皆さんの時間を割くのも申し訳ないので やっぱり原因究明をあきらめます。
$.noConflict()じゃね?
css-- .foo{background-color:red;} html-- <div class="foo">bar</div> となっている場合、ブラウザにて開いた後、30秒後に文字列の後ろの赤い背景をフェードアウトさせるにはどうすればいいですか? $("#foo").delay(3000).fadeOut(function(){$(this).removeClass("foo")); では、フェードアウト時に文字列barまで消えてしまいます
background-color変えればいいだけのことじゃないの?
それが、 $("#foo").delay(3000).css("background-color", "red") では出来なかったので 最初から背景が赤色で出てきてしまいます
>>518 <style>#foo { transition: 1s 3s; background-color: #F00;}</style>
<script>setTimeout(function(){ document.getElementById("foo").style.backgroundColor = "transparent";},0);</script>
<div id="foo">#foo</div>
>>518 $("#foo") は、$(".foo") の親になってるのかな?
>>521 あ、ありがとうございます
今から試してみます
>>522 書き間違えました
.fooです
すみません
>>524 それを考えるのが君の仕事。
答えなんてない。
<div id="a">aaa<div id="b">bbb</div>aaa</div> #b外かつ#a内をクリックすると関数を実行する方法を教えてください
#a内(#b内を除く)をクリックすると関数を実行する方法を教えてください と書いたほうがわかりやすい。
>>527 event.target.id === 'a'
530 :
527 :2014/03/02(日) 17:26:08.82 ID:???
if(this===event.target)で出来ました。ありがとう
「jQuery Plugin Boilerplate, revisited」
http://stefangabos.ro/jquery/jquery-plugin-boilerplate-revisited/ の中で、次のような実装があります。
var $element = $(element), // reference to the jQuery version of DOM element
element = element; // reference to the actual DOM element
上はjQueryオブジェクトとしてのDOM要素への参照、
下はDOM要素の実体への参照、という意味だと思うんですが、
下のような記述を明示的に入れる意味ってあるんでしょうか?
532 :
Name_Not_Found :2014/03/04(火) 01:37:32.11 ID:4ioL9Lg9
一番下にスクロールしたら、 同じページの一番トップにつながって、1ページ中を永久ループさせたいです。 写真とか横スライドで永久ループというのはあるようですが、 要素は写真だけとも限りません。 そのようなjQueryライブラリはありますか?
>>531 コメントで説明文を入れたいがためではないでしょうか
535 :
Name_Not_Found :2014/03/04(火) 15:08:50.55 ID:ZseOkVFB
Ligthbox2.6 のTitle表示で、brタグを使わずにタイトルを改行させて表示させたいのですが、ソースコードの直し方がわかりません。 lightbox-2.6.min.js を使ってます。 修正方法がわかるかたおしえてください。
>>535 title="<br>helllo" という風にいちいち<br>タグを挿入したくないのか
title="hello
world"と書いて改行表示させたいのか
それとも違う意味なのか分かりません
setInterval関数使って swapFirstLastをタイマーで呼んでやればいいよ
539 :
Name_Not_Found :2014/03/04(火) 21:07:23.26 ID:ZseOkVFB
>536 >title="hello >world"と書いて改行表示させたいのか 書き方悪くすみません。 上記表示させたいのです。 lightbox-2.6.min.js のソースでの書き換え場所をご教授よろしくお願いします。
title: b(e).attr('title')
541 :
Name_Not_Found :2014/03/04(火) 22:01:49.61 ID:ZseOkVFB
>540 すみません、それをどう直すのでしょうか? 検索して調べているのですがなかなかわかりません。
542 :
537 :2014/03/05(水) 01:41:23.59 ID:???
>>538 回答していただきありがとうございます!
自分なりに調べて書いてみたのですが、これを入れたら自動で動きますか?
function()
{
setInterval("swapFirstLast()",1000);
}
さっそく試してみれ 習うより慣れろ、だよ
544 :
537 :2014/03/05(水) 12:37:41.85 ID:???
いろいろ試してみたけどやはり動きませんでした・・・orz
コンソールみてみればエラーが出てるんじゃね? swapFirstLastは $(document).ready(function() { … の中にあるから そういう形のsetInterval()では呼び出せない。 スコープ javascript あたりのキーワードでぐぐってみて。 それでもダメならまたおいで。
546 :
Name_Not_Found :2014/03/06(木) 11:49:26.78 ID:BWbz8ope
jQueryを本格的に勉強しようと思う初心者だけど、読むべき初心者用の本を教えれ。 CSSやJavaScriptは初心者レベルですが知識はある程度あります。
547 :
Name_Not_Found :2014/03/06(木) 16:27:21.33 ID:BWbz8ope
さあ教えれ
549 :
Name_Not_Found :2014/03/06(木) 18:40:50.66 ID:BWbz8ope
こら、それはケツノアナホールのことについてじゃないか
550 :
537 :2014/03/07(金) 15:46:10.18 ID:???
スコープについて勉強してきたのですが これをどうやって応用したらいいか自分の頭では理解できませんでした・・・
応用ってどういう事だ? 応用もクソもないだろ クラスでも関数でも書いてれば分かる
>>551 普段あまり使わないよね (使ってる人も少ない)
変数がプログラムから見れないのは不便な仕様だと思う
>>550 あなたが
>>542 でやろうとした、setInterval("文字列", 1000); のやり方は、
スコープの関係でfunctionの中にあるfunctionは呼び出せない。
じゃあ、どうするか、setInterval(関数名, 1000);の方式で呼び出す。
それだけのことなんよ。
554 :
553 :2014/03/07(金) 19:28:32.44 ID:???
あ、もちろん setInterval(関数名, 1000) でもその関数が見える位置じゃないとだめだからね。
>>550 スコープを知らないと困ることあるよ
くらいで良いんじゃないかな
セレクタの指定で $('li:not(".klass6")') とすると、liタグでクラスにklass6が指定されていない要素を選択 ってことですが、これだとklass6の1つしか指定できないですが klass1〜klass10までを指定されていないliタグ、というのを 一発で指定するセレクタの書き方はどうすればいいでしょう? $('li:not([class^="llass"][class*=" klass"])') じゃダメですよね?
カンマで並べてみたら?できるかどうか知らないけど。
>>556 セレクタで取ってきた集合から、
klass1〜klass10を取り除くとか。
取り除くってメソッドも合ったはず。
:not() とか絡めてるからややこしいけど、
klass1〜klass10を並べること無く指定するにはってことでじゃないの?質問の意図としては。
class="foo klass1 bar" となるケースも含めて。
.not() メソッドを使ってもそれは同じことだし。
だったら
>>557 の
$('li:not([class^="klass"],[class*=" klass"])')
か、同じ意味の
$('li:not([class^="klass"]):not([class*=" klass"])')
かかな
knockout.jsについて教えて下さい。 ViewModelのプロパティa,b,c,A,B,Cはobservableで <input type="text" data-bind="value:?">でユーザが読み書きできます。 ベクトル[a,b,c]と[A,B,C]は一次変換のような関係を持っていて、 ユーザがa,b,cどれか1つ以上変更するとA,B,Cが一度に再計算して表示させたい。 ユーザがA,B,Cどれか1つ以上変更するとa,b,cが一度に再計算して表示させたい。 同時に2つ変更されることもあります。 どのように記述したらよいでしょうか?
IEやChromeだと「移動しますか?」とメッセージが出るのですがFirefoxだとメッセージが表示されません <script> $(function(){ $(window).bind('beforeunload', function() { return '移動しますか?'; }); }); </script> これはどこかに間違いがあるということでしょうか? まったく見当がつかないのでアドバイスいただけると助かります。
561ではないが確かにffだとメッセージ出ないな いろいろとキャンセルしてみたりアレコレしてみたけどffだけメッセージのコントロールができん 知らなかったわ
jquery.xdomainajax.js使ったサンプル全部動かないんだけどなんで?
失礼なんでもない
どんまい
xdomainajax.jsでRAWデータ取得できないのは仕様ですか
568 :
Name_Not_Found :2014/03/12(水) 18:07:55.16 ID:8hMFHiI2
質問です。 <script id="hoge" type="text/xml" src="hoge.xml"></script> のようにした場合にhoge.xmlの中身が取り出せません… srcじゃなく直接埋め込んだ場合は取り出せます。 取り出す方法をおせーてください。
>>567 仕様です。
>>568 srcからデータを取り出す事ができるのでしょうか、私も知りたいです。
メモリーにアクセスするんですかね。
上にあるxdomainajax.jsはcallbackを実行してデータを取得するだけですし。
jquerymobileでヘッダー、コンテンツ、フッターと作りました。 コンテンツ内にrssフィードで外部サイトの最新記事を表示できるようにしたのですが、 外部サイトへ移動すると、当たり前ですがヘッダーやフッターがなくなります。 コンテンツ内に外部サイトを表示する方法など教えて下さい。
外部サイトで自サイトのヘッダー、コンテンツ、フッターを表示させ さらにコンテンツ内に外部サイトを表示させたいという意味ですか?
そうです
それは自分がネットサーフィンしているときに 常に上部にRSSが表示されていればいいという意味ですか?
574 :
572 :2014/03/14(金) 03:41:33.33 ID:23Yn9Wb2
,.;'‐、____,:-;';:、. /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ. /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ. /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:ヽ. i;:;:;:;:;:/ノ-'-''"ヽ;:;:;ヽ'''-ヽ、;:;:;:;:;| {;:;:;:;:ノ■■■ ■■■ヽ;:;:;} ヽ;:;{ _ _ |;:;:{ };:;|三/ ●),. 、(● ヽ三 |〈 ヽ| " ゙='"/:::ヾ='"゙ | } __________ { |∫ ∴ (,.、::,. ) ∵ |/ / ゝ::●. ...:人:人:::..... ...! < わたしがへんなおじさんです {;;ヽ:.:.:.:.:.:.:.<Ξ>:.::.:.:.:.:.:.:/;} \ / ヽ:.:.:.:.::.:.:.:.:.:.:.:.:.:.:/ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / |ヽ:.:.:.:.:.:.:.:.:.:/| \ ヽ ̄ ̄ ̄ / ヽ___/
違います。 jqueryで同一ファイルの別ページやリソースならuiはそのままで遷移できますよね? それと同じように全くの別のサイト、例えばyafooやgoogleを表示させれないかな?と 思ったのですが、やり方が解らないのです。
iframeでやってみます。 ありがとうございました。
jQueryUIのsortableでテーブルの行ごと移動させたいんだけど表全体が動いてしまう。 テーブルは無理なのかな。 できれば列の移動もやりたい。
>>578 ちゃんとjQuery使えるようになろうよw
jQueryってより、なんだかんだでJavaScriptをきちんと理解してないと jQueryを使いこなすの無理だよな どっかからプラグイン持ってきて寄せ集めて使うだけになってしまう
まあ、ここはWeb制作板だからな。 プログラマというより、デザイナーが デザインの一環として便利なテーブルを作成するタグは〜 みたいな感覚で使ってるんだろ。 自分ができるところの限界は、用意されている機能のみ。 自分で何かを作れない。あぁ可哀想w
jsは触りだけ理解してればjQueryに限っては使えるでしょ それよりもcss3とjQueryについて勉強した方がいいわ
jQueryを使って、自分がやりたい事を自力で 実装できなければ、jQueryを使えるとはいえないよ。 そんな○○をするコードを教えて下さい みたいな、魔法の呪文を聞くような そういう質問をするようなものはjQueryを使えていない。
584 :
578 :2014/03/15(土) 19:58:34.60 ID:???
ググったらわかった。
なんで聞く前にググらないんだろ
最終的にググって自分で見つけることになったとしても 書き込んでいれば、誰かが代わりにググってくれるかもしれない。 運がよければ、自分の時間を省ける。
キーワードがわからんとかそんな感じじゃね?
>>587 忙しいんですよ。他にやることがある。
他のやることをやっている間に
他人が調べてくれたら超ラッキーw
あんまりそういうこと言ってると、調べてもらえなくなるぞ 俺は質問があって知らんことがあったら調べてみたりはするけど、 あまりにも簡単に見つかったらそのまま放置してる
自分で調べてそれでも分からなかった向上心なある質問者、自分の勉強になる質問をしてくれた質問者、にだけ回答してる 基本、自分勝手な質問者ばかりでうんざりしてる どうせ、自分が教えてもらった分は他の人に回答しよう、とも思わない人達なんだろうし、助けようとは思わない
うん。だから「自分で調べましたがわかりませんでした」って 定型文を入れるようにしているよ。
このスレの話じゃないのか
594 :
591 :2014/03/16(日) 20:25:32.57 ID:???
>>592 念のためいっておくが、「自分で調べましたがわかりませんでした」と書いてあっても「何を調べてどう理解したのか」が具体的にかかれていなければ信用しないから、その手の質問に回答することは絶対にない
「初心者なので詳しくお願いします」や「サルでもわかるように回答お願いします」と同じレベル
いや、別にあんただけに聞いてるわけじゃないから。 それでも答える奴はいるよ。 そういう奴を釣るんだ。 っていうか具体的に書く時間あったら、自分で調べるってw 最小の労力で、手間を省けなきゃ意味無いでしょw
くだらん自演をしやがって
経験豊かな人はお前に回答しない 釣れる回答は初心者止まり 一生、底辺を彷徨っていればいいよ
でも多分俺の方が上級者だぜ?w
上級者はぐぐったらわかる質問をしない
この根拠のない自信の出所はどこにあるんだろ
>>599 ソースを読まず、リファレンスを読まないお前より下ってことはない
見栄を張るのも程々にすればいいのに
いやいや、ソースも見るし、リファレンスも見るよ。 たとえばjQueryのイベントハンドラってjQuery内部で管理していて、 addEventListenerの呼び出し回数は最小限になってるの知っているかな?
ソースもリファレンスも読むなら
>>578 の質問が出る事自体が有り得ない
適当にしか読んでない事がよくわかるよ
> たとえばjQueryのイベントハンドラってjQuery内部で管理していて、
> addEventListenerの呼び出し回数は最小限になってるの知っているかな?
当然、知ってる
呼び出し回数を最小限にすることが目的ではないんだけどね
理解してるのか不安になる書き方だよ
>>606 あれ? もしかして勘違いしてた?
俺そいつじゃないよw
質問になってれば答えてくれる人もいるだろう 質問になってれば
>>607 じゃあ、何が「でも多分」なのさ?
自分から知識をひけらかしておいて
>>605 もスルーするし、よくわからない人だね
611 :
Name_Not_Found :2014/03/19(水) 08:31:54.91 ID:Man4Y6LF
年月日をそれぞれselectで選ぶフォームで、31日のない月を選択時は<option>31</option>を自動で消してくれるプラグインはありませんか? できれば閏年も対応しているもので。
612 :
Name_Not_Found :2014/03/19(水) 13:54:32.92 ID:AnXXCWAk
サブウィンドウから親ウィンドウ内の関数を操作したいのですが、 以下のコードでは駄目でした。どうすればいいのでしょうか? //サブウィンドウ window.opener.$.test(1); //親ウィンドウ jQuery(function($) { function test(num){ alert(num); } });
>>611 プラグイン探す間に自分で書いた方がはやそうだが
SerializeでとってきたJson形式の配列にJsonオブジェクトを挿入したいんですがどうしたらいいですか?
>>615 objectなのかstringなのか
formElementをserialize()したなら文字列
スライドギャラリーに画像や動画(youtube)を混在させて、 自動でスライドをループさせつつ、動画の再生ボタンをクリックした際は、 スライドを停止して動画を再生、という事をやりたいのですが、 何か良いライブラリはあるでしょうか?探してもなかなか見つかりませんでした。
えとさ、そういうのを自分で作るために jQueryがあるんだよ。
jQueryって一体なんなのさ
>>618 175 名前:Name_Not_Found[sage] 投稿日:2014/03/28(金) 10:54:14.15 ID:???
Web制作板でJavaScriptを使って〜jQueryを使って〜っていう質問でか
わいそうに思うのはプログラミングができないから、簡単な事なのに
誰が作ったかもしれないプラグインを探していること。
プラグインを探してもぴったり合うのなんて見つかることはまず無いし。
プラグインを使わなくてもほんの数行で作れるようなことまでプラグインを探している。
まともなプラグインを作れる人はほんの数行で作れるのわかってるから
そんな簡単なものにわざわざプラグインを作らないんだよ。
簡単なものにプラグインを作っている人のコードはすごく冗長。
なぜなら「作るのが大変だからプラグインにした」つもりでいるから。
スキルが低いから、そのプラグインは汎用性がなく改良もしにくい。
でも簡単な物も作れない人は、そんなどこの誰が作ったかもしれないような、
質の悪いプラグインを探して使って思ったことが出来ないと嘆いて無駄に時間を潰している。
自分でjQuery使えるようになれよ。
出来る側でよかった
90%以上だと思ってたわ 意外と素質ある奴多いんだな
jQuery公式ドキュメント(api.jquery.com)に使用例として載っているコードに時々酷いのがある。万人の手本となるようなのを書くべきだと思う。誰に言ったら直してもらえるの?
jQueryのサイトに書いてあるリンクから言えばいいよ。
628 :
Name_Not_Found :2014/04/13(日) 16:59:51.13 ID:EcULrMut
質問です ページのonloadと同時に、以下のようなファイル選択要素をクリックさせることは出来るでしょうか <input type="file" id="photo" accept="image/*" capture="camera"> 実際にはクリックしないけどクリックと同じ効果を持たせる(ファイル選択画面を開かせる)ということです よろしくお願いします
>>629 GJ!!と言いたいところなんだけど、
semoohを参考にしているからか、jQueryの仕様がだいぶ古いね。。。
UI系イベントは今は基本的にon()でまとめられてるし。
最新のjQuery仕様で作ってくれたら、もう毎日感謝して拝み崇め奉るよ。
jsapiってなんで読み込んでんの
なんでjQueryの読み込むバージョン変えたの? google側も1.11.0にしたら結果は変わらんと思うけど
すばやい回答ありがとうございます。
>>634 1.11.0にしたらIE11でも表示されました。
前にどこかのコピペしてそのまま使ってました。
ありがとうございました
>>633 削除しても表示されました。
前にどこかのコピペしてそのまま使ってました。
ありがとうございました
残るはCROMEでの表示なんですがどうすれば良いでしょうか?
よろしくお願いします。
636 :
635 :2014/04/15(火) 14:23:29.14 ID:???
起動時に --allow-file-access-from-files を付けたら表示されました 大変失礼致しました。
きちんと結果を書く姿勢がよい
lodashはunderscoreの互換ですが lodashにしかない機能もあるのでしょうか?
コピペプレイヤーは大変だな
>>638 トップページに、Features not in Underscoreって書いてあるじゃん
たくさんありすぎるwww
641 :
Name_Not_Found :2014/04/16(水) 23:57:12.10 ID:9UmH3exq
今レスポンシブでページを作ってて、divをwidth:100%でサイズ設定しています。 それで、いろいろブラウザの横幅を変化させた時に上記のdivの横幅が何ピクセルか調べたいんですが、 $('div').width(); $('div').innnerWidth(); などやっても100が返ってきます。多分100%の100だと思うんですが… どうにかしてpxで取得する方法はないでしょうか よろしくお願いします
>>640 新しい関数があるというより内部の挙動が拡張されてるって感じですね
ありがとうございました
644 :
Name_Not_Found :2014/04/18(金) 18:43:37.70 ID:VjNz+jnN
すみません、もともとはCSSの問題なんですが、今transformのscale()やrotate()を使って 画像を回転させたり拡大させたりのテストをしてます。 それで、以下のようにズームボタンと回転ボタンを作ってるんですが ズームさせたあとに回転させると、ズームする前の元のサイズに戻ってしまいます。 なにかうまいこと解決する方法がないか考えてるんですがおもいつきません。 解決策や、もっと便利に実現できるプラグインなどあれば教えてください。 よろしくお願いします。 zooming=1; $('.b_zoom').click(function(){ //ズームボタン zooming += 0.2; $('.pic').css('-moz-transform','scale('+zooming+')').css('-webkit-transform','scale('+zooming+')').css('-o-transform','scale('+zooming+')').css('-ms-transform','scale('+zooming+')'); }); deg=0; $('.b_turnR').click(function(){ //回転ボタン deg += 45; $('.pic').css('-moz-transform','rotate('+deg+'deg)').css('-webkit-transform','rotate('+deg+'deg)').css('-o-transform','rotate('+deg+'deg)').css('-ms-transform','rotate('+deg+'deg)'); });
zooming=1; $('.b_zoom').click(function(){ //ズームボタン zooming += 0.2; $('.pic').css('transform','scale('+zooming+') rotate('+deg+'deg)' ); }); deg=0; $('.b_turnR').click(function(){ //回転ボタン deg += 45; $('.pic').css('transform','scale('+zooming+') rotate('+deg+'deg)' ); });
>>645 ありがとうございます!うまく行きました
web制作初心者なんだけど、サードパーティーのプラグインをあれこれ組み合わせてやってたんだが、 jQuery UIやjQuery Mobileの存在を知ってからこっちで開発した方が自由にカスタマイズ出来て便利だと思った。 それにサードパーティーのものを複数組み合わせるのは筋が悪い感じがして、外した方がいいのかなと悩み中。
jQueryプラグインは基本的に自分で作るものであって 他人の物を使うべきじゃないよ。 使うに値するjQueryプラグインってのはほんの僅か。 ほとんどが、jQuery知っていれば使うまでもないレベルか、 無駄な機能つけまくりで複雑で、サポートもされないようなしろもの。 jQueryプラグインは自分で作れないかわいそうな人のためにあるものw
http://www.jqmgallery.com/ ここでjQuery Mobileで構築されたサイトを開いてブラウザの大きさを変更してもレイアウトが変わらない。
なんじゃこりゃと思ったら、jQuery Mobileって元々モバイルサイト構築専用なんだね…。
今後はjQueryUIと統合してデスクトップにも対応していく方向らしいけど、現時点ではResponsive web designには
使いにくそう。というか使えないのかな。グリッドレイアウトなんかcssFrameworkでやったほうがいいだろうし、
モバイル専用サイトよりRWDの方が主流になるだろうからjQuery Mobileは手を出すのをやめとこう。
jQuery Mobileは、ウェブでネイティブアプリのようなものを作るためのもの ウェブサイトを作るためのものではない。
>>648 とりあえずCMSのテーマでも作ろうかなと思って、themeforestでいろいろ参考に調べたけど、
ナビゲーションとかはなんかのプラグインをカスタマイズして使ってるのがほとんどだったよ。
>>650 jQuery MobileのAPIはResponsive web designに便利そうなのがいっぱいあるんだよね…。
>>648 めんどいから、必要なとこだけ拾ってくる
Kendo UI 試してみたけど、jQueryUIより機能も豊富だし洗練されてる感じ UI libraryってその他にもいろいろ種類があるんだね 知らなかったわ
むしろjq uiって使い所ないだろ
煎茶とか剣道とか道場とか、禅なんてのもあるしweb界隈は和風が流行なのか
外国人がクールだと勘違いしてるから
>>655 何系の開発やってる?
jQueryUIって基本的なものだけど、開発の種類によってより特化したライブラリがあるなら教えて欲しい。
既存のUI系フレームワークは微妙なんだよな。 お手軽かと思えば意外と覚えること多くて学習コスト掛かる割に どこかで見た見た目になってしまう。 BootstrapとかjQuery Mobileとかすぐわかる。 ポイント絞って使うのはいいと思うけど。jQuery UIのdialogとか。 あとはCSSで常用するUIコンポーネント作ったほうが後々便利だけど 他の人が使いにくいオレオレコンポーネントになりがち。。。悩む
何年か生き残って今もアップデートされてるのはどれも使い勝手いい感じ 新しいのはmobileを別に分けるんじゃなくレスポンシブ対応にしてるようだね
OSのアピアランスも統一されてるんだから 見たことあっても良くね? 使う方の学習コストも下がるし
テーマビルダーがあって、Widgetに config method event が細かく揃ってるフレームワークなら 手間はかかるけど自分の思い通りにカスタマイズできるんじゃないの?
var hoge =document.getElementById("id"); の様にjQueryを使わず取得したhoge要素に jQueryのfind()を使ったりする方法ってあるんでしょうか?
$(hoge).find()
>>663 hoge は要素じゃない
jQuery(hoge).find()
というか、ここまで回りくどい事をするなら初めから querySelectorAll を使えばいい
ちょっと教えろください。既存のテンプレートにprettyPhotoを組み合わせて使いたいんだけど、 prettyPhotoがどうしても動かないです。 【サンプルコード】 まずheadに以下を記述して <link rel="stylesheet" href="css/prettyPhoto.css" type="text/css" media="screen"> <script src="js/jquery.min.js"></script> <script src="js/jquery.prettyPhoto.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); }); bodyに以下を記述 <li class="box"><a href="01L.jpg" rel="prettyPhoto"><img alt="" src="img/01.jpg"></a></li> ↑だけならたぶん問題ないけど、他のjqueryと組み合わさるとコンフリクトしたりする?
一応動かない状態になってるソースを丸々書いてみます。初歩的な問題な気もするけどわからん。
<link rel="stylesheet" href="css/bootstrap.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/responsive.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/touchTouch.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/prettyPhoto.css" type="text/css" media="screen">
<link href='
http://fonts.googleapis.com/css?family=Open+Sans:400,300 ' rel='stylesheet' type='text/css'>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.prettyPhoto.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
</script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/superfish.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/touchTouch.jquery.js"></script>
<script type="text/javascript"></script>
<script type="text/javascript">if($(window).width()>1024){document.write("<"+"script src='js/jquery.preloader.js'></"+"script>");}
いろいろひどい
>>670 やっぱコンフリクトか…
リンク先ちょっと頑張って読んでみる。
テンプレ弄ってるとやっぱりわけわからんことになるなあw
> テンプレ弄ってるとやっぱりわけわからんことになるなあw テンプレのせいではない。 お前が未熟なだけである。
なんでなにも入ってないスクリプトタグがあるの?
>>674 最後から二行目のこれ?<script type="text/javascript"></script>
確かに空だw テンプレのままなので知らんw
空でも誤動作しないと思うけど
・人気上昇中のJavaScriptライブラリを調べてみた[ジャンル別に比較]
http://www.buildinsider.net/web/popularjslib/2014 ライブラリをカテゴリ別に並べてあるのはわかりやすいけど、
googleトレンドの比較ってあんまり意味無さそう。
>「jQuery」の完勝で、そのライバルとなり得る有力候補も出てきていない
>「jQuery Mobile」の圧勝となっており、2014年もこの状況が続きそうである。
とか言われても「えっ?」て感じ。
実際DOM操作でjQuery以外使ってるサイトなんてほとんど無いだろ
jQueryベースじゃないのも多いよ モバイル向けなんか、他と比較すると「jQuery Mobile」はかなり古くなったなぁという感じ
>>671 それよりまず
js/jquery.min.js と js/jquery.js がある状態を何とかしなさいよ。
コンフリクトかどうかは、試してないからわからん。
もしそれぞれのプラグインがそれぞれのjQueryのバージョンに依存してたりした
場合はjs/jquery.min.js と js/jquery.jsを同時に使う必要があるけど、
noConflictを使えばうまくいく*可能性*がある。
>>677 Yahoo!はほとんどjQuery使ってない
YAHOOは例外の中の一つだよ。 なぜなら、jQuery相当のフレームワークを 自社で作ってるから。 そんな会社殆ど無い。
YUIすごいのに、デザイナーには敷居が高いからかほとんど使う人いない
>>679 そもそもjquery.min.jsとjquery.jsの違いがわからん…
IBMもjQuery使ってないな
やはりコンフリクトかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>>683 minはミニマム。jquery.jsの改行やスペースを消してサイズ低減したのがjquery.min.js。jquery自体をカスタムするんじゃない限り普通jquery.min.jsを使う。
>>686 なるほどありがとう。やっぱ方法論だけで作るとダメだな。。
jquery関連って基礎基本の書籍もあんま無いし、勉強に行かないとあかんな
なんだよ「方法論」って?w 「方法論」って言葉が好きなオッサンがいたけど、 話してて意味不明だったわ。 方法論という言葉が適切で無い所で使っていて、 この言葉を使うたびに、賢そうなフリしている 馬鹿にしか見えなかったからさ。 君のようにね。
基本を学ばず切った貼ったで何とかする行為。 仕事だと断れずにどうしてもそうなることがあるっしょー。
<selected> <option value="01">アイテム1</option> <option value="02">アイテム1</option> <option>選択してください</option> </selected> という、UI的にはちょっと変則的なHTMLがある場合に、 optionの最後のvalue無しの要素を 選択状態にする方法はありますか?
option:last-childみたいなのあったでしょ ちゃんと覚えてないけどググって味噌
ありがとう!ぐぐってみます
質問です。 var doc = $(document); とか var that = $(this); って変数に格納したくなりますが… これって、以降の記述を短くできるだけでなく 動作の高速化につながるでしょうか?
何故自分で測らない
>>694 > って変数に格納したくなりますが…
なりません。
documentはならないけどthisは変数に入れたくなる
>>694 jqueryオブジェクトの変数は慣例的に$を頭に付けるので
$document,$this
になる
またオブジェクトの生成がバイパスできるので 当然高速化に繋がる
クラスとかタグとかならわかるけど IDとか、thisとか、documentを変数に入れる意味なんて速度的にはほとんど無い
遅いよりは速い方がいい はい論破
変数使うことでメモリ使用量上がるんだけどそこは無視か?
えええ キャッシュしておく方が普通減るだろ $documentなどが常に一つしかないだから
YUIって便利だなーと思ったら、SSLで使おうとしたらスゲーめんどくさいのね…。 CDN経由の Combo Loader ってシステムはパフォーマンスやカスタマイズには優れてるんだろうけど、なんか使い勝手悪い。 設計思想はいいなと思うんだけど残念。
<div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> これを$(this).clickで一つだけセレクトできると思いますが メインプログラムでならそのままthisを使うことができると思いますが このthisをメインプログラムの中のfunctionで使う方法はありませんか? 理由があり個別のidやclassを付けたくないのです
jqueryオブジェクトのスクロール位置を保存し、処理の後リストアしたいです そういうjqueryプラグインありませんか?
>>707 できます。
jQueryの入門書を買ってください。
>>708 ないでしょうね。そういうのは自分で作るもんです。
そのようなマイナーな処理をプラグインにしても、
使いみたいないし、そもそもほんの20行程度で
できるようなものをわざわざプラグインにしないです。
>>707 メインでvar $thatとかで変数を空で設定したあと、その変数にclick内で$(this)を格納すればできるかな。
>>709 ありがとうございました
たしかにすぐ作れました
【環境.】jQuery 2.0.3 iphone safari PCのブラウザでは問題ないんですが iphoneでページ全体にscrollTop&scrollLeftを利用する場合X軸をアニメーションするとY軸は0にリセットされ Y軸をアニメーションするとX軸は0にリセットされてしまいます Y軸のスクロール位置を保持したままX軸を操作することはできませんか?
仕事で2段階ソートが必要だったのでisotope使ってみたが、なんだこれw
実装すげー大変だな。サンプルを改変しないと無理。
MixItUpが簡便だけど、所詮ソートが一段階しかできない玩具だもんなあ。
>>712 ブラウザで問題ないならjqのバージョンを落としてみたら?
あとはHTMLチェッカーでエラーを調べてみるとか。
うわーisotopeわかんねー カテゴリの設定と設定ルールはどうなってるんだこれ。 どこに格納してあるかも分からん。
716 :
714 :2014/05/04(日) 01:49:06.68 ID:???
>>714 の件、
相当ナンセンスな方法ですが、下記のようにして、とりあえずしのぎました。
var url1 = '
http://www.example.com/ ';
var listUrl1 = $('.list a').eq(0).attr("href");
var listUrl2 = $('.list a').eq(1).attr("href");
var listUrl3 = $('.list a').eq(2).attr("href");
if((url1 == listUrl1) || (url1 == listUrl2) || (url1 == listUrl3)){
処理内容
}
たぶんもっとスマートな方法があると思うのですが、一般的な方法とかを
教えてもらえると有り難いです。
>>716 属性セレクタについて調べるといいよ
あなたが試行錯誤してた条件判断の部分は$()の中だけで解決する
すいません
>>251 で無事解決しました。 連投スマソ
こんなに手軽にjavascriptのプログラムが使えるようになると PHPでやるべきかjQueryでやるかの判断に迷いが出る場所が増えるな。 jQueryの方がタグ単位やid単位での作業が圧倒的にスマートにできるのはいいんだが、 基本的には同サーバー内だけの対応だし、読み込み関連がソースとして出せないのが残念。
>>719 jQuery.jsは簡便だけど下位互換性が保証されてないのが問題。なんだよそれって感じw
あちらが立てばこちらが立たずで困ってるわ。
バージョンアップで前にできていたことが出来なくなるわけじゃないしエラー位置見て修正していけばいいじゃん プラグインなら作者の修正街だけど
プラグインだって、自分で修正したほうが早いし 明らかにバグだったらそれを作者に報告 chromeのjsデバッガ使えば難しくないし
処理としてはそこそこ複雑な内容のはずなのに、 そぎ落としてユーザー関数にまとめていくと最終的にほんとに数行でまとまる。 jQueryわからない人からすると、簡単な作業だった風に思われそう。 まあ、確かに大変ではない事のが多いんだけど。
プラグインはたいていファイルサイズ小さくするために変数名とかめちゃくちゃになってるから面倒くさい
>>720 > jQuery.jsは簡便だけど下位互換性が保証されてないのが問
下位互換が保証されてないって何の話をしてるのさ
お前が無知なだけだろ?
jQueryは出来た理由の一つとして
ブラウザ間の互換性を減らすためという目的があるんだから
当然下位互換性も高いわ。
全知全能の人現る
>>725 多分、古いバージョン用のスクリプトが使えないことを言ってる
バカだから直せないんだろう
ID丸見えですよ…
下位互換性の意味が分かってなかったという落ち?
GoogleChlomeのjQuery関連用のデバッガ?コンソール?の有効な使い方(もしくは基本的な使い方)がわからないです・・。 具体的にどういうケースで使用しているのでしょうか? 例えば、FirebugのCSS確認のように他人の作成したページでもクロームで開いて、 jQueryで動いているであろう部分をインスペクタで選択すると該当箇所のjavascriptのソースを 表示したりできるのでしょうか? また自身で作成したページをローカルプレビューしてコンソールを使う事はありますか? もしあるとしたら、エラーメッセージが表示され、そこから原因を探れるかもしれないから使うという事でしょうか? 主に使っている事(より具体的に)、もしくは解説サイト(jQuery、jsのデバッグ関連の)があればご教授おねがいします。
>>720 > jQuery.jsは簡便だけど下位互換性が保証されてないのが問題。なんだよそれって感じw
あなた、下位互換性って本当に一体何の話をしているの?
http://e-words.jp/w/E4B88BE4BD8DE4BA92E68F9B.html > 機能や性能で下位に位置する製品が、同じ系列の上位の製品の
> 仕様や機能の一部を共有している(互換性がある)状態のこと。
>
> 例えば、廉価版のソフトウェア製品が、同じ系列のフル機能版と
> 同じデータ形式を扱うことができるような状況を意味する。これに対し、
> 上位の製品が下位の製品に対して互換性があることを上位互換(upper compatible)という。
> 常、下位の製品は上位の製品に比べ機能や仕様が制限・限定されているため、
> 下位互換の互換性は一部分、限定的なものである場合が多い。
>>724 > プラグインはたいていファイルサイズ小さくするために変数名とかめちゃくちゃになってるから面倒くさい
それminifyされてるだけだろw
オリジナルのソースみようぜ。
いや、今下位互換性の意味がどうのって議論が必要? つまるところ、言いたいのはv1.0.0で動いていたものが1.10.0で動かなくなるのが困るってことでしょ?
バージョンを新しくする意味や理由がわからないなら、新しくする意味はないな 新規で作るなら最新でやればいいが
どなたか
>>730 を回答もしくは誘導お願いします><
>>733 動かなくなるものが何か
具体的に聞きたいんだが?
言ったら、それはお前が悪いって
事になるだけだろうけどねw
>>738 俺に言われても困るわ
質問者に聞いてくれ
質問者は逃げ去った頃だろうな。
isotopeはjQueryで問題なく動くよ。
なんで
>>730 について無視するですか!?
いじめですか!?
スレ違いじゃないよね?
クロームスレなんかで当然Queryの事に回答なんてもらえないんだから
ここでしょ?
ひょっとして君たちも知らんだけなの?
こたえろやコノヤロー!!
ぷんぷん
イエイかンーンで答えれる質問にしてくれ
746 :
730 :2014/05/06(火) 21:16:33.71 ID:???
役に立つかどうかではない。 お前が有効活用できるかどうかだ。
748 :
730 :2014/05/06(火) 21:30:51.96 ID:???
>>744 あなたは今お葬式に出ています。
適切なマナーをイエイとシーンを使って
答えなさい。
>>742 うちの環境ではjqバージョン1.7.1以下じゃないと動かなくなるなあ。
>>750 やっぱりお前が悪いんじゃんかw
標準準拠モードで作れよ。つまり正しいHTMLを書けって話。
jQueryはもともと標準準拠モードでの動作は保証されていなかったが
一応対応していた。それをやめたのが1.7.1だ。
?
何を言ってもおまえが悪いと返す人が常駐しています
標準準拠モードにしたら動きました。 ありがとうございます。
イエイ ('A`)
757 :
635 :2014/05/08(木) 13:27:05.16 ID:???
こんにちは 先日はお世話になりました コマンドプロンプトから C:\Program Files (x86)\Google\Chrome\Application>chrome.exe -allow-file-access-from-files と入力してChromeを起動するとJQueryのloadも実行できるんですが ショートカットを作ってリンク先を "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files として起動してもloadが実行されません。 どこがダメなんでしょう? 宜しくお願いします。
758 :
635 :2014/05/08(木) 13:39:51.91 ID:???
すみません
>>757 はキャンセルです。
起動オプションなしのブラウザが立ち上がってる状態でショートカットを
実行していました。
ブラウザを全て終了させてからショートカットで起動したらloadも実行できまsちた。
失礼しました。
>>758 デキマチタカ ヨカタデチュネー ンーン ('A`)
jqueryで複数の子要素を持つ要素を作るにはどうやればいいですか?
jqオブジェクト作ってappend, appendToで親に突っ込む
何なんだこの漠然とした質問は
>>760 漠然としすぎてどこで困ってるのか分からないけど、
var elm="<div><span>ほにゃ</span>〜<span>ほにゃ</span></div>";
みたいなタグ含む文字列をまず作る。
(小要素が規則性があり多量ならfor文などで繰り返し連結して作れば良い)
そしたら上の人が言ってるみたいに入れたいところにいれる。
$("セレクタ").append($(elm).clone(true));
append部分は入れたい場所と方法によって異なる。cloneは場合によって必要ない。
jqでbody要素を作る時 $('body')と$(document.body)のどっちがいいですか?
しょうもない屁理屈好きだね〜
スピードランナーの合間にAOCするのやめてください
768 :
Name_Not_Found :2014/05/13(火) 01:56:36.25 ID:yPgdnJwb
.eq(2)と.eq(3)を同時に指定するにはどう書くのが良いですかね? .eq(2.3)のように書けないでしょうか
>>768 1.7以降なら:eqを複数指定、じゃなければfilter()のfunction内で指定かな
連続してるんなら..slice()でいけそうだけど
772 :
768 :2014/05/13(火) 21:36:37.11 ID:???
1箇所ならそれでいいかな。他に適当な方法思いつかない。 何箇所も出てきて、プラグイン作ってもいいようならば プラグイン書いてしまうってのも手かも マイナスのことを考えない簡単のなら jQuery.fn.extend({ eql: function () { var that = this; return this.pushStack(jQuery.map(arguments, function (n) { return that[n]; })); } }); こんな感じで $('li').eql(1,3,4).css('background-color', 'red'); 無計画に作るのはまずいけどねー
あ、equalじゃないな。inか?
jqueryに、 「コールバック関数を渡したらそれを呼び出す」をするメソッドはありますか?
自分で実装したら、一瞬で出来ました 単純ですが便利です ただこれが標準でないのが不思議です あるのでしょうか?
>>776 普通に呼び出せばいいだけなので必要性がない
いや必要はあるわけです
ねえな
ではjqueryオブジェクトのcssを、そのオブジェクト自体の属性を加工して設定する ということをメソッドチェーンを切らずにやってみて下さい
なんとなく .each() のことを言っている気がするけど… とりあえず、メソッドチェーンを切るんならできるようだからそのコードかいてみて
eachはdomが渡されますが、この場合はjqueryオブジェクトをそのまま渡すのです $hogeのdataを使って$hogeの設定をしたい時に $hoge.sample(function(){ this.css('left',this.data('left')); }); など。
多くの人は$(this)で間に合ってるからなあ…
その domで $(dom).css(.. ってするのでいいんじゃないの いや、プラグインを書くのは構わないとは思うけどよ
それを使ってどんな処理をするかわからないし、jqオブジェクトをそのまま渡す方が安心では? ともかく現状ではなかったということは分かりました ありがとうございました
さすがに .each() でjQueryオブジェクトをラッピングして渡すのは冗長だな
>>780 <span data-value='red'> 1 </span>
<span data-value='green'> 2 </span>
<span data-value='blue'> 3 </span>
たとえばこれをを一回のcss()で、それぞれ文字をdata-valueの値に
色を変えるとかいうのでしょ? できたよ。書かないけど。調べてね。
君、あの左上にキモいウサギみたいなのがいる日本語サイトみてるでしょ?
あれ、古すぎて今は害悪サイトだよ。
あんなの見てるから、今のjQueryでできることを知らないんだよ。
みんな、あのサイトへのリンクは外して、その他の日本語サイトをリンクしてくれ。
ウサギサイトなんて見てませんよ あとそれぞれのdomを操作するならそれこそeachでいいのでは?
存在しないdom要素のjqueryオブジェクトを生成した後、 そのdom要素を作成しても、 先に作ったjqueryオブジェクトを使って操作することは出来ません。 作成済みのjqueryオブジェクトに現在のdomの状況を反映させるにはどうしたらいいでしょうか?
>>789 作成済みのjqueryオブジェクト = $(今のDOM)
DOMとは無関係に生成してDOMに反映していないのなら
保持していても無意味なので捨てる
イベントハンドラがあるかどうか調べるプラグインを探しているのですが なかなか見つかりません 知っていたら教えて下さい
793 :
Name_Not_Found :2014/05/15(木) 08:55:39.77 ID:8xR+jm3o
$(document).ready(function(){ と $(function(){ は同じです。長い方で書く人もいるワケが知りたいです
no reason
> とかいうのでしょ? できたよ。書かないけど。 かわいいな
796 :
Name_Not_Found :2014/05/16(金) 01:13:09.26 ID:zBg26QpJ
■質問です■
下記みたいな相対パスのaタグをjQueryで絶対パスにするには
どう記述したらいいですか?
--------------------------
・パターン1
<a href="dir0/">dir0</a>
--------------------------
・パターン2
<a href="a-dir6/">a-dir6</a>
<a href="b-dir7/">b-dir7</a>
<a href="c-dir8/">c-dir8</a>
--------------------------
それぞれのhref属性の頭に
http://www.example.com/を付加する場合です
>>796 $('a').not('a[href^="http"]').each(function(idx, el) {
var url = ($(el).attr('href'));
$(el).attr('href', '
http://www.example.com/ ' + url);
});
こうかなー
みんなまだまだだなー。
っていうか、ダサいからeachつかって回すのいいかげんやめれ。
$('a').attr('href', function(index, attr) {
return '
http://www.example.com/ ' + attr;
});
jQueryでeachつかったら 負けだと思いなさい
800 :
797 :2014/05/16(金) 03:27:00.02 ID:???
$(window).resize(function(){ var w = $(window).width(); }); このようなfunctionの中の変数を外で使う方法はありませんか? 要素に文字を出力してそれを取得するってのを考えたんですが 正しい方法を教えてほしいです
var w; $(window).resize(function(){ w = $(this).width(); });
803 :
Name_Not_Found :2014/05/16(金) 10:59:07.11 ID:m55bHpB2
cgiで生成した都道府県を表示するselectのvalueを取得できず悩んでいます。 <select name="id"> <option value="北海道" selected>北海道</option> </select> var val = $("#id").val(); var val = $('#id option:selected').val(); など試したのですがダメでした。。 どのように取得したら良いでしょうか?
id:selectedは?
>>803 var val = $('option[selected]').val();
これでいいような。
807 :
Name_Not_Found :2014/05/16(金) 17:50:50.70 ID:nufJ6z2g
$('[name=id]').val()
>>796 確認するが、相対パス限定で絶対パスは含めないんだな?
あと、あなたの期待する結果は絶対パスではなく、絶対URLなんだが…
>>798 ご高説のところ悪いが、「相対パス」の条件が抜けてるぞ
http://www.example.com/ を挿入するのもダサいからやめれ
jQuery('a:not([href*="://"]):not([href^="/"])').attr('href', function () { return this.href; });
jQuery('a:not([href*="://"]):not([href^="/"])').each(function () { this.href = this.href; });
.each() の方がスマートだと思うがなー
>>797-798 両方ともいえることだけど、カレントディレクトリがルートでないと別の場所を参照するね
>>798 に至っては絶対URLで参照したURLが壊れる
というか、これどういう状況なんだろ? 絶対URLなんていつでも参照できるのに、わざわざhref属性値を書き換える理由がわからない
>>808 「下記の例みたいな相対パス」であって相対パスという条件だと言っていると限らない、
http://www.example.com/ を挿入するというのは
>>796 が言っていること。
というようなことは例なんだからどうでもいい。
eachがダサいというのは、jQueryの思想として(jQueryオブジェクトの)
集合に対して処理を適用するという考え方があるから。
SQL一発でできることを、一行ずつ処理しているのと同じセンスの無さを感じる。
ただし、セレクタが ('a:not([href*="://"]):not([href^="/"])') のように複雑になるのなら
eachの中で条件を書いたほうがまだまし。細かいことを言えば、内部リンク(#で始まる)は
どうするんだとかいろいろあるからもっと複雑になる。これは例だから俺は省略したまで。
もっとも条件が複雑になるのであれば、var elements = $('a').filter(function() { 条件 }); と
やってからattrを適用するというように、二行に分けたほうが良い。
そうするとやっぱりeachは要らなくなる。
あとjQueryは冗長。$が広く認識されているので$でよい。
>>810 > 絶対URLなんていつでも参照できるのに、わざわざhref属性値を書き換える理由がわからない
そもそも相対URLで適切にアクセスできる。ということを踏まえると、全く別のドメインに書き換えたいのかもしれない。
ということで自分のドメインに書き換えるのは質問の意図じゃないだろうし、
>>796 に
「
http://www.example.com/を追加する 」と書いてあったので、俺はその通りにした。
一律に全部のURLの相対パス部分を変えたいというのであれば、base要素を使うという手もある。
これらは似たようなことをしたことがあるので、最初から気づいていたのだがjQueryの
話からずれるのでわざわざ書かなかった。
> 「下記の例みたいな相対パス」であって相対パスという条件だと言っていると限らない、
相対パスが条件外ならわざわざ「相対パス」という書き方をしないし、4つものパターンを書く必要がない
そもそも、下記のようなURL変換が起きていい状況はあまりない
<a href="
http://www.example.com/ ">
http://www.example.com/</a >
↓
<a href="
http://www.example.com/ http://www.example.com/ ">
http://www.example.com/</a >
あえていえば、HTTPリダイレクタとしての機能だが、全URLが対象なら「相対パス」という文言を添える必要がない
> ただし、セレクタが ('a:not([href*="://"]):not([href^="/"])') のように複雑になるのならeachの中で条件を書いたほうがまだまし。
セレクタの中で済むことを他の機能に任せるのは無駄に感じる
# を絶対URL化するのも全く問題ない
> あとjQueryは冗長。$が広く認識されているので$でよい。
$ は他ライブラリと競合する可能性があり、ES3では機械化するコードのみに許された文字だった
ES5ではなくなった規約だが、このような短い文字を積極的に使用すべきだとは思っていない
せめて下記のように書くべきだ
jQuery(function ($) {
// ここにjQueryコードを書く
});
(function ($) {
// ここにjQueryコードを書く
}(jQuery))
それでも俺は $ を使おうとは思わないが
何を表しているのか誰にとってもわからない記号が非常に気持ち悪い
周知されてるから問題ない、とかそういうことではなく
それはjQueryを知らない人にとっては気持ち悪く感じるってことだから
813 :
812 :2014/05/17(土) 00:26:10.56 ID:???
すまん、レスアンカーを忘れてた
>>812 は>811に向けてのレス
> 相対パスが条件外ならわざわざ「相対パス」という書き方をしないし、4つものパターンを書く必要がない
え? 4つのパターン?
>>769 にかいてあるのは2つのパターンしか無いし、
そのパターンも単数なのか複数なのかで、
パターンのとしては1つしかないじゃん?
一体お前は何を見ていて、何を考えているんだ?
>>812 > セレクタの中で済むことを他の機能に任せるのは無駄に感じる
これはセレクタの能力不足なんだよ。
> # を絶対URL化するのも全く問題ない
なぜ問題無いと言い切れる?
俺が昔やった事例では、相対パス表記で書いている場合は
別のベースパスにしたかったのだが、
内部リンク表記は、内部リンクののままにしておきたかったんだよ。
> せめて下記のように書くべきだ
そう。だから、$でいいんだよ。$(セレクタ)という書き方はする必要がない。
> それはjQueryを知らない人にとっては気持ち悪く感じるってことだから
知らないなら勉強すればいいだけ。
知らない人に合わせるって考え方は害悪でしか無いから。 能力が低い人に合わせてコードを書くと、 それを見た人も能力低いままだし、 能力が上がらないから、楽できなくなるよ。 楽な方法っていうのは、高い能力と知識があって 初めて出来る方法だから。
>>815 > 知らないなら勉強すればいいだけ。
>>816 > 知らない人に合わせるって考え方は害悪でしか無いから。
気持ちはわからないでもないが、俺が知っていることを他の周りの誰もが知っているとは限らない
Array.prototype汚染を避けるのと理由は同じだ
誰もが正しい知識を持っていると思って行動すると痛い目を見る
これは突き詰めると全てのコードを自分で管理する必要がある
他人が作成したjQuery pluginの使用なんてもっての他だ
どんなコードが入っているのかわからないpluginなんて安心して使えない
もし、使うとしても安全なコードなのか精査しなくちゃならない
その為のコストを払えるというなら止めないが、俺はそこまでの労力を支払う時間がない
---
それから $ を使わないのはポリシーの問題だから他人にどういういわれる問題じゃない
変数名に a, b, c を使いたくないのと理由は同じだ
1文字の変数名なんて誰が見てもわかる変数名じゃないし、そんな名前を付けたくない
> 気持ちはわからないでもないが、俺が知っていることを他の周りの誰もが知っているとは限らない 教えればいいだけ。 たった数分で済むことでしょう? 「$はjQuery関数の別名」1分もいらない。 たった数分で解決する問題を、数年も ずっと便利なものを使わないいつづけるの? 知識は積み重ねだから、だからこんな程度で 引っかかってると、次の知識は得られない。
>>817 > 1文字の変数名なんて誰が見てもわかる変数名じゃないし、そんな名前を付けたくない
じゃあ、なんで$だけでみんなわかるのですか?
事実と矛盾してるじゃないですか。
>>819 みんなわかるってことをどうやって証明するの?
あなたが勝手に唱えてるだけじゃない
$ は jQuery の予約語だから他のライブラリでは使用してはいけないのか 初めて知ったよ
prototype.js の事もたまには思い出してあげてください
>>820 じゃあgithubでどちらがよく使われているか調べてみますか?
あなたの好きな評価基準でいいですよ。
どちらがよく使われているか、調べてみますから
あなたの基準を言ってください。
>>821 > $ は jQuery の予約語だから他のライブラリでは使用してはいけないのか
> 初めて知ったよ
違うよ。$はjQueryのシノニムとして一般的に使われる。
他のライブラリで使ってもいいし、実際prototype.jsで使われている。
かぶったらどうするかを解決するための機能もjQueryは備えているので、
混ぜて使うことも可能。その場合は$というのはローカル変数になる。
回避方法はある $.noConflict() のAPIを参照
>>824-825 知ってるが、jQuery を使えば回避できるのだから $ を使う必要がない
>>825 $.noConflict()を使うのはいいんだけど、
機械的に、$を全部jQueryに置き換えている奴がいてワロタw
jQuery(function($) {
});
でくくれば、中のコードはそのままでいいんだよって
教えてやったwww
>>826 数が多いことは $ が jQuery であることの保証にはならない
prototype.js かもしれないだろ?
>>827 jQueryは冗長。なんで面倒な書き方をする?
lodash.js と underscore.js も競合するけど、どちらか滅びるべきなんだね
>>829 そんなの、読み込んでるライブラリを見ればわかりますが???
>>832 lodashにもunderscoreにもnoConflictがあります。
>>837 え? 何が無駄だって?
$がjQueryかどうかを知りたいんでしょ?
使っているライブラリを見ればわかるって話なんだけど、
「無駄」って話が全くつながってない。
>>838 jjQuery を使用している場合、$ が何であるかを確認する必要がない
$ を使っている場合、$ が何であるか確認する必要がある
そのコストが無駄
jj
>>839 えっと、もしかしてあんた、ソースコードに
$という文字が出てくるたびに、これはjQueryか
どうかって考えてるの?
プロジェクトでjQueryしか使ってないのに、
ソースコードに$がでてくるたびに考えてるの?
はっはw お笑いだww
842 :
Name_Not_Found :2014/05/17(土) 01:19:50.99 ID:PQxfYwzI
世の中にはプログラミングセンスが無い奴がいる。
>>839 みたいなヤツのことだ。
>>841 馬鹿はおまえだ
確認するのは一回に決まってるだろ
同じコード内で何度も確認する馬鹿がいるか
$ ・・・ 確認するのは一回 jQuery ・・・ 毎回タイプしなきゃいけない
教えるのもそうだし、調べるのもそうだし 1回ですむことを、やらないで 何度も何度も無駄なことをやる。
「変数名にユニークな名前を付ける」って保守性を上げる為の当たり前のテクニックだと思うけどなー ショートコーディングが流行ってから理解されなくて悲しい
短期的には保守性と効率は相反するからなあ 長期的には保守性を上げる事で効率も上がるんだが、理解してもらえない人に理解してもらうのは難しい
>>未来にレス だからPrototype.jsとjQueryは$という単語を選んだんだよ。 lodashとunderscoreの_もそう。 ES3では使用が推奨されておらず、普段あまり使わない記号で変数でかぶることが少ない。 一文字変数とはいえ、特殊な記号のため、普通の用途では使われない。 一般的には推奨されないやり方であることをわかっていて、 メリットのほうが高いと考えたから、あえて$や_を使うことを選んだわけで 使うことを推奨しているとその考えがわからないんでしょ? だから君にはプログラミングセンスがないって言ってるわけ。
頭が硬いとあるルールが絶対だって思い込んでしまう。 一文字変数がダメと言われれば、絶対にダメ。 そこに例外があるとは全く考えない。 どんなルールであっても、例外は必ず 存在するということを理解しよう。 $は保守性をほとんど落とすことなく、 効率性を上げるのに成功している。
>>834 は真面目に気になるなー
「勉強すれば良い」という考えなら、「Array.prototype汚染を気にせず、拡張すべき」という意見になるはずだけど
>>850 > 「勉強すれば良い」という考えなら、「Array.prototype汚染を気にせず、拡張すべき」という意見になるはずだけど
それは、ならない。
理由必要? 勉強しても解決しない問題があるからだけど?
$ = jQuery は、勉強とうかjQueryを使っている人ならば、
単に知れば解決する問題。
それとArray.prototyp汚染は、全く別の話。
このように、問題の本質が違うことに 気づかないってのも、センス無いですわw
>>851 いや、勉強すればわかるよ
勉強しても解決しない理由を教えて?
Array.prototype は一人でコーディングしてるなら使う 流石に勉強して解決しない問題って事はない
まじでわかんないのかーw Array.prototpeを拡張したら、その拡張を想定してないコードと 混ぜて使った時に問題が起きる可能性が有るだろ。 Prototypeはそれで失敗したんだよ。 拡張していい例外(例外は何にでもある)はそれがPolyfillの場合のみ。 jQueryに関しては他のと混ぜても、$はただのローカル変数 という使い方をすればいいので何の問題もなく混ぜて使える。 知れば解決するのは、$がjQueryのシノニムであるということだけで、 混ぜて使えるかどうかは、知っても解決できない問題で全く別の話。 混ぜても安全に使えるようになっているjQueryと、 混ぜたら何が起きるかわからないArray.protoypeの拡張の違い。 こんな当たり前のことマジで説明させるなよw
>>855 君こそ理解してないんじゃないの?
Array.prototype を拡張するのがいけないんじゃない
Array.prototype を拡張したら不具合が起きるコードがいけないんだよ
あなたの持論に照らし合わせるなら、そのコード作成者に勉強を促せば良いだけ
どいつが $.xxx じゃなく jQuery.xxx を使うよの奴かわからなくなってきた
>856 おい、話がずれてるぞ? $ = jQuery は知れば良いで終わる話で Array.prototypeはそうじゃないって話だろ。 話をすり替えるなよ。わざとらしすぎるわwwww
Array.prototypeにどんな拡張をするかは不明なのだから それに対応するのは不可能。 例外が拡張の内容が把握できるPolyfill。 いちいち説明されないとわからないのか?
>>856 > あなたの持論に照らし合わせるなら、そのコード作成者に勉強を促せば良いだけ
コード変更は勉強じゃないよ。
あんた本当に馬鹿なの?
>>860 何いってんの?
勉強の結果、コードを修正するんでしょ?
「jQueryを$にすべき」って主張を皆してるけど、勉強の結果、jQueryのコードを$に修正しなくていいの?
何のための勉強なの?
>>859 > Array.prototypeにどんな拡張をするかは不明なのだから
> それに対応するのは不可能。
君が問題の本質を理解してないのはわかったよ
理解してるなら修正方法もわかるはずだしね
>>861 勉強のしようがないだろw
$ = jQueryは広く一般に知られている内容で
jQuery公式でも推奨されている方法だから、
jQueryを勉強すれば、知ること。
で、お前の勝手なArray.prototype拡張は、全然知られていない。
ここまで馬鹿だと、哀れに見えるね。
>>862 > 「jQueryを$にすべき」って主張を皆してるけど、勉強の結果、jQueryのコードを$に修正しなくていいの?
俺がしてるんだよ。アホかw
最初のレス話をもう一回するわ
>>808 > jQuery('a:not([href*="://"]):not([href^="/"])').attr('href', function () { return this.href; });
> jQuery('a:not([href*="://"]):not([href^="/"])').each(function () { this.href = this.href; });
このjQueryは冗長、$と書け。
↑と俺が言った。
>>863 > で、お前の勝手なArray.prototype拡張は、全然知られていない。
何いってんの?
「知らないなら勉強すれば良いだけ」があなたの持論でしょ?
あなたが周知させれば済む話でしょ
そういうレベルの話を jQuery -> $ でもしてるでしょ
はっきり言って不可能なと思うけど、あなたはそういう主張だった
Array.prototype問題は有名な問題だ
ちょっと勉強した人なら誰でも知ってるような問題だぞ
自分が知らないから一般に知られてないは強引過ぎる
少なくとも、
>>859 は理解してないな
>>865 、
>>866 頭を冷やして考えよう。
まず、$ = jQuery は広く知られている話。
Array.prototypeの拡張はトラブルの原因になるから
やるべきではない。これも広く知られた話。
ここまでは理解出来てる?
確認させてよ。
自分が知らないのに周知させられるわけがないな
>>867 確認させて欲しいのはこっちなんだけど…
あなたが話している内容はどちらも広く知られていると思う
> Array.prototypeの拡張はトラブルの原因になるから
「トラブルの原因」を詳しく説明してみて?
>>865 への回答も待ってる
>>863 > 勉強のしようがないだろw
この人全くわかってないなあ
多分、議論するだけ無駄だと思う
871 :
796 :2014/05/17(土) 12:13:34.98 ID:S9G7m5jL
873 :
872 :2014/05/17(土) 13:07:34.15 ID:???
訂正 × パス自体は変えずにドメインだけ変更したかったのか? ○ パス自体は変えずにURIスキームだけ変更したかったのか?
874 :
872 :2014/05/17(土) 13:13:30.36 ID:???
更に追記
>>872 > 共通ファイルをあるページではhttpsから始まるようにする必要があったケースです。
この手のURI置換をJavaScriptに任せるのはお勧めしない
httpsという事は重要なページなのだと思うが、JavaScriptはユーザが任意にOFFにできるクライアントサイドスクリプト
RSSリーダ等ではJavaScriptを意図的にOFFにしているUAもある
確実にURI置換したい場合はサーバサイドで実装すべき
875 :
796 :2014/05/17(土) 13:25:42.19 ID:???
>>872 詳細な説明ありがとうございます!
>>874 ごもっともです。
ただ、個人的にサーバーサイドのスクリプトが使えない環境というのが結構ありまして。。
例えば仮にjQueryだったらどう書くのがスマートかというのを勉強がてらにきいてみました。
色々ありがとうございます。お騒がせしました。
876 :
796 :2014/05/17(土) 13:40:30.45 ID:???
>>873 外部URLや/始まりも混在している為、
>>808 の指定でOKでした。
ありがとうございます。
>>869 > 確認させて欲しいのはこっちなんだけど…
> あなたが話している内容はどちらも広く知られていると思う
じゃあ、答えは出てるじゃんw
勉強すると何を理解できる?
1.$ = jQuery は広く知られている話。
2.Array.prototypeの拡張はトラブルの原因になるからやるべきではない。
勉強した結果やるべきことは、
$を使うことと、Array.prototype拡張をしないことだよ。
これ以外の何を勉強で学ぶっていうのさ?
>>869 >>865 への解答はしたはずだけど?
勉強したら、トラブルの原因になるならそれはやるべきではない。
勉強したら、それが一般に広く使われているからやるべきである。
勉強した結果・・・の内容が違うから、
やるべきではない と やるべきである に別れるんだよ。
あんたは、勉強したら絶対やるべきだ(それが間違っていたとしても)
と考えているみたいだけど、それは大間違いだ。
自分の理解できない話をスルーして独自の論理を展開する 典型的な荒らしだなー
反論できなくなった時点で、そいつの負けだよw
俺は静観組だから関係ないし prototype汚染の本質を理解してない奴に一々説明してやる義理もない
結論これでいいんでしょ? 1.$ = jQuery は広く知られているから使うべきである。 2.Array.prototypeの拡張はトラブルの原因になるからやるべきではない。 まとめ 俺は「jQueryの代わりに$を使うべき」という話しかしてないのに、 俺が「Array.prototypeをするべきだと言ってる」ことにされた。 Array.prototypeの話を始めたのは俺ではない。
スレに張り付いているわけではなし 書き込みから30分後で「反論できなくなった時点」はないだろ どんだけ2chに毒されてるんだ まあ、本人がいたとして「反論する価値もなくなった」ってのはありそうだが
メンドイン
>>883 いえ、反論できなくなったは、
これから未来に反論しなければ、
それが事実になるってだけですよw
>>885 君はもう少し人間関係を学んだほうがいい
全ての人が親切に物を教えてくれるとは限らないのだよ
大人なら相手の言動から回答する価値があるかを読み取るし、それをすることで周囲に迷惑がかからないかを配慮する
「最後に書き込んだ人の言葉が事実になる」というのは、自分の都合だけを優先する考え方だ
俺の主張は最初から一貫してて、 jQueryは冗長であり、$を使うべきであるってこと。 Array.prototype? あれは俺が言い出した話じゃない。 全く無関係の話だよ。
>>878 gdgd感が漂ってるのでこれで最後にする
> 2.Array.prototypeの拡張はトラブルの原因になるからやるべきではない。
これは勉強してない人がいることを前提としてる論理である事を理解してないよね?
それはあなたの主張と矛盾するはずなんだけどね
俺は不可能だと思うけど、あなたは「勉強すれば良い」というスタンスだったわけだしね
「トラブルの原因」を本当に理解してるならもう一つやることがあるけど、全く話に出てこないね
全ての人が勉強したなら Array.prototype を避ける理由がなくなるってことも理解してないよね
あなたが勉強してないことはよくわかったよ
>>889 俺は、jQueryは冗長であり、$を使うべきであるってこと。って話をしていて、
Array.prototypeは話をすり替えようとしているアホが言い出したことだよ。
> Array.prototype? あれは俺が言い出した話じゃない。 ここまで反論しておいて今更、それはないわ
>>889 > それはあなたの主張と矛盾するはずなんだけどね
全然矛盾しない。
勉強したらトラブルの原因になるから使うべきじゃない。
使わないという結論になる。
Array.prototype を避ける理由?
本当に知らないの?
勉強しようね。
http://qiita.com/VoQn/items/3a70b5a62b6c87379c77 > Prototype.js の流行の反動で、「標準ライブラリへのプロトタイプを書き換えるのは
> 弊害があるので避けるべきなのでは」という流れがありました。Google JavaScript Style Guide でも
> 「ビルトインオブジェクトのプロトタイプの書き換えはしてはならない」としています。
「知らないなら勉強しろよ」がトリガーになってるんだろ それが認められるなら Array.prototype 問題の対策が正反対になる こいつは本質を理解してないから、伝わってないようだが
>>891 > ここまで反論しておいて今更、それはないわ
今更も何も事実だよ。
Array.prototypeが関係ない話だってのは一番最初に指摘した。
と思ったら、レス先間違っていたなw
834 名前:Name_Not_Found[sage] 投稿日:2014/05/17(土) 01:12:48.55 ID:???
認知されてるから問題ないといっている人は Array.prototype も積極的に使うのかな
http://oshiete.goo.ne.jp/qa/5081024.html 836 名前:Name_Not_Found[sage] 投稿日:2014/05/17(土) 01:13:25.43 ID:???
>>824 いきなり全く別の話をしてどうしたの?
>>893 > 「知らないなら勉強しろよ」がトリガーになってるんだろ
> それが認められるなら Array.prototype 問題の対策が正反対になる
> こいつは本質を理解してないから、伝わってないようだが
知らないなら勉強した結果、Array.protoypeの拡張は
問題があるから、するべきではないという結論であってるだろ?
で、俺は$はjQueryのシノニムとしてよく知られているから、
使うべきだって言ってる。
この二つの話は分けて考えろよ。
>>895 「なぜ問題になるのか」を理解してないから、そんな頓珍漢な答えになるんだよ
周知させるのが不可能故の論理だろうが
>>896 「なぜ問題になるか?」ではなく「何が問題になったか?」の話をするべき。
実際に問題は出ていて過去に起こった話。なんだから。
その代表的な例が、Array.prototype.reduce。
Protoype.jsで定義されたメソッドがあとから標準になったが、
関数名は同じだが引数が違ったため互換性問題が生じた。
こういうことになるためArray.prototypeなどの
ビルトインオブジェクトの拡張はやってはいけない。
これでいい?この問題は最初から「勉強したら使うべきではないが
答えになる」っていったろ。
それと$がjQueryのシノニムとしてよく知られているから
使うべきであるという話は別問題。
こんな不毛なやりとりでスレが永遠消費しているのに 誰も止めない。 まさかこのまま1000まで行くの?
相手が反論できなくなったら終わるだろうさw
> こういうことになるためArray.prototypeなどの > ビルトインオブジェクトの拡張はやってはいけない。 君が理解してないことはよくわかった
>>900 あれ? 理由が書いてないよ?
なんでかな?w
「君のほうがわかってないことが、よくわかった。」
って言うだけならだれでも出来るんだよねw
プログラムのバグをお互い探しあっているような感覚なのだろうか。 決着なんて着く筈がない。 たいした問題でもないのに長すぎる・・。 どうせやるならもっと知識でもひけらかしてほしいもんだ
配列にfor-inを使わない事が周知されれば問題ないって事だろ
こいつは
>>834 を絶対読んでないよな
俺は知識をひけらかしてるよw ただし、動けば良いレベルではなくて どうするのが、保守性、メンテナンス性で 優れているかまで考えてやってるから 他人の悪い(間違った)コードは修正するけどねw それやったら絡まれたwww
ビルトインオブジェクト云々いってる時点でES定義のArray.prototype拡張なら平気で拡張するんだろうな
>>903 配列にfor-inを使わなければ、Array.protype.reduceのような
問題がどう解決するんですか?
まさかfor-inだけしか問題がないと思っていたとか?
あれあれ? 勉強不足ですよw.
それから、配列オブジェクトが持っているメソッドを列挙するときは、
配列にfor-inを使います。だから使わないことを強制するのは間違いです。
配列の要素を列挙したい時にfor-inを使うのは間違いですが。
>905 俺は拡張すべきじゃないって最初から 明確に言ってるじゃないですかーw 一体誰に言ってんですかー? あと、$はjQueryのシノニムだから 使うべきであるという話題が本筋ですよ。
ビルトインオブジェクトって何の話かと思ったら
http://qiita.com/VoQn/items/3a70b5a62b6c87379c77 > Prototype.js の流行の反動で、「標準ライブラリへのプロトタイプを書き換えるのは
> 弊害があるので避けるべきなのでは」という流れがありました。Google JavaScript Style Guide でも
> 「ビルトインオブジェクトのプロトタイプの書き換えはしてはならない」としています。
Googleのスタイルガイドに文句言ってんのか?
910 :
Name_Not_Found :2014/05/17(土) 17:14:55.63 ID:N56s2nQ8
いいかげんうるせえ。 こいつら黙ったら負けだと思ってんだろな。
>>910 早くの他の話をしてくださいw
俺はそれにもレスしますから。
jQuery(セレクタ)なんて書き方をしたら
$(セレクタ)に書き直すようにいいますがww
実は2人はデキてる
jQueryでテキストノードを操作するAPIはありますか? 例えば、jQuery('body') でbody要素ノードを参照できますが、テキストノードを参照して操作したいのですが
>>914 jQueryのテキストノードの扱いって限定的だよね。
具体的に何をしたいかを言えばもっと良い答えが出てくると思うよ。
916 :
914 :2014/05/17(土) 18:22:02.06 ID:???
>>915 なるほど、具体例がなかったですね
例えば、下記コードを jQuery で書くとどうなるでしょうか
// 事例1
document.evaluate('id("Hoge1")/child::text()[1]', document.body, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).data = 'hoge';
// 事例2
var df = document.createDocumentFragment(), span = document.createElement('span');
span.classList.add('foo');
span.appendChild(document.createTextNode('foo'));
df.appendChild(span);
span = span.cloneNode(true);
span.className = 'bar';
span.firstChild.data = 'bar';
df.appendChild(span);
document.getElementById('Hoge2').appendChild(df);
DOM標準と同じようにjQueryでも書くのが目標となります
jQuery において下記は全て同じ動作となりますが、使い分ける必要はあるでしょうか jQuery('body').click(function (event) { console.log(event.type); }); jQuery('body').bind('click', function (event) { console.log(event.type); }); jQuery('body').on('click', function (event) { console.log(event.type); });
Lo-DashをJavaScriptスレに誘導しようとしている人がいたけど、それかな 削除依頼出しておいた
回答者が回答者を釣るスレ
待望の質問が来たというのに彼は回答しないのね
$だとプロトタイプとか、他のライブラリと衝突するけどわざわざ$を使えという理由は? まあ、俺も$使ってるんだけどさ、他のライブラリ使わないから
924 :
917 :2014/05/17(土) 19:57:32.61 ID:???
>>923 俺個人としてはあなたに同意するが、触れないほうがいいかと
>>811 からの流れを読めばどういう人かわかる
>>923 短いから。jQueryは冗長。jQueryの
ドキュメントを見ても$が使われている。
>>925 そうそう。下手に中途半端な反論をすると
こてんぱんにやられるだけ。
負けるとわかってる勝負はするしない方がいい。
キモい
>>924 > 回答になってないのですが…
わざとwwww
じゃあ、俺以外は回答する気なさそうなので。
http://api.jquery.com/bind/ ここに書いてあるとおり、bindよりもonの方が柔軟なので好ましい。
bindは古いインターフェースで(廃止された)liveが登場してdelegateが登場して、
似たような機能をするメソッドが3つもあったという状況だったのが、
統合されてonが作られたという経緯がある。
一般的にはonを使い、clickなどよく使われる一部のイベントに関しては
ショートカットとして用意されているので、簡単に書きたいときはclickを使う。
930 :
917 :2014/05/17(土) 22:34:45.40 ID:???
>>929 基本的に on を使えばいいようですね
ありがとうございました
ここの人達はjavascriptやjQuery以外に何の言語使えるの?
>>932 PHP、MySQL
Python
Ruby
C/C++
Objective-C
Java
Perl
すいません嘘です
>>930 どういたしまして。
>>931 使えると自分で思う言語としては、JavaScript以外に、
Java、Perl、PHP、C、C++、SQLぐらいかな。
仕事でやったレベルでいいならC#とVB(.NETじゃない方)が加わるか。
アセンブラもやったことあるけど、これははるか昔の16bit時代。
こうやって見るとやばいな。やろうと思って手付かずに
なってる言語のほうが多くなってるw
アプリ側でjqueryを拡張する場合、 jqeury拡張部分は別ファイルにしますか?
>>935 規模によりますが大抵分けます。
ですがこれは作る時の話で、配布するときは
サイズや利用場所を考慮して結合したりします。
ありがとうございました
938 :
914 :2014/05/18(日) 05:42:37.49 ID:???
>>938 いや、XPathよむの面倒くさくてね。よく知らんし。
やってることの説明は日本語でも良かったんだけどねぇ。
標準DOMはやっぱり見にくいなぁって思って他人に任せようかとw
俺以外の人も答えていいんだよ?
まあずる(?)した答えを書くと事例2はこうかな。
$('#Hoge2').html("<span class='foo'>foo</span><span class='bar'>bar</span>";
ようするになんでもDOMやメソッドチェーンで書けばいいってもんじゃないってこと。
HTMLは書き方さえ間違えなければ、簡単で読みやすい言語なんだから
それをそのまま使えばいい。このバランス感覚がない人が多くて困るよ。
どっちか片方しか使おうしない。場合に応じて適切なコードを使い分けられない。
940 :
914 :2014/05/18(日) 06:30:23.89 ID:???
>>939 .html() は既存の子要素を上書きしてしまうので、appendChild の代替にはならないと思うのですが…
> ようするになんでもDOMやメソッドチェーンで書けばいいってもんじゃないってこと。
何か誤解があるようですが、DOM標準の書き方をjQueryで出来るかどうか、という質問をしています
.html() は内部的に innerHTML を使用していますが、innerHTML を使用したくないケースもあるのです
例えば、append した要素ノードに addEventListener したい場合に querySelector で要素ノードを取得するのは無駄になります
DOMの書き方をjQueryで出来るのならjQueryの有効範囲が広がります
バランス感覚を述べるならDOMの書き方を否定するのではなく、DOMも選択肢の一つとして残すのが堅実な考え方ではないでしょうか
selector infected PROTOTYPE
> .html() は既存の子要素を上書きしてしまうので、appendChild の代替にはならないと思うのですが… ああ、ミスった。最後の.htmlをappendに置き換えてくれ。引数は一緒。 > 何か誤解があるようですが、DOM標準の書き方をjQueryで出来るかどうか、という質問をしています これもまたjQueryの書き方の一つだよ。 ブラウザはHTMLのパースに最適化されている、 つまりネイティブでパース処理を行っているので JavaScriptを実行して処理を行うDOMを使うよりも速い事が多い。
> 例えば、append した要素ノードに addEventListener したい場合に var $span1 = $("<span class='foo'>foo</span>").on('click', ・・・)とか出来るよ。 もちろん、$('#Hoge2').append($span1, $span2)なんて書き方もできる。
この人は毎回、質問を斜め読みして質問者に指摘して訂正するパターンだな
間違えた × 質問者に指摘して訂正するパターン ○ 質問者に指摘されて訂正するパターン
お前は、それに文句言うだけで自分は建設的なこと何も言わないなw 俺以外の人は、俺にレスばっかりして、 質問者にぜんぜんレスしてない。可哀想に。
>>942-943 概ね、把握しました
createTextNode, Text#data の代替はあるでしょうか
948 :
914 :2014/05/18(日) 07:08:38.85 ID:???
間違えました Text#data は CharacterData#data に訂正します
documentのセレクターを文字列で指定するにはどうしたらいいですか? $(document) を $('document') と書いたらうまくいきませんでした
>>949 documentは要素ではない為、CSSセレクタで指定できません
文字で指定しなきゃいけないのってどういう状況?
ハンドラの設定をオブジェクトで指定しようと思ったのです ありがとうございました
954 :
Name_Not_Found :2014/05/18(日) 14:41:47.61 ID:LiCi+bW/
euc-jpのページにて .load();もしくは.ajax();を使い、日本語の外部ファイル(同ドメイン)を読み込み、 IEで文字化けしない方法はございますでしょうか?
955 :
954 :2014/05/18(日) 15:02:35.06 ID:LiCi+bW/
こんな構造です
--------------------------
親ファイル<meta charset="euc-jp">
--------------------------
<script src="
http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js "></script>
<script>
$(function(){
$.ajax({
type: 'GET',
url: 'file.php',
dataType: 'html',
success: function(data) {
$('#content1').append(data);
error:function() {
alert('error');
}
});
});
</script>
<div id="content1">親euc-jp</div>
--------------------------
子ファイル<meta charset="euc-jp">
--------------------------
<p>外部ファイル|子euc.jp|IEで文字化け</p>
956 :
954 :2014/05/18(日) 15:11:48.62 ID:???
色々調べたのですが、実際できた例が なかったです。もしできたら神です。
いいえ、出来ても神ではありません。ただの人です。
dataってDOM単位に持たせるものですよね? jqueryオブジェクト自体にデータを持たせたい時はどうしたらいいんでしょうか
違います