2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

+ JavaScript & jQuery 質問用スレッド vol.8 +

1 :Name_Not_Found:2017/11/10(金) 22:44:30.04 ID:???.net
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/hp/1467906819/

2 :Name_Not_Found:2017/11/11(土) 02:42:52.28 ID:???.net
本スレ

jQuery 質問スレッド vol.8
http://mevius.2ch.net/test/read.cgi/hp/1508707878/

3 :Name_Not_Found:2017/11/12(日) 07:03:12.74 ID:???.net
ブラウザ対応
https://caniuse.com/

4 :Name_Not_Found:2017/12/12(火) 03:14:19.53 ID:MrUcGD8N.net
HPで友達が稼げるようになった情報とか

⇒ http://asaswq3wq.sblo.jp/article/181819223.html

興味がある人だけ見てください。

JIAVMJEURL

5 :Name_Not_Found:2017/12/17(日) 04:54:39.90 ID:BEO5b4n7.net
四角の中の正解わかんない。おしえて!
https://youtu.be/lKnWfKbIR44

6 :Name_Not_Found:2017/12/17(日) 09:28:31.89 ID:???.net
↑ なんでわざわざ動画にするんだろうね?
検索対策かなにかかもしれないな。
答える気はないが、テキスト化だけはしておこう


Please add the corresponding keywords to add the external sample.js file to the web page.

<[script] [t]="text/javascript" [src]="sample.js"></script>

My Movie 3

Japan HIKIKOMORI (https://www.youtube.com/channel/UCTWD4JPnE_tjgB9s_MpYInQ)
2017/12/16 に公開

7 :Name_Not_Found:2017/12/17(日) 09:31:54.74 ID:???.net
SoloLearn (https://www.sololearn.com/)
で出されてる問題か?

8 :Name_Not_Found:2018/01/03(水) 20:24:15.10 ID:???.net
グローバル汚染対策で名前関数を使う例があるけど関数リテラルも同様にすべきですか?
var hoge = function(){};

var NAMAE = {};
NAMAE.hoge = function(){};

9 :Name_Not_Found:2018/01/03(水) 21:00:59.58 ID:???.net
>>8
名前関数とは何かわからんが、そのようにすることは、
NAMAE という名前の名前空間を導入することを意味する。
そいうのはごく普通に行われているんじゃないかな

10 :Name_Not_Found:2018/01/03(水) 22:09:13.44 ID:???.net
すみません、文編集したとき入れ替わってそのままで、名前空間でした

11 :Name_Not_Found:2018/01/07(日) 18:31:23.10 ID:???.net
初心者です。ホバーしたグレーの中の赤だけ消したいのですが全部の赤が消えてしまいます。script内でthisを使うのかなぁと思いますがどこに置いてもうまくいきません。。
よろしくお願いします
https://jsfiddle.net/user2995/23sfa55o/

12 :Name_Not_Found:2018/01/08(月) 16:06:46.83 ID:???.net
CSSだけでできる

.pic {
position:relative;
width:160px;
height:160px;
}

.small {
position: absolute;
top: 50%;
left: 50%;
}

.pic:hover .small {
display:none;
}

13 :Name_Not_Found:2018/01/08(月) 19:23:06.03 ID:???.net
>>12
わぁできました!魔法のようです!ありがとうございます

14 :Name_Not_Found:2018/01/13(土) 18:25:52.88 ID:???.net
●現状
訳あって<form>使えず<div>内に多くの<input>や<button>があり、
HTML記述にdisabledがあったりなかったり
動的にdisabledを外したり戻したり

●理想、希望
一括でHTML記述(disabledの有無)通りに戻したい

いい方法ありますか?inputのdefaultValueみたいな
どなたかお願いします

15 :Name_Not_Found:2018/01/13(土) 20:31:40.77 ID:???.net
>>14
autocomplete="off"

16 :Name_Not_Found:2018/01/14(日) 18:13:42.65 ID:???.net
>>15
再読み込みではできました

17 :Name_Not_Found:2018/01/15(月) 23:38:43.19 ID:???.net
>>15
まさかこれで答えたつもり・・・じゃないよな・・・

18 :Name_Not_Found:2018/01/16(火) 07:34:55.26 ID:???.net
new DOMParser().parseFromString(await(await fetch(location)).text(),'text/html')
でミラードキュメントが取れるからそこから探せばいい

19 :Name_Not_Found:2018/02/05(月) 11:29:32.10 ID:???.net
タグを削除する場合
.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'') と jQueryで .text() は等価でしょうか?

20 :Name_Not_Found:2018/02/05(月) 15:06:41.77 ID:???.net
考えるのが面倒くさいから適当に10万件くらいテストしてみ

21 :Name_Not_Found:2018/02/07(水) 08:10:01.85 ID:???.net
<div id="abc">あ<div>A</div><div>B</div></div>

上で試したら、どちらも「あAB」になった

22 :Name_Not_Found:2018/02/07(水) 09:17:37.63 ID:???.net
jQuery 内を、1行ずつデバッグすれば?
それか、ソースコードを読むとか

jQuery 内では、Sizzle を使っている

Sizzle CSS Selector Engine v2.3.0
https://sizzlejs.com/

23 :Name_Not_Found:2018/02/07(水) 23:32:49.14 ID:???.net
Sizzleはクエリセレクタなんで
text()の挙動とは関係ない

24 :Name_Not_Found:2018/02/18(日) 20:11:13.80 ID:???.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

25 :Name_Not_Found:2018/02/24(土) 04:04:17.21 ID:broxDNDb.net
すみません、他のスレッドで聞いてみたんですが、
JavaScriptで行うと答えが返ったので、
ここで質問させていただきたいと思います。

この5ちゃんねるのように「>>数字」をマウスホバーしたら
安価先の全文をポップアップ表示させることは可能でしょうか。
できれば、表示の際に囲っている線は無表示にして
背景色も設定したいと思っています。
サンプルコードは無いです。よろしければご教授下さい。

26 :Name_Not_Found:2018/02/24(土) 04:49:40.13 ID:???.net
簡単にできるが、何もわからない人にここで教えられるようなものではない
HTML、CSS、JSを基礎から勉強していけば数年後に自ずと分かる

27 :Name_Not_Found:2018/02/24(土) 15:37:49.91 ID:???.net
それは簡単にできるとは言わない。スレタイ100回復唱しろ

28 :Name_Not_Found:2018/02/24(土) 17:50:33.48 ID:???.net
>>27
カレーを作るのは簡単と言えるだろう
でもそれは当然家に便利な道具があって、家の近所の店に当たり前に材料があるということ前提だ

米を準備することは簡単だろう
でもそれを説明するのは難しい
炊くのか?買ってくるのか?によっても違う
買ってくるにしても、店を一度も使ったこともない、
売ってる米を見たこともない幼稚園児に教えて買いに行かせるのは困難だ
そして米を買ってこさせたとしても、そこからがカレー作りの始まり
そんなの教えられると思うか?

最低でも基本道具の使い方を知っている人にじゃないと説明なんてできない
いくら初心者向けの質問所と言ったって、JavaScriptのJの字も知らない人を相手にできるはずがない
実際の物づくりっていうのは「応用」なんだから、「基礎」を知らない人は願い下げよ

29 :Name_Not_Found:2018/02/24(土) 18:08:30.55 ID:???.net
カレーを作るのが簡単かどうかは
近くのスーパーにカレー用に切られた野菜パックが
あるかどうかで決まる

幸いなことに俺んちの近くのスーパーには
それが売ってあるので、買って家に帰ったら
鍋に投入して終わりだ。包丁も使わねぇ

30 :Name_Not_Found:2018/02/24(土) 19:37:21.42 ID:???.net
ルーをお湯で溶かせば十分にカレーじゃね?

31 :Name_Not_Found:2018/02/24(土) 19:52:59.71 ID:???.net
レトルトはカレーでないと申すか

32 :Name_Not_Found:2018/02/25(日) 01:45:12.76 ID:???.net
山田祥寛(よしひろ)、翔泳社
10日でおぼえる jQuery 入門教室 第2版、2013

まず、この本を読め

33 :Name_Not_Found:2018/02/25(日) 01:58:13.92 ID:???.net
俺のおすすめは、おすすめ順にこの3つだな
ちと古いが(というか新しい本がほとんどない)
jQueryのAPIは安定していて大きな変化はない
変わったのはDeferredぐらいだろうな

コアjQuery+プラグイン/jQuery UI 開発実践技法 (有名なin Actioシリーズ の jQuery in Actionの翻訳)
https://www.amazon.co.jp/dp/4798124281

jQueryクックブック (オライリー)
https://www.amazon.co.jp/dp/4873114683

新人プログラマのためのjQuery Webアプリケーション開発講座
https://www.amazon.co.jp/dp/4899772580

34 :Name_Not_Found:2018/03/08(木) 22:53:38.83 ID:???.net
コンストラクタの基礎で質問です。
一旦値(たろう)をセットし、後に変える(じろう、さぶろう)場合以下でいいでしょうか?

var Member = function(first, last){
this.firstName = first;
this.lastName = last;
};

Member.prototype = {
setName: function(){
var res = this.firstName + '-' + this.lastName;

$('#hoge').text(res); //処理例
}
};

var mem = new Member('やまだ', 'たろう');
mem.setName();

alert('次'); //確認用

mem.lastName = 'じろう';
mem.setName();

alert('次');

mem.lastName = 'さぶろう';
mem.setName();

いい場合、値セット(mem.lastName = )と処理(mem.setName())を1度にしたい場合はどうするのでしょうか?
必ずセットで用いられます。

35 :Name_Not_Found:2018/03/09(金) 21:59:57.02 ID:???.net
まず、メンバーというクラスなのに、固定要素への書き出しのメソッドを持つのは変
あと、setNameという名前だと普通メンバーの名前の設定のためのメソッドに見える
そもそも、名前を書き換えられるのは変
それから"first"Nameって日本で言うと名字じゃない方のことだからね、逆になってる
日本人名しか入らないなら(sei,mei)でもいいと思う
もしくは汎用的にオブジェクトを引数に取るようにする

36 :Name_Not_Found:2018/03/09(金) 22:02:06.63 ID:???.net
こんな感じになる
const Member = ( () => {
const map = new WeakMap
const priv = own => map.get( own ) || map.set( own, { __proto__: null } ).get( own )
return class Member {
constructor ( nameObj ) {
Object.assign( priv( this ), nameObj )
}
getName ( order = 'last-first' ) {
return order.split( '-' ).map( pos => priv( this )[ pos ] ).join( '-' )
}
}
} )( )

let mem = new Member( { first: '活男', middle: 'ジャイアント', last: '磯辺' } )
let name = mem.getName() // '磯辺-活男'
$( '#hoge' ).text( name )

37 :Name_Not_Found:2018/03/09(金) 22:41:37.98 ID:???.net
安倍の姓名ってなに?

38 :Name_Not_Found:2018/03/10(土) 17:36:54.97 ID:???.net
レスありがとう。

>>35
名前の付け方と値自体はあるサンプルを適当に改変したものですのでスルーでお願いします。

>>36
IE9以上でお願いします。

39 :Name_Not_Found:2018/03/10(土) 17:52:39.15 ID:???.net
IE9以上の前にひどいコードだな
クソコードと呼ぶにふさわしい

40 :Name_Not_Found:2018/03/10(土) 18:52:44.29 ID:???.net
どこがどう?

41 :Name_Not_Found:2018/03/10(土) 19:05:28.17 ID:???.net
命名はともかく、どこのサイトでもよくある普通のコードだぞ

42 :Name_Not_Found:2018/03/10(土) 19:19:14.89 ID:???.net
>いい場合、値セット(mem.lastName = )と処理(mem.setName())を1度にしたい場合はどうするのでしょうか?
>必ずセットで用いられます。

lastNameをdefinePropertyで定義して、そのsetの中でthis.setName()呼べばいいだけ

43 :Name_Not_Found:2018/03/10(土) 20:40:42.06 ID:???.net
動的型付けで柔軟なJSでは命名こそが重要なポイントなのにね
あまりに酷い場合そこをおざなりにして話は進められない

44 :Name_Not_Found:2018/03/10(土) 21:18:31.87 ID:???.net
>>42
ありがとうございます。

>>43
だから実際の名前は全然違うんですって。
firstでもないし'たろう'でもないのです。

45 :Name_Not_Found:2018/03/10(土) 22:25:08.19 ID:???.net
実際既にあるコードをココ用に一部削ったりするのってけっこう面倒だから適当になることもあるわな

46 :Name_Not_Found:2018/03/10(土) 23:31:02.42 ID:???.net
その結果 構造・構成がぐちゃぐちゃじゃ評価のしようがない
これだけツッコミ受けてるのはまだコードが無い方がマシなレベルで酷いんだと自覚した方がいい

47 :Name_Not_Found:2018/03/10(土) 23:35:26.62 ID:???.net
いや酷いコードだろうが貼らない口だけヤロウよりはよっぽどマシ。
質問でも質問者がクソコード貼るか貼らないかで大違いだ。どんなクソコードでもいいからなるべく貼ってくれ。お前の日本語?の説明よりよっぽどマシ。

48 :Name_Not_Found:2018/03/10(土) 23:55:50.66 ID:???.net
>>38
> IE9以上でお願いします。
はいどうぞ。技巧的なことはしない必要十分なコード

function Member(param) {
 function getName(order) {
  var keys = (order || 'last-first').split( '-' );
  var values = keys.map(function(pos) { return param[pos]; });
  return values.join( '-' );
 }
 return {getName: getName};
}

var mem = new Member({first: '活男', middle: 'ジャイアント', last: '磯辺'});
var name = mem.getName(); // '磯辺-活男'

49 :Name_Not_Found:2018/03/10(土) 23:55:56.94 ID:???.net
>>45
JSって色んな書き方ができる言語だけど、
逆に言うと回答する際細かい部分で何が良いかは変わってくるということ
特にここは初心者が質問するというスレの性質上
ただ機械的にQ&Aを返すんじゃなくて根本的に待ったをかけて『モラル』を教える必要もある

例えばファッションで、ネクタイをかっこよく結びたいっていう質問が来た時、
下ふんどしで下駄の写真が付いてきたらツッコミ入るでしょ
そもそもネクタイ無い方がいいんじゃねってこともあるし、
細かい部分から色んな関係性を想定して全体のバランスを考えて初めて
どう結ぶのが良いかって言うのが求まるんだから、手を抜いちゃ駄目だよ

>>34だって関数やメソッドを1つ増やせば良いとも考えられるしね
はたまた>>42のようにクラスの設計の段階で組み立てるのか、
結局他の方法も含めて状況による
俺が現状で回答できるのは>>35で言ったようにおかしい部分を直して
まともに検討できるコード例を持ってこようということ
話はそこから

50 :Name_Not_Found:2018/03/11(日) 00:01:53.35 ID:???.net
>>35
> そもそも、名前を書き換えられるのは変
変じゃないよ

51 :Name_Not_Found:2018/03/11(日) 00:08:40.65 ID:???.net
>>50
変じゃない場合もあると思う
ただ「人」を表すクラスのインスタンスっていうのは「個人」
「名前」っていうのは「個人」のIDのようなもの
インスタンスのIDに当たるものを書き換えて別の存在にするっていうのは、
やってはいけないとまでは言うつもりはないが、一般的には大胆すぎる

基本的に、インスタンスっていうのは、必要なときに新たに生み出して、使い捨てるもの
書き換えて再利用するなら、クラスやコンストラクタを使わなくても良い

52 :Name_Not_Found:2018/03/11(日) 00:09:37.64 ID:???.net
>>50
変じゃないな。
http://d.hatena.ne.jp/keyword/%A5%BC%A5%EB%A5%C0%A4%CE%C5%C1%C0%E2

いや変だなwwwww

53 :Name_Not_Found:2018/03/11(日) 00:16:37.16 ID:???.net
>>51
> 「名前」っていうのは「個人」のIDのようなもの

名前をIDにしたらだめ
被るだろ

54 :Name_Not_Found:2018/03/11(日) 00:18:55.75 ID:???.net
>>53
するどいツッコミだが、
アイデンティファイではなく、アイデンティティという言葉を言いたかった
DOMのタグもtagNameは書き換えできないし、できたら変だと思うだろう?
そういうことだ

55 :Name_Not_Found:2018/03/11(日) 00:30:05.26 ID:???.net
>>54
だから、名前が一意になるオブジェクトはあるだろうが
今回のMemberの場合なら名前をにしたらダメだろっていってる
そして名前は変わるだろと言ってる
鋭くもなんともねーよ。常識的な話だ

56 :Name_Not_Found:2018/03/11(日) 00:30:31.58 ID:???.net
今回のMemberの場合なら名前を一意にしたらダメだろっていってる

57 :Name_Not_Found:2018/03/11(日) 00:33:38.14 ID:???.net
>>54
> アイデンティファイではなく、アイデンティティという言葉を言いたかった
更に意味わかんねーよ

動詞 アイデンティファイ identify の
名詞形が アイデンティティ identity だ

動詞ではなく名詞にしたかった言いたいのか?

58 :Name_Not_Found:2018/03/11(日) 00:35:00.43 ID:???.net
>>54
> DOMのタグもtagNameは書き換えできないし、できたら変だと思うだろう?

なんでnameの話してるのに、tagNameの話になってんだか
DOMのタグであれば、フォーム要素がnameを持っている。
もちろん書き換え可能だ


お前もうめちゃくちゃだなw

59 :Name_Not_Found:2018/03/11(日) 00:40:26.38 ID:???.net
>>58
"identity"と"identifier"はIT用語では別物だぞ?
まあそれは良いし、お前の頭がポンコツなのはわかった
ポンコツなお前とメチャクチャな俺でこれ以上スレを汚すのはヤメヤメ
あーはいはい生産性0の話はもうオワリ!ここまで!

60 :Name_Not_Found:2018/03/11(日) 00:46:03.28 ID:???.net
今度は用語が変わりやがったw

アイデンティファイ identify

アイデンティティ identity

アイデンティファー identifier

お前混同してるだろ



ついでになんか見つけたw

"Identity" と "Identifier" を混同して "ID" と言わないように
一般的に使われる "ID" は "identifier" (識別子)の意味であって、 "identity" (同一性)の意味ではない。ぜんぜん違う。
http://zerobase.hateblo.jp/entry/2013/03/02/181858

61 :Name_Not_Found:2018/03/11(日) 00:47:19.80 ID:???.net
>>59
生産性0なのはお前のレスでは?

> "identity"と"identifier"はIT用語では別物だぞ?(理由なし)

理由も言わずに、違うったら違うんだ!って言ってるだけ
説得力0だぞ?

62 :Name_Not_Found:2018/03/11(日) 11:16:45.18 ID:???.net
>>46
>コードが無い方がマシ

こういうのに限ってコード出せと言うくせに
>>44も読めてないのかな

63 :Name_Not_Found:2018/03/11(日) 12:00:26.92 ID:???.net
>>51
割り込み失礼

各要素に複数の値持たせ、2つの要素同士または複数要素の、全値を交換するとする
(各要素にidがあるがそれを交換するのはNG)
全値を各々操作するとバグの原因になりかねないので
インスタンスに持たせてそれを交換
値は変わることもある

これはダメ?

64 :Name_Not_Found:2018/03/11(日) 12:09:04.32 ID:???.net
63の補足
結局、値は各要素に持たせずインスタンスに持たせてる

65 :Name_Not_Found:2018/03/11(日) 13:44:24.16 ID:???.net
それが普通。想定してない使い方をしたときにまで対応する必要はない

66 :Name_Not_Found:2018/03/11(日) 14:23:30.11 ID:???.net
こっちに書けマヌケ

67 :Name_Not_Found:2018/03/11(日) 14:50:07.36 ID:???.net
マヌケじゃないのでこっちにはかかない

68 :Name_Not_Found:2018/03/11(日) 16:29:42.60 ID:???.net
>>65
想定してない使い方?

69 :Name_Not_Found:2018/03/12(月) 21:40:46.53 ID:???.net
>>36
どうもです。思ってた以上に入り組みますね。
元文のまま2行でやるか関数作ろうかと思います。

function func(str){
mem.lastName = str;
mem.setName();
}

70 :Name_Not_Found:2018/03/16(金) 10:05:24.56 ID:4RQVV6KP.net
chromeのデベロッパーツールの表示について質問です。
画面右の赤線で囲った部分を、画像左の赤線内と同じHTMLの表示に変える方法を教えてください。
https://dotup.org/uploda/dotup.org1486462.jpg

71 :Name_Not_Found:2018/03/16(金) 21:21:33.89 ID:???.net
>>35
>メンバーというクラスなのに、固定要素への書き出しのメソッドを持つのは変

どう変?正解コードプリーズ。

72 :Name_Not_Found:2018/03/17(土) 07:38:59.29 ID:???.net
>>70
左の画像には、<div class="form-group"> とあるけど、
右の画像には無い

左右は、全く異なるものだから、関係性がない

73 :Name_Not_Found:2018/03/18(日) 14:56:52.54 ID:iO9IqqCV.net
http://klutche.org/archives/682/
すいません、このサイトでDIVブロックコンテンツをクリックで切り替えってのやってるんですが
これ2DIVを同時制御したんですが、この場合どうやればいいんですかね?
該当ソースの↓
var activeTab = $(this).find("a").attr("href");//アクティブタブコンテンツ
$(activeTab).fadeIn();//アクティブタブコンテンツをフェードイン

var activeTab = $(this).eq(2).find("a").attr("href")とかnext();とかやってみたんですがだめでした

74 :Name_Not_Found:2018/03/18(日) 14:57:43.83 ID:iO9IqqCV.net
<div class="tab_content" id="tab1">
<img src="01.jpg" width="200" height="150" alt="01"><br>
コンテンツ1
</div>
↑のブロック2つ続けてコピペ、同時表示したいのです

75 :Name_Not_Found:2018/03/19(月) 00:57:14.04 ID:???.net
id="tab1" って書いてあるだろ

セレクターに、$('#tab1') を使え

76 :Name_Not_Found:2018/03/20(火) 00:08:42.35 ID:hIzW1Vha.net
MonacaとAngularJSで開発を行っているのですが、時刻を取得し更新するプログラムが動きません。ソースは次のとおりです。
【JS】 <script>
var module = ons.bootstrap("myApp",[]);
module.controller('MainController',function($interval){
var date = new Date();
var now_hours = date.getHours();
var now_minutes = date.getMinutes();
var now_seconds = date.getSeconds();

this.hours = now_hours;
this.minutes = now_minutes;
this.seconds = now_seconds;

$interval(function(){
date = new Date();
now_hours = date.getHours();
now_minutes = date.getMinutes();
now_seconds = date.getSeconds();
}, 1000); }); </script>

【HTML】 <body>
<ons-navigator page="main.html"></ons-navigator>
<ons-template id="main.html">
<ons-page ng-controller="MainController as ctrl">
<div class="content" style="text-align: center;">
<p>現在の時刻<br />{{ctrl.hours}}時{{ctrl.minutes}}分{{ctrl.seconds}}秒</p> </div>
</ons-page> </ons-template> </body>

一応、実行時の時刻は表示されるのですが、intervalで時刻の更新ができていません。
console.logでnow_secondsの内容を出力させてみると(intervalで)、きちんと取得できているみたいです。
ということは時刻が反映されていないだけだと思うのですが、その方法をどなたかご教示願います。
(ソースコードが見にくいのはすみません。投稿の際の改行数が多いみたいで...)

77 :Name_Not_Found:2018/03/20(火) 00:21:08.86 ID:???.net
ここはjQueryのスレなのでこっちでどうぞ

+ JavaScript の質問用スレッド vol.132 +
https://mevius.5ch.net/test/read.cgi/hp/1520329583/

78 :Name_Not_Found:2018/03/20(火) 00:22:11.71 ID:???.net
あとjsfiddleとかに書いてください

79 :Name_Not_Found:2018/03/20(火) 00:24:59.09 ID:hIzW1Vha.net
すみません。出直してきます。

80 :Name_Not_Found:2018/03/24(土) 10:21:02.73 ID:fs2yAZOQ.net
リンクをポップアップで開く系のjQueryプラグイン使ってるのですが
Biggerlinkでリンクをdiv要素に拡大させた部分をクリックすると通常ウインドウで
開いてしまいます

これをうまく回避する方法はありますか?

81 :Name_Not_Found:2018/03/24(土) 14:31:20.88 ID:???.net
>>80
残念ながらjQueryのプラグインの話はこのスレの対象外なんだよ

jQueryは世界中で多くの人が使っているが、
そのプラグインを使ってる人は少ないだろ?
そんな話をされても使ってる人がいない
jQueryの話ではなくそのプラグインの話になってしまう

Biggerlinkとやらを見るとjQuery 1.3と書いてあるし
10年ぐらいの前のものだし別の使ったら?

82 :Name_Not_Found:2018/03/24(土) 18:27:57.94 ID:???.net
とは言いますが他のスレではjQuery自体の話題が禁止されてたりもしますし
ここ以外で聞ける場所が見つかりません

83 :Name_Not_Found:2018/03/24(土) 20:07:22.66 ID:???.net
罪のない包皮を切り刻んでぼったくった金で飯食ってるやつが偉そうに

84 :Name_Not_Found:2018/03/24(土) 22:28:32.39 ID:???.net
jQueryUI みたいな有名なプラグインなら、使っている人も多いだろうが、

そんなに昔の、近頃開発されていないようなプラグインは、
代わりのものを探した方が良い

85 :Name_Not_Found:2018/03/24(土) 23:26:33.07 ID:???.net
biggerlinkは代わりのものがないんだよな
html5になってブロック要素をリンクできるようになったとはいえ
リンクが複数だとこれ使わないと面倒だし

86 :Name_Not_Found:2018/03/24(土) 23:39:22.01 ID:???.net


自分で作れば?

87 :Name_Not_Found:2018/03/25(日) 00:15:21.22 ID:???.net
?w

88 :Name_Not_Found:2018/03/26(月) 02:22:42.85 ID:???.net
<div class="biggerlink"><a></a></div>

SASS で、<a>タグがあれば、
その親タグに、<div class="biggerlink">を追加するような、機能は無いのか?

それか、jQuery で自作するとか

89 :Name_Not_Found:2018/03/26(月) 02:25:06.98 ID:???.net
は? そのbiggerlinkとやらがまともなjQueryプラグインなら
$('a').biggerlink() とかするだけだろ

90 :Name_Not_Found:2018/03/26(月) 02:28:42.58 ID:???.net
つーかBiggerlinkって何かと思えば

http://otani-webs.com/lab/javascript/100823.html
> box全体にリンクを適用させる場合、divをaタグで括るわけにいかないので苦労するわけですが、

言ってることが古い。HTML5になった今はdivをaタグでくくればいいだけ
こんなもん完全にいらねーじゃねーかw

91 :Name_Not_Found:2018/03/26(月) 04:12:39.97 ID:???.net
>>90
div要素にaタグ複数入れる場合は
html5じゃできねーだろ

92 :Name_Not_Found:2018/03/26(月) 10:19:44.76 ID:???.net
> div要素にaタグ複数入れる場合は

<div> ・・・div要素に
 <a href="">1</a> ・・・ aタグ
 <a href="">2</a> ・・・ 複数入れる
 <a href="">3</a> ・・・ 場合は
</div> ・・・昔からできますがなにか?

93 :Name_Not_Found:2018/03/26(月) 10:59:02.40 ID:???.net
そうだねすごいね

94 :Name_Not_Found:2018/03/26(月) 11:07:26.87 ID:???.net
すごくないしw 普通
というか>>91が何ができないと言ってるのかさっぱり分からん
少なくともdivにaタグ複数入れられるし、
逆にaタグにdivだって入れられる
ということでBiggerlinkは捨てろが正解

95 :Name_Not_Found:2018/03/26(月) 12:02:12.61 ID:???.net
>>94
>>91じゃないから本意はわからんけどさすがに君が状況を理解できてなさすぎだろう

HTML5では
<a href="./page1.html">
<div> </div>
</a>
はいいけど
<a href="./page1.html">
<div>
<a href="./page2.html></a>
<a href="./page3.html></a>
</div>
</a>
これができないと言いたいのでは?

96 :Name_Not_Found:2018/03/26(月) 12:08:27.85 ID:???.net
>>95
そういうときは普通の人はaタグのネストというんで
ぜったいに違うね。(もしそうならそいつが馬鹿)

97 :Name_Not_Found:2018/03/26(月) 12:11:48.54 ID:???.net
どう考えてもdivにaタグ入れられないなんて主張してるわけないだろ
バカすぎワロタ

98 :Name_Not_Found:2018/03/26(月) 12:22:12.41 ID:???.net
いや? >>91が言うには

> div要素にaタグ複数入れる場合は
> html5じゃできねーだろ

らしいぜ?w

99 :Name_Not_Found:2018/03/26(月) 13:22:23.08 ID:???.net
話の流れを読めてないのはおまえやで
恥の上塗りすんなよ恥ずかしいやつだな

100 :Name_Not_Found:2018/03/26(月) 13:35:09.58 ID:???.net
プライドだけ高いと苦労するな

101 :Name_Not_Found:2018/03/26(月) 16:18:43.91 ID:???.net
> div要素にaタグ複数入れる場合は
というのが
aタグの中にaタグを入れるという意味だとしたら、
そもそもaタグをネストしてどうするつもりだって話になる。
リンクの中に別のリンクを入れるって意味不明だし

102 :Name_Not_Found:2018/03/26(月) 17:08:12.77 ID:???.net
どんだけサイト制作の経験少ないねん
例えばだけどRSSリーダーを作るとする
記事ひとつに対してカード型のDiv要素を作ってその中に
画像とタイトルに記事へのリンク
サイト自体へのリンク
お気に入りに追加するボタンやその他操作リンク
を入れるとする
スマホからのアクセスを考えるとカード型Div要素全体を記事へのリンクにしておきたい
この場合がまさにそうだろ
俺はこういった場合別の方法で回避してるけどね

103 :Name_Not_Found:2018/03/26(月) 17:09:25.50 ID:???.net
>>102
その別の回避方法教えて

104 :Name_Not_Found:2018/03/26(月) 17:16:16.46 ID:???.net
そうだよな。その別の回避方法を使えば良いわけで
aの中にaを入れるとか使いづらくしてるだけだわw

105 :Name_Not_Found:2018/03/26(月) 17:28:00.70 ID:???.net
大手RSSリーダーでもやってるけどな

106 :Name_Not_Found:2018/03/26(月) 17:30:26.48 ID:???.net
大手でやってたら許されるとでも思った?

107 :Name_Not_Found:2018/03/26(月) 17:36:30.86 ID:???.net
許されるよ
ごみみたいなサイトをつくってあれはおかしいこれはおかしい
といってるやつよりFeedlyやInoreaderを作ってるやつの意見のほうが貴重

108 :Name_Not_Found:2018/03/26(月) 17:37:30.92 ID:???.net
やめたれw

109 :Name_Not_Found:2018/03/26(月) 17:48:07.30 ID:???.net
そういう事言うのやめなよ
PV100/dayのサイトで何が悪い?
コーディングは完璧だぞ?

110 :Name_Not_Found:2018/03/26(月) 18:00:27.17 ID:???.net
まさかと思ったけど、div要素をクリックしたら
ページを移動させるためだけに、あんなプラグイン使ってるの?
5行ぐらいか多くても10行も行かずに作れそうなのに

111 :Name_Not_Found:2018/03/26(月) 18:08:45.37 ID:???.net
作れそう(作れるとは言ってない)

112 :Name_Not_Found:2018/03/26(月) 18:16:45.34 ID:???.net
やめたれw

113 :Name_Not_Found:2018/03/26(月) 18:17:44.88 ID:???.net
じゃあ作れるっていうよw

1. セレクタ & イベントハンドラ (
2. デフォルト処理キャンセル
3. リンク先情報取得 & オープン
4. 括弧閉じ )

やることと言ったら、これぐらいなもんだろ

114 :Name_Not_Found:2018/03/26(月) 18:25:44.28 ID:???.net
>>103

>>102じゃないけど、それぐらいすぐに思いつかないと
プロ失格だぞ。プロじゃないかもしれないけどw

relativeとabsoluteを使えばいいだけ
aの中にaとかアホすぎるw

115 :113=114:2018/03/26(月) 18:36:43.48 ID:???.net
>>102がまだまだ未熟に感じるのは
クリックできる場所と、リンクするもの が違うってことを理解してないからだね
リンクがクリックできるのはブラウザが提供している機能であって
リンクは単に他のページ(リソース)とリンクしているという情報なだけ

だからdiv要素全体をクリックしたいのと
div要素全体をリンクにするというのは意味が違う

div要素が仮に記事へのリンクだとしたら、
div要素の内容と記事がつながっているわけで、
そこにサイト自体へのリンクが入っていることはおかしい。
なぜならリンクしてないから

「お気に入りに追加するボタンやその他操作リンク」と書いているが
これは他のリソースへのリンクではないので、a要素を使うのは間違い
(その他の操作の内容にもよるが、少なくともお気に入りに追加はリンクではない)

a要素をリンク可能な場所みたいに考えてるから、変な構造を作ってしまう。
何と何をつなげるのか?で考えれば自ずと、記事を表すの中に入れるのは間違いだおt
気づくはず。そのうえで見た目をどうこうしたいのであればそれはCSSの役目

116 :Name_Not_Found:2018/03/26(月) 18:37:35.59 ID:???.net
けどおまえぶさいくじゃん

117 :Name_Not_Found:2018/03/26(月) 18:39:05.00 ID:???.net
>>115
おっしゃお気に入り追加ボタンをa要素で実装してる
inoreaderに説教してこい

118 :Name_Not_Found:2018/03/26(月) 18:41:12.44 ID:???.net
>>117
俺の書いた文章を勝手に送信してくれ

119 :Name_Not_Found:2018/03/26(月) 18:42:16.56 ID:???.net
なにぶるっとんねん

120 :Name_Not_Found:2018/03/26(月) 18:46:51.73 ID:???.net
ねぇ? >>115に 反論はしないの?

大手だって間違えてるぞ!って言われても
はい、大手でも間違えますとしか言いようがないんだが
クレームつけるのは自分でやってくれって話

121 :Name_Not_Found:2018/03/26(月) 18:47:31.63 ID:???.net
ここで説教はしますけど大手は怖いから説教しませんw

122 :Name_Not_Found:2018/03/26(月) 18:48:03.42 ID:???.net
なにちびっとるねん

123 :Name_Not_Found:2018/03/26(月) 18:48:16.95 ID:???.net
じゃあここに大手読んできたら?
なんで自分で反論せずに、大手様に反論して貰おうとしてるのさw

124 :Name_Not_Found:2018/03/26(月) 18:48:57.20 ID:???.net
自分で反論する能力がないからに決まってるだろがー!

125 :Name_Not_Found:2018/03/26(月) 18:49:57.15 ID:???.net
そもそも反論する必要あんのか?
何と戦ってるのこの長文マンは
頭大丈夫か?統合失調症ちゃうか

126 :Name_Not_Found:2018/03/26(月) 18:50:42.88 ID:???.net
おくすりだしときますね

127 :Name_Not_Found:2018/03/26(月) 18:50:46.08 ID:???.net
>>115は正論なので反論する必要はない

128 :Name_Not_Found:2018/03/26(月) 18:52:21.78 ID:???.net
なのに反論してみろって喧嘩ふっかけてて怖いな
被害妄想過ごそう

129 :Name_Not_Found:2018/03/26(月) 20:06:13.40 ID:???.net
「大手もやってるから俺も正しい」しか主張出来んのだろ
大手だからこそバリデーションくらいして欲しいわ

130 :Name_Not_Found:2018/03/27(火) 08:34:44.50 ID:???.net
顔真っ赤な奴ばっかだな
なんでこう誰でもできるような低賃金言語ってこうもすぐ荒れるかな
もっと他のことにプライドもてよクソ共

131 :Name_Not_Found:2018/03/27(火) 10:17:26.10 ID:???.net
誰でも日本語書けますが、プロは日本語を書いて大金を稼いでいます

132 :Name_Not_Found:2018/03/27(火) 10:23:41.74 ID:???.net
一番js書いてんのがgoogle
オフィススイート全部jsで書くとか悪夢だ…
しかもtypescript無い時代に…

133 :Name_Not_Found:2018/03/27(火) 10:29:01.82 ID:???.net
え? Google はGWTとか使ってるんでしょ?
Javaで作ればJavaScriptも作ってくれるとか?
もしかしてもうオワコン?
ゴミをたくさん作ってるのもGoogleだなw

134 :Name_Not_Found:2018/03/27(火) 11:12:11.84 ID:???.net
バカばっかりだな
やれやれ

135 :Name_Not_Found:2018/03/28(水) 23:39:20.81 ID:???.net
685Name_Not_Found2018/03/28(水) 22:28:13.59ID:???
>>682
いや、そんなにないと思う
どちらかと言えばそれは当てはまるもの全てに処理したいから、class使ってねということだろう
そういう場合はカスタムエレメントでも使ったほうが良い
そうすれば要素が作られた時、挿入されたときに即座に適宜処理ができるんだから

あとから要素をclassで検索して機能を付与するとか、
スマートな解決策のように見えるかもしれないけど、それって実際はただのハックだからね?
どっかの誰かが作った物があって、それに対してハックしたいなら非常に便利が良いと思うよ
でも今どき、オマケでJSによってページを補正するみたいな開発や考え方はしないからね

HTML5の勧告に纏わる公式文書にも書いてあったけど、
HTMLっていうのはアプリケーションプラットフォームになってるんだよ
つまり土台であって、その上にJSとか乗っかって1つのものができるわけ
それが横並びだとか、化粧程度だとか、もしくはJSはHTMLを改造するためのドリルみたいに
捉えてるのだとしたら、その考え方は古臭いと思うよ
686Name_Not_Found2018/03/28(水) 23:31:40.90ID:???
> そういう場合はカスタムエレメントでも使ったほうが良い

そのカスタムエレメント作る用途で使えるって話でしょ?

っていうか、どうやってそれ作るの
ちょっとサンプル書いてみてよ
687Name_Not_Found2018/03/28(水) 23:32:38.83ID:???
> HTMLっていうのはアプリケーションプラットフォームになってるんだよ
それは一部の話ね。

ブログ、ニュース、企業サイト、情報掲載と、
これらウェブの大半はアプリケーションじゃない

136 :Name_Not_Found:2018/03/29(木) 00:37:32.00 ID:???.net
jq関係ないけど
HTMLがアプリケーションプラットフォームって考え方は
ぶっちゃけ危険極まりないよね・・・

137 :Name_Not_Found:2018/03/29(木) 03:20:19.20 ID:???.net
>>136
俺もそう思う。
HTMLで文書じゃなくてアプリケーションを作るっていうのは
ごく一部だよ

大抵はHTMLとCSS、そしてJavaScriptでちょっと味付け
これから変えていこう!なんて波は来てない

138 :Name_Not_Found:2018/03/29(木) 03:20:44.86 ID:???.net
素のJS のremove では、動かないブラウザがあるから、
素のJSでは、661 のように書く

だから互換性が高い、jQuery のremoveを使った方がよい

一々、各ブラウザの機能を調べて、素のJSで対応するのが面倒くさい。
古いブラウザを使っている奴もいるし

139 :Name_Not_Found:2018/03/29(木) 03:21:01.33 ID:???.net
classに対して処理振るのが最善なケースってどんなのがある?

同じ処理つけたい要素を不定数生成しなきゃいけないときは
createElementの時listenerつけたりhandlerの内側でやらせる手がある

classで処理振ると他の場所でclassを
使いまわしされたら想定外のバグが出そう
個人レベルの小規模なら問題にならないかもだけど

140 :Name_Not_Found:2018/03/29(木) 03:21:24.35 ID:???.net
>>139
それ単にクラスの名前つけルールが無いと困るって言ってるだけだよ。
CSSでも発生する問題

.enabledというクラス名を付けていたら、
他の場所で使い回されて困った。
これと何も変わらん

141 :Name_Not_Found:2018/03/29(木) 03:27:40.51 ID:???.net
>>140
デザイナはcss変えたために自分の領域で問題が出ればすぐ把握できる
けどjavascript側で問題が出てもわからない
だから切り分けが大事

142 :Name_Not_Found:2018/03/29(木) 03:49:17.73 ID:???.net
classを使う最善なケースが出ないとなあ

143 :Name_Not_Found:2018/03/29(木) 09:10:43.92 ID:???.net
カスタムエレメントどうやって作るの?という質問の意味が分からない
好きな要素をextendsしてregisterElementするだけじゃないか
そこにjQueryを使う?好きにしたら良いと思うが、
やっぱりjQueryありきの考え方だねと言わざるを得ないね
でも他のライブラリとかも使うかもしれないし、
jQueryで処理しちゃあ生要素に戻して他で処理するみたいなクソコードになると思うよ
それなら最初からjQUeryで完結させたほうが良い
jQueryはそういう他との相容れなさが欠点だからね

remove()が使えない? 使いたい機能があって使えない環境があるなら
ポリフィル書くなり用意するなりすればいいじゃないか
そんな100も200も要るようなことなんて無いしね
それが面倒だからjQuery使うというのはOK
だけど最初から使ったほうが良いという考え方はNG
この違いが分かるか?

結局jQueryありきの価値観の人達って、他と相容れないjQueryを使いすぎて
例えばちょっとポリフィルを作って数個の素朴なライブラリを組み合わせて使うとか、
他のフレームワークを使った方が今回は良いんじゃないかとか考える能が無くなってるんだよ
jQueryだってやり方によっちゃ組み合わせて使える力も持ってるけど
上のカスタムエレメントの件で分かるように使いこなせてないしね
要するに考え方がいつまで経っても超古臭くて閉鎖的なんだよね
とりあえずjQuery使っとけばいいだろうみたいなのはやっぱり良くないよ
物は1つ1つ考えて良く使わないと

144 :Name_Not_Found:2018/03/29(木) 10:52:13.60 ID:???.net
他と相容れないってw
JavaScriptに取り込まれてること自体が
jQueryの多大な貢献を示していると思うけど

145 :Name_Not_Found:2018/03/29(木) 10:52:31.19 ID:fJ4vVpMc.net
>>143
> カスタムエレメントどうやって作るの?という質問の意味が分からない
> 好きな要素をextendsしてregisterElementするだけじゃないか

だから、このスレか、jsfiddleなどに
実際に動くコードを一つ書くだけですよ。

146 :Name_Not_Found:2018/03/29(木) 10:52:48.75 ID:???.net
通常四行必要なところが三行になります!とか
一行で書けます!とか
そんなせせこましい次元じゃなくて

100行必要なところが1行になります!とか
一般に実装されてなくて個人で実装するには難易度が高い関数が使えます!
とか、そういうのないの

147 :Name_Not_Found:2018/03/29(木) 10:53:03.38 ID:???.net
ライブラリってそういうもんだが

148 :Name_Not_Found:2018/03/29(木) 10:57:40.46 ID:???.net
jQueryを否定できるのは生JavaScriptではなくて
jQueryを超克したライブラリだと思います
そういうライブラリないんですか?

149 :Name_Not_Found:2018/03/29(木) 11:45:55.72 ID:???.net
>>148
JavaScript ライブラリ総合質問所 vol.5
http://mevius.5ch.net/test/read.cgi/hp/1465399470/

150 :Name_Not_Found:2018/03/29(木) 11:48:10.73 ID:???.net
ちゃんと安価先を修正してコピペしてて草というか感心した

151 :Name_Not_Found:2018/03/29(木) 16:23:41.59 ID:???.net
>>147
例えば今は必要性薄くなってきたけどsha512使うためのライブラリとか
zip/unzipするためのライブラリとか
自分で書くには行数すごくなるしいろいろと問題もある

むしろライブラリってこういうのが基本で
jQueryみたいなのは今やどっちかっていうと
「ショートカット集&ポリフィル集」じゃないの?

152 :Name_Not_Found:2018/03/29(木) 16:24:12.14 ID:???.net
悔しかったらjQueryに勝るシンプルなsource書いてね

153 :Name_Not_Found:2018/03/29(木) 16:24:32.17 ID:???.net
jQueryの代替を提供してるのはフレームワークばかりの感じがします
置き換えたらDOM操作以外の余計なものまで付いてくるので困りますね

154 :Name_Not_Found:2018/03/29(木) 16:24:51.74 ID:fJ4vVpMc.net
なにせjQuery君によるとDOM操作用のライブラリでは無いらしいからな。

155 :Name_Not_Found:2018/03/29(木) 17:27:42.42 ID:???.net
シンプル(千行超えの小汚ないコード)

156 :Name_Not_Found:2018/03/29(木) 20:24:46.52 ID:???.net
>>146
> 通常四行必要なところが三行になります!とか
> 一行で書けます!とか
> そんなせせこましい次元じゃなくて

四行必要なところが一行になったら1/4
1000行が250行になるんだが

157 :Name_Not_Found:2018/03/29(木) 20:33:24.93 ID:???.net
>>151
> むしろライブラリってこういうのが基本で
> jQueryみたいなのは今やどっちかっていうと
> 「ショートカット集&ポリフィル集」じゃないの?

数式だよ

「変数Xに5を加えたものを三倍する」
冗長だね

(X + 5) * 3
短い


jQueryは冗長な表現を短くすることができる
これにより可読性が高くなりレビューしやすくなるしバグも少なくなる。
簡潔な表現方法を知っていれば、あえて冗長に書く理由がない

jQueryがライブラリじゃないというのなら
もっと基本な文法に相当するものだと言うよ。

158 :Name_Not_Found:2018/03/29(木) 20:35:40.20 ID:???.net
いやライブラリだよ。

159 :Name_Not_Found:2018/03/29(木) 20:50:38.38 ID:???.net
それでjQueryちゃんは
○文字節約できます!
以外にどんな機能を提供してくれるの

160 :Name_Not_Found:2018/03/29(木) 20:57:34.42 ID:???.net
>>159
関数型風のプログラミング機能
あと機能じゃないが開発工数の削減と
バグを減らしてくれる

161 :Name_Not_Found:2018/03/29(木) 21:04:56.97 ID:???.net
開発工数の削減って○文字節約できますを言い換えただけだろw
開発工数の削減ってそんなに重要なことなのかって話だよ

162 :Name_Not_Found:2018/03/29(木) 21:05:55.04 ID:???.net
無くは無いんだがなぜか挙げられない

163 :Name_Not_Found:2018/03/29(木) 21:08:16.43 ID:???.net
見えない見えないw

164 :Name_Not_Found:2018/03/29(木) 23:34:07.39 ID:???.net
>>143
横から申し訳ない
カスタムエレメントってどういうときに使うもの?
いまいち理解できんのでよかったら教えてくれ

165 :Name_Not_Found:2018/03/29(木) 23:34:26.29 ID:???.net
カスタムエレメントがほしいって思ったことがない
つまりHTMLパーツのコンポーネント化っていう
概念がなくて行き当たりばったりでCSSでデザインしてるだけ

こういうやつもいるからjQueryでクラス使って
コンポーネントに対して処理をする便利さが理解できないんだろうな

166 :Name_Not_Found:2018/03/29(木) 23:34:55.19 ID:???.net
>>153
それな

jQueryの代替のフレームワークはJavaScriptのフレームワークで
HTML+CSSメインの作り方からJavaScriptメインに
代わってしまう。

わかりやすく言えばプログラミングできなきゃ
HTMLも表示できない。jQueryの利用者が今も増え続けてる理由だよ

167 :Name_Not_Found:2018/03/29(木) 23:35:14.04 ID:???.net
https://w3techs.com/technologies/history_overview/javascript_library/all

ここ二ヶ月の間73.2%から増えてないから
とうとう上げ止まったか?と思ったら今月73.3%になった
よかった。jQueryの利用者はまだ増え続けてたんだ。

168 :Name_Not_Found:2018/03/29(木) 23:35:39.34 ID:???.net
>>164
要素をカスタムしたい場合、という回答では不十分か?
今回の件に限らないけど、どうして何かしら例を出した程度の場合に
そいつにその物事についての説明やサンプルを求めるのかがさっぽり理解できない

俺の考えを知りたいのか?、それとも俺を試してるつもりなのか?
そんなの適当にググって出てくるサイトの筆者の方がよっぽど詳しいし
よっぽどためになる事書いてあるに決まってるだろう
俺はカスタムエレメントの申し子じゃないんだからさ

でもとりあえず上のclassの話で回答しておくと、
要素に何かしらの機能や性質を持たせる、という考え方と違うものとして
何かしらの機能や性質を持った要素が定義してあって、それを使うという考え方を挙げた

例えば一部で幾つか配列操作メソッドがほしいときに、
Array.prortotype、もしくはArrayのインスタンスにメソッドがを定義するのではなく、
Arrayをextendsしたクラスを用意しておいて、必要なときではそちらでインスタンスを作るということ、
このたとえならjQueryはlodashを使うことに近いのかもしれない

ただし、そのlodashは入出力がArrayではなく、独自のArrayLikeオブジェクトになってるって感じ
そこがちょっと無視できないポイント
つまり基本的にlodash世界内で完結するように書くものであって、
lodashに一旦通して配列を加工して、lodash空間はそこで一旦終わらせて、
次に別のものに通していくってことが、ロジック上難しいのではないけれど、概念上困難ということになる

169 :Name_Not_Found:2018/03/29(木) 23:36:02.69 ID:???.net
俺が変わりに答えてあげるけど
jQueryならサクッとできることが
カスタムエレメントだとすごく大変

170 :Name_Not_Found:2018/03/29(木) 23:36:28.28 ID:fJ4vVpMc.net
>>168
具体例

171 :Name_Not_Found:2018/03/30(金) 12:49:57.02 ID:???.net
custom components は、React とかだろ

JS は、Ruby, Python みたいに、
バッテリー同梱(batteries included)じゃないから、
標準ライブラリ・フレームワークが無く、自分で探さないといけない

各ブラウザ・スマホの実行環境を考慮した結果、標準にしない方がよい。
標準にすると、性能などで困るメーカーが出てくる

172 :Name_Not_Found:2018/03/30(金) 19:05:30.39 ID:???.net
>>170
>>685でズバリ具体例を言ってるだろ、コードが欲しいってことか?
具体的に何の具体例をどういう目的で欲してるのかも分からんし
そんなん比較で色々書いてたら俺が書いてきた長文以上の量になるだろう
複数の要素を扱うってことで例を考えるとHTMLだけでもそれなりになるし
書く意味も分からんし書く気は無いよ

173 :Name_Not_Found:2018/03/30(金) 19:05:49.71 ID:???.net
なんでイライラしてるやつばかりなんだ?

174 :Name_Not_Found:2018/03/30(金) 19:06:03.64 ID:???.net
親を殺したjQueryがのさばってるから

175 :Name_Not_Found:2018/03/30(金) 19:24:06.09 ID:???.net
>>171
Reactは1ミリもweb component/custom elementと関係ありません。
知ったかするな!
しいていうならPolymerだバカ

176 :Name_Not_Found:2018/03/30(金) 19:24:58.07 ID:???.net
Railsにincludedされてるバッテリー風情がイキがっててワロタwwwww

177 :Name_Not_Found:2018/03/30(金) 20:53:42.48 ID:???.net
バッテリーってなに?

178 :Name_Not_Found:2018/03/30(金) 21:07:50.81 ID:???.net
押し寿司

179 :Name_Not_Found:2018/03/30(金) 22:47:32.59 ID:???.net
Web Componentsが各ブラウザでネイティブに実装されたら
今のAngularやReactなどのフレームワークは死滅する
一番の問題はフレームワークと共存できないということ
フレームワーク側もシェア維持のためにWeb Componentsに対応するのだろうが
今と作り方がまったく変わってしまう


だけどjQueryはただのライブラリなので、Web Componentsと共存できる
部分的にjQuery、部分的にWeb Componentsを使と言うことが可能
またWeb Components時代になってもコンポーネントとコンポーネントをつなぐ
必要がある。ここにjQueryは使うことができる。
コンポーネントが見つからない場合、今までどおりjQueryを使うこともできる
混ぜて使うことが可能。これがjQueryの大きなメリット

180 :Name_Not_Found:2018/03/30(金) 22:49:51.42 ID:???.net
使えても使えなくても変わらないという程度の影響度

181 :Name_Not_Found:2018/03/31(土) 02:35:14.87 ID:???.net
ウェブこんぽーねんつって何?

182 :Name_Not_Found:2018/03/31(土) 07:22:58.09 ID:???.net
>>181
<honoka></honoka>
とかやっておくとかわいい女の子が表示される

みたいなものw

183 :Name_Not_Found:2018/03/31(土) 10:13:19.69 ID:???.net
じゃあ、bodyに<all></all>と書くだけで
ページ全部が作れるのか

184 :Name_Not_Found:2018/03/31(土) 10:36:13.69 ID:???.net
残念、表示されるのは黒乳首

185 :Name_Not_Found:2018/03/31(土) 23:36:19.29 ID:???.net
jqの配信終わったら即死じゃん

186 :Name_Not_Found:2018/03/31(土) 23:36:37.77 ID:???.net
カスタムタグとかカスタムエレメントとかウェブコンポーネントとか
正直全部どうでもいい

そんなのより
全部のブラウザでasync/await使えるようにしてくれよ
いつだよ

187 :Name_Not_Found:2018/03/31(土) 23:36:49.55 ID:???.net
IEが死ぬのを期待した方がまだ早い

188 :Name_Not_Found:2018/03/31(土) 23:37:14.86 ID:???.net
>>186
babel使え

189 :Name_Not_Found:2018/03/31(土) 23:37:31.08 ID:???.net
期待せずに死んだものとして触らないのも手段だぞ

190 :Name_Not_Found:2018/03/31(土) 23:37:58.65 ID:???.net
>>167
「jQueryは死んだ」というのが流行ってただけで
実際はむしろ成長中だったのですね

191 :Name_Not_Found:2018/03/31(土) 23:38:18.55 ID:???.net
urlにおもいっきりJavascriptライブラリって書いてあるやんけ。
しいていうならJavascriptは永久に100%
Javascriptはお釈迦さま。てのひらの上で一番うまく踊れるのが誰か競ってるのがライブラリ。

192 :Name_Not_Found:2018/03/31(土) 23:38:35.95 ID:???.net
>>191
ブラウザがお釈迦様。手のひらの上で踊らされてるのがフロントエンドエンジニア。

193 :Name_Not_Found:2018/03/31(土) 23:38:59.50 ID:???.net
>>191
リンク先には各ライブラリのシェアだけではなく
ライブラリを使わないというNoneもはいってるよ

だから正確には、どのライブラリ or ライブラリを使わないで競ってることになる
ライブラリを使わないっていうのは素のJavaScriptを使うという意味だ

お前が言うJavaScriptはライブラリを使わないという意味じゃなかったのか?
それともjQueryを使っていてもJavaScript100%に含まれる
(だからこのスレの話題としてOKってことか)

Noneの割合は年々減っている。現在は23.7%。
最近は一年で1%減るぐらいのペース
jQueryはその逆で一年で1%増えるぐらいのペース

194 :Name_Not_Found:2018/03/31(土) 23:39:40.91 ID:???.net
正直手のひらの上で踊らされてるのは、
流行りものに流されっぱなしの
JavaScripterだけな気がするw

jQuery使いはストイックだよ
もう10年も踊ってない

195 :Name_Not_Found:2018/03/31(土) 23:39:56.85 ID:???.net
ライブラリは言語に足りない部分を実現して
言語の未来の形を先取りしているものなので、お釈迦様というのは言い過ぎではないでしょうか?
ライブラリに先導されてJavaScriptはその後をヨチヨチと付いてきているのですから
むしろライブラリの方がお釈迦様的です

196 :Name_Not_Found:2018/03/31(土) 23:40:30.59 ID:???.net
ライブラリはjavascriptで実現可能なことしか実現できない。
javascriptで書かれてるからなw

197 :Name_Not_Found:2018/03/31(土) 23:40:44.85 ID:???.net
高級言語はアセンブラで実現可能なことしか実現できない。

できることと言ったら実現可能なことを、早く安く作れるだけだ
ライブラリもそれと同じ
こればっかりはアセンブラでは実現できないw

198 :Name_Not_Found:2018/03/31(土) 23:41:49.00 ID:eDWIn8L7.net
>>193
その None にはスクリプトすら使わないというのは入っているのかな?

199 :Name_Not_Found:2018/03/31(土) 23:57:45.68 ID:???.net
Noneの中にJavaScriptすら使わないのがはいっていたら
生JavaScriptを使ってる人はもっと少なくなるな

200 :Name_Not_Found:2018/04/01(日) 00:33:28.86 ID:???.net
どうせサイト全体でロード記述がどっかにあるかどうかでしょ
機能単位で見たら生jsクソほどありそう

201 :Name_Not_Found:2018/04/01(日) 00:40:32.83 ID:???.net
>>200
調査方法載ってないんだよな
調査方法載ってないデータはクソ

202 :Name_Not_Found:2018/04/01(日) 00:57:49.66 ID:???.net
サイトの一覧ないと再検証できないじゃん
この手の調査はだいたいそんなもん

203 :Name_Not_Found:2018/04/01(日) 01:31:33.39 ID:???.net
>あなたの主張からすると調査方法載ってるので
>クソではないということになりました。

具体的な調査方法が一切無い時点でクソ
たとえばあるサイトにwordpressがどっかにあればそのサイトは各種ライブラリを使っている!と判断されるかもしれない
少なくとも「新たな開発に○○を使っているかどうか」の実証にはなりえない

> 彼らが望むのであれば、ウェブサイトはほとんどの技術を隠すことができるため、
> このタイプの調査は100%正確であることは不可能です。

Webサイトのサーバ側で使ってる言語なんかはともかく
ライブラリも含めて難読化でもしない限りフロント側はかなりわかるはずだよね

204 :Name_Not_Found:2018/04/01(日) 01:45:01.85 ID:???.net
w3techsっていう怪しいコンサル会社がやってる怪しいリポートしか出すものが無いという事実
良くわからん計算で勝手にこのドメインのアクセス数はいくつ、時価は何ドル、ってやってるクソサイトと同列

sites infoで自家鯖ドメインがNTTのクラウド使ってるとか診断されてて草

205 :Name_Not_Found:2018/04/01(日) 02:16:03.45 ID:???.net
>>202
たしかにw
わろた

206 :Name_Not_Found:2018/04/01(日) 03:03:04.56 ID:???.net
> >あなたの主張からすると調査方法載ってるので
> >クソではないということになりました。
>
> 具体的な調査方法が一切無い時点でクソ

こっちに具体的な調査方法が書いてあるよ。

+ JavaScript の質問用スレッド vol.132 +
https://mevius.5ch.net/test/read.cgi/hp/1520329583/742

207 :Name_Not_Found:2018/04/01(日) 03:12:03.10 ID:???.net
>>202
> サイトの一覧ないと再検証できないじゃん
それは、自分で複数のサイト(少なくとも数千レベル)を調べて
こうだったって言えば良いのでは?

再検証はできなくても反論はできるでしょ?
再検証できないじゃんというだけじゃ反論にはならないので
相手のデータを否定したことにはならない。

208 :Name_Not_Found:2018/04/01(日) 04:05:06.37 ID:???.net
証拠なし根拠なしだから論証にすらなっていないので反論の必要がない

データを否定するもなにも
w3techsのはデータじゃなくて妄想
それを根拠に語るお前も妄想

209 :Name_Not_Found:2018/04/01(日) 04:20:25.77 ID:???.net
あぁ、こっちのスレでは調査方法書いてないから
こっちでやろうとしてるのか。卑怯だなw

むこうのスレからコピペするね。

調査方法は以下に書いてますね
https://w3techs.com/faq

> 調査方法載ってないデータはクソ
あなたの主張からすると調査方法載ってるので
クソではないということになりました。

英語わからないならGoogle翻訳使うといいですよ。

> どの技術がサイトで使用されているかをどのように知っていますか?
>
> 主に、Webページのダウンロード時にサイト自体が提供する情報を使用します。
> 言い換えれば、私たちは検索エンジンのようなWebページを取得し、その結果を分析します。
> さらに、Alexa、Google、Microsoft、ipinfo.ioなどのソースから公に入手可能な情報を使用しています 。

210 :Name_Not_Found:2018/04/01(日) 07:22:54.40 ID:???.net
英語がわからなくてgoogle翻訳使ってんの自分じゃん?w

211 :Name_Not_Found:2018/04/01(日) 15:43:13.36 ID:???.net
英語のまま貼ってもいいけど、読まないやつは読み飛ばすだろうからね
かと言って俺が翻訳するのは面倒

212 :Name_Not_Found:2018/04/01(日) 15:56:43.41 ID:???.net
面倒じゃなくて出来ないんでしょ
嘘はいけないなあ

213 :Name_Not_Found:2018/04/01(日) 16:01:41.26 ID:???.net
いや、読めないと探し出せないからw

214 :Name_Not_Found:2018/04/01(日) 16:43:36.68 ID:???.net
>>209
主にトップページしか検索の対象にしてないってかいてるやんw
クソデータ決定だなw

215 :Name_Not_Found:2018/04/01(日) 16:51:46.72 ID:???.net
ほらな。だから日本語に翻訳してコピペする必要があるんだよ(苦笑)
しっかり書いてある。英語を読まないから見つけられない

> あなたはホームページだけ、あるいは内部のページだけを分析しますか?
>
> それはサイトについて既に知っているものに依存します。
> しばしばそれはホームページでしかありません。
> 多くの場合、我々はより深くクロールします。

216 :Name_Not_Found:2018/04/01(日) 16:54:29.23 ID:???.net
>>209
卑怯ってなんだよw
あっちはすれ違いだろ
勝手にお前があっちに貼ってるだけだろ
ばかじゃねぇの?
分散させようとしてスレ違いのとこにかってに書き込んでるお前が卑怯だろ。
頭いかれてるっぽいなこいつ。

217 :Name_Not_Found:2018/04/01(日) 16:55:32.21 ID:???.net
> Do you analyze only the home page or also inner pages?
>
> That depends on what we know already about the site.
> Often it's only the home page, in many cases we crawl deeper.

なお翻訳前の英語。短いから手動で訳してあげると


あなたはホームページだけを解析しますか? それとも内部のメージも?
私達がすでに知っているサイトの内容に依存します。
しばしば、それはホームページだけですが、多くの場合、私達は深くクロールします。

218 :Name_Not_Found:2018/04/01(日) 16:58:09.70 ID:???.net
Often it's only the home page, in many cases we crawl deeper.

これは基本トップだけ検索してます。でもより深くまでクロールすることもあるよって意味ですが?
コンマの意味分からんのか?

219 :Name_Not_Found:2018/04/01(日) 17:01:48.72 ID:???.net
あ、俺一応英検一級持ってるんでw

220 :Name_Not_Found:2018/04/01(日) 17:01:56.57 ID:???.net
比率は何対何かぜんぜん分からんなこれ。計測仕様もクソもない

221 :Name_Not_Found:2018/04/01(日) 17:07:28.23 ID:???.net
>>218
「in many cases」をどこにどうやって入れるつもり?w

222 :Name_Not_Found:2018/04/01(日) 17:09:41.79 ID:???.net
「Often」も省略してるよなw
重要な単語を2つ省略する自称英検一級www

223 :Name_Not_Found:2018/04/01(日) 17:11:47.89 ID:???.net
oftenはオフンではなくおふとん!と発音するとアメリカのインテリから一目置かれるよ!

224 :Name_Not_Found:2018/04/02(月) 14:41:15.11 ID:41m4qg1d.net
警察と創価、在日マフィアによる集団ストーカーの証拠動画
(警察車両ナンバー入り)
https://www.youtube.com/watch?v=gTOBN1AkSz0
https://www.youtube.com/watch?v=bbPcpPwO3ug
https://www.youtube.com/watch?v=de1jeSPGGNo

怖ろしくてお漏らししそう´・ω・`

225 :Name_Not_Found:2018/04/09(月) 12:37:25.83 ID:q9OR0b88.net
一々、翻訳しなくても、

Egde のプラグインの、翻訳ボタンを押せば、そのページを翻訳できる

226 :Name_Not_Found:2018/04/10(火) 04:18:01.72 ID:???.net
chromeのコンソールで
var T = (function() {
return {a: 3};
}).prototype.aaa = function() {};
new T;
ってやったら凄い勢いでchrome 全ウィンドウ落ちてタブも復元できなかったwww
みんなもお試しあれ

227 :Name_Not_Found:2018/04/10(火) 04:49:15.25 ID:???.net
ページのリダイレクト先について質問です。

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="refresh" content="1;URL=PCで飛ばしたいURL">
<script type="text/javascript">
if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {

location.href = 'PC以外で飛ばしたいURL';

}

</script>
</head>
<body>

</body>
</html>

この書き方ですと、PCでは「PCで飛ばしたいURL」へ飛びますが、PC以外では「PC以外で飛ばしたいURL」に飛びます。

ここで質問なのですが、android端末のみに飛ばしたいURLを指定する場合、どのようにscriptを記載すれば宜しいのでしょうか?

228 :Name_Not_Found:2018/04/10(火) 08:54:29.66 ID:???.net
if (navigator.userAgent.indexOf('Android') > 0) {

location.href = 'android端末のみに飛ばしたいURL';

} else if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0) {

location.href = 'PC以外で飛ばしたいURL';

}

229 :Name_Not_Found:2018/04/10(火) 14:16:26.40 ID:???.net
>>226
正常に動く

T.aaa {}
と表示される

230 :Name_Not_Found:2018/05/01(火) 18:31:24.13 ID:l1wYHpV1.net
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

F8AFC

231 :Name_Not_Found:2018/05/01(火) 18:47:22.15 ID:qHJ4a40K.net
>>230
マルチ広告死ね。儲かる言ってる割に宣伝必死だなww
借金で首吊れやwww

232 :Name_Not_Found:2018/05/07(月) 19:11:22.82 ID:???.net
ホームページ例
http://www.kigyo88.com/visa/

このホームページの外国語タブ使われているのは、JavaScriptでしょうか?
それでこのような翻訳機能が出来るやり方が載っている『本』とかありましたら
教えていただけないでしょうか?

233 :Name_Not_Found:2018/05/07(月) 20:43:36.70 ID:???.net
言語が違う全く同じ内容を最初から4つ用意しておいて
表示を切り替えてるだけだから、JSもシンプルだし、別にラジオボタンとCSSでもできる
でも勿論それが銀の弾丸というわけではない

コンテンツがシンプルで量もそれほどない、という前提があって使えることだし、
もしかすると翻訳のことも考えた結果のデザインになっているのかもしれない

つまり何かを実現するための方法というのはその時その時の他の要素で大きく変わるし、
何かを実現しやすくするために別の何かを調整しておかないといけないことも多いので
そんな話は簡単ではないし、勿論本を見て勉強するようなことではないということ
所謂応用力だから

234 :Name_Not_Found:2018/05/07(月) 22:48:59.42 ID:???.net
let a = $('<p>a</p>');
let b = $('<p>b</p>');
$('#hoge').html([a,b]);

このようにhtmlメソッドにjQueryオブジェクトの配列を渡したら問題なく動作しました
何故でしょうか?

235 :Name_Not_Found:2018/05/07(月) 23:22:41.60 ID:???.net
ちなみにもともとはjQueryオブジェクトの配列を要素にappendしていたのを、
追加ではなく入れ替えたいと思ってやってみたら動作したいう次第です

236 :232:2018/05/08(火) 14:07:27.82 ID:???.net
>>233
なるほど、これは翻訳をあらかじめ用意してるだけなんですか。
ありがとうございました。

237 :Name_Not_Found:2018/05/08(火) 16:49:53.76 ID:???.net
>>234
jQueryはよくできているからです。

238 :Name_Not_Found:2018/05/09(水) 07:42:36.88 ID:???.net
>>237
感心ですね
ありがとうございました

239 :Name_Not_Found:2018/05/15(火) 00:47:32.14 ID:???.net
以前はマウスホイールイベントを扱うのにjquery-mousewheelプラグインを使っていましたが
今はjquery自身が実装してるのでしょうか?
mousewheel jqueryでググるとまだjquery-mousewheelがトップに出てきますが、
更新が止まってますし、対象期間を1年以内にすると消えます

240 :Name_Not_Found:2018/05/15(火) 02:50:25.79 ID:+y/r9I8H.net
仕事でIEのブラウザ上を普通にctrl cコピーしてExcelに貼ることが多いんだけど、セル一枠がクレジットカード番号のみ情報が混じってると勝手に16文字目が0にされてしまう
セルに直接クレジットカード番号打ち直せばいいんだけど、いちいち結構な手間になってしまう
特にブラウザのCSSのデザインもExcel上に残したいからなおさら

Excelのフォーマットの文字列に該当する設定ってJavaScriptでできたりする?

241 :Name_Not_Found:2018/05/15(火) 05:45:13.80 ID:???.net
Excel の数値型の精度が、15桁までしかないのかも。
Excelに、文字列型と解釈させれば良いかも

20桁ぐらいある数値を、Excelにコピーして試してみれば?

242 :Name_Not_Found:2018/05/15(火) 07:01:12.29 ID:???.net
>>239
jQueryやそれらの古いライブラリはまだpassiveに対応してないので
現状では実質使えないものとなってるがv4.0で対応予定

https://github.com/jquery/jquery/issues/2871
ここを追うと良い
v4.0までは自分でライブラリ書くと良いよ

243 :Name_Not_Found:2018/05/15(火) 15:25:11.56 ID:???.net
ありがとうございます
passive event listenerっていうのは初耳です

244 :Name_Not_Found:2018/05/15(火) 19:49:07.77 ID:???.net
$(document).on('wheel', function (event){
console.log(event.originalEvent.deltaY);
})

245 :Name_Not_Found:2018/05/16(水) 10:03:45.74 ID:HI6BdTWo.net
初心者質問で申し訳ありません。
radioボタンのチェックされた要素番号(?)はjQueryでどう取得したらよいので
しょうか。何がしたいのかというと、例えば第一希望、第二希望、第三希望を
ラジオボタンで選択するのですが、その際、第一希望でチェックされたものは
他の希望は選択できないようにしたいのです。
<input class="kibo01" type="radio" name="第一希望" value="2018/06/01">6/1
・・・
<input class="kibo02" type="radio" name="第二希望" value="2018/06/01">6/1
・・・
<input class="kibo03" type="radio" name="第三希望" value="2018/06/01">6/1
・・・
各classの順番は同じなので、クラスを取得して添え字を基準にdisabledにしているのですが、
jQueryを使えばIE7でも動作するのかなと思っての質問です。
name属性やvalueが日本語、Shift-JISで使えないようなので、クラスを利用したいのです。
jQueryならこうするでも構いません。どうぞ、よろしくお願いします。

246 :Name_Not_Found:2018/05/17(木) 00:20:04.50 ID:???.net
君は、ラジオボタンの基本から間違っている。
name 属性は同じにしないと、同じグループにならない

まず、HTML のラジオボタンから勉強せよ

「html radio checked」「jquery radio checked」で検索!

【jQuery入門】ラジオボタン(radio要素)の取得・選択・checked操作!
https://www.sejuku.net/blog/46739

247 :Name_Not_Found:2018/05/17(木) 08:36:01.83 ID:72MVaTHy.net
>>246
私の説明が下手だとは思うのですが、
第一希望のラジオグループと、第二希望、第三希望のラジオグループがあって、
それぞれ同じ項目を持っており、一つのラジオグループで選択された項目を
他のラジオグループではdisabledにしたいのです。
全部書かずに省略した"・・・"なのです。

248 :Name_Not_Found:2018/05/17(木) 09:04:28.95 ID:???.net
なんか図かけよ

249 :Name_Not_Found:2018/05/18(金) 00:43:16.48 ID:???.net
jQueryのchange()によるイベント処理操作まとめ!
https://www.sejuku.net/blog/41231

ラジオボタンのchangeイベントで、
一つのラジオグループで選択された項目を、
他のラジオグループではdisabledに設定すれば?

>name="第一希望"
半角文字以外を使うな

250 :Name_Not_Found:2018/05/18(金) 01:04:08.01 ID:???.net
name="dai ichi kibou"

251 :Name_Not_Found:2018/05/18(金) 01:04:24.38 ID:???.net
name="ダイイチキボウ"

252 :Name_Not_Found:2018/05/18(金) 02:05:33.93 ID:1EeoIRbM.net
>>249
そうするために、要素(添え字)の数を知りたいと思っているのですが・・・。
val()で値を取得して、該当するものを探す方法でもいいんですがそれが
わからないので質問しているのです。ご紹介のサイトでは
説明をみつけられませんでした。
(値が同じという前提ではないので、値は使いたくないのですが、
 それでも構いません)

ANK不使用については大前提なのです。

253 :Name_Not_Found:2018/05/18(金) 04:18:41.47 ID:???.net
なにやりたいのさっぱりだっから、これよんで勉強しろ

<input name="group" type="radio" value="1">1
<input name="group" type="radio" value="2">2
<input name="group" type="radio" value="3">3
<input name="group" type="radio" value="4">4
<input name="group" type="radio" value="5">5

$('[name="group"]').on('change', function() {
 alert($(this.form || document).find('[name="group"]').index(this));
});

254 :Name_Not_Found:2018/05/18(金) 09:27:15.60 ID:???.net
<div id="radio_1">
<input type="radio" name="radio_1" value="1">
<input type="radio" name="radio_1" value="2">
<input type="radio" name="radio_1" value="3">
</div>

<div id="radio_2">
<input type="radio" name="radio_2" value="a">
<input type="radio" name="radio_2" value="b">
<input type="radio" name="radio_2" value="c">
</div>

$('#radio_1 > input').on('change', function() {
$('#radio_2 > input').removeAttr('disabled'); // 削除

var value = $(this).val();
console.log(value);
if ( value === '2' ) {
$('#radio_2 > input[value="b"]').attr('disabled', 'disabled')
}
});

radio_1 が2 なら、radio_2 のb を、disabled にする。
value を使うのなら、radio_1, radio_2 の対応表がいる

1 - a
2 - b
3 - c

255 :Name_Not_Found:2018/05/18(金) 09:35:54.27 ID:???.net
nth-childやeq使ったり、data属性でグループ化したらいいんじゃにの

256 :245, 247, 252:2018/05/18(金) 12:55:34.40 ID:1EeoIRbM.net
Javascriptでは例えばこうしています。onChangeで呼び出し。
function hoge() {
var kibo1 = document.getElementsByClassName("kibo01");
var kibo2 = document.getElementsByClassName("kibo02");
//初期化
for (var k = 0; k < objA.length; k++) {
kibo1[k].disabled = false;
kibo2[k].disabled = false;
}

//クラスkibo01がチェック済
var idx;
var flg = false;
for (var i = 0; i < kibo1.length; i++) {
if (kibo1[i].checked) {
idx = i;
flg = true;
break;
}
}
if (flg) {
kibo2[idx].disabled = true;
}
//以下、クラスkibo02の場合が続く

}

257 :256:2018/05/18(金) 12:58:52.07 ID:1EeoIRbM.net
連投すみません。
>>253
つたない説明で申し訳ない。
nameが日本語で、文字コードはShift-JISなのですが、動きますか?
さくっと書いたものでは動作しませんでした。
他の書いた部分が違ったのかもしれませんけれど。

258 :256:2018/05/18(金) 13:09:14.12 ID:1EeoIRbM.net
>>254
コードをありがとう。value値で引っ張るのですね。日本語通るか試してみます。
※ただ、選択肢が増えたり変更した場合にJavascriptを書き換えないといけないのと
正直、例えば20位の選択肢の第3希望までを、ifなりswitchなりで分岐するのはいかがなものかと。

>>255
正しくないのですが、(さくっと書いたら動かなかった)
var i = $(".kibo01:checkd).index();//そもそもindex()が正しいのかわからない
$(".kibo02:eq(+i+)").attr("disabled", true);
とかしたいのです。
どのように書いたらいいんでしょうか。
nth-childやdata属性は使ったことがないので調べてみます。

みなさん、ありがとう。

259 :Name_Not_Found:2018/05/19(土) 01:22:46.92 ID:???.net
文字コードは、BOM なしUTF-8 以外は、使わないように

プログラミングの基本は、半角文字だけ。
全角文字などは、テキスト部分だけに使うように

HTML, jQueryの基礎から勉強して、わからない事は検索するように

素のJavaScript で、プログラミングしないように
>256 のようなループ処理を読むのが面倒だから

選択肢の数が変動するなら、汎用的に作らないといけないから、
簡単にプログラミングできない

>254 のような、radio_1 と、radio_2 の対応表が必要

260 :256:2018/05/20(日) 22:35:12.69 ID:???.net
>>259
酔っ払ってる?
気を悪くしたら申し訳ないのですが、
たぶん私の方が貴方より諸々理解していると思います。
回答しようとしてくれる気持ちはありがたいです。本当に。
土日は所用があり試せていませんが、ちょっと思いついたこともあります。
また試してみたく思います。ありがとうございました。

261 :Name_Not_Found:2018/05/21(月) 03:54:49.18 ID:yAEwsLRn.net
Jqueryのajaxで他のhtmlファイルを読み込んでそいつをgetElementByIdとかで
DOM操作してやりたいのですがやり方が分かりません。
XMLHttpRequestでゴリゴリ行くならばresponseTypeにdocumentを指定してやれば
responseXMLをそのまま使えるのですがJqueryではどうすればいいでしょうか?

262 :Name_Not_Found:2018/05/21(月) 04:08:17.20 ID:???.net
普通にやればできる
かなり簡単

263 :Name_Not_Found:2018/05/21(月) 05:07:07.67 ID:yAEwsLRn.net
$.ajax({
type: "POST",
url: "/hoehoe.php" ,
data: {
key: "ほえほえ"
},
dataType: "html",
timeout: 10000
}).done(function(html) {
console.log($(html)[0].getElementById('xxx'))

});
});

普通に考えてこんな感じでやってみたりしてるんですが上手く行かず
末端の方だと$(html).find("#xxx")で取れなくもないのですが
ルートの上の方で子要素が沢山ある場合失敗するような感じ

264 :Name_Not_Found:2018/05/21(月) 05:27:25.84 ID:yAEwsLRn.net
自己レス、分かりました。
findで絞る場合、body直下のタグはダメなんですね。

265 :Name_Not_Found:2018/05/21(月) 05:37:02.39 ID:???.net
>>264
HTML入門とかいう本を読んだほうが良い

266 :Name_Not_Found:2018/05/21(月) 05:48:42.98 ID:yAEwsLRn.net
と思ったけどもbody直下以外にも取得できなかったりしてダメだな。何が悪いんだろう。

267 :Name_Not_Found:2018/05/21(月) 11:40:58.93 ID:???.net
他のHTML ファイルを読み込むって、他のドメインからは、
Cross-Origin Resource Sharing (CORS) で読み込めないだろ

例えば、自分のwebページから、
5ch のHTML を、iframe 内に読み込んでも、
他のドメインのwebページだから、アクセスできない

だから、ブラウザから直接では、アクセスできないので、
自分のPC に、webサーバーを立てて、そこ経由でアクセスしないといけない

Ruby の標準サーバー、WEBrick とかを立てる

268 :Name_Not_Found:2018/05/21(月) 12:34:29.64 ID:???.net
Nodeで2,30行書いた方が良くない?

269 :Name_Not_Found:2018/05/21(月) 12:39:59.86 ID:???.net
こいつruby宣伝クソ野郎だから。

270 :256:2018/05/21(月) 12:58:15.19 ID:???.net
>>263
・htmlを画面表示していますか?
 表示しないと(console表示だけだと)documentの関数は使えないと思います。
・表示したのであれば、単純に("#xxx")で取得できると思います。
 あえてgetElementByIdを使う理由があるのでしょうか。

271 :256:2018/05/21(月) 13:01:15.07 ID:???.net
ごめんなさい。
ここでいうhtmlというのは"hoehoe.php"で作られるファイルのことです。

272 :Name_Not_Found:2018/05/21(月) 18:41:46.87 ID:yAEwsLRn.net
>>266
更に自己レス、単純にpostで得られるドキュメントがエラー吐いてて
想定の形式じゃなかったからこっちもエラー吐いてただけの模様。
寝ないで作業するととこんな単純なことも見逃す脳みそになってしまうという言い訳。
ただ、それだけじゃ説明できないことも有るような気が戦でもないけどとりあえずちゃんと動いてるので検証はしない。
多分気のせい。そうに違いない(願望

>>270
あえて使わない理由は特に無いですが
普段jqueryは使わないのとgetElement系も自前でワッパー定義してて
実際は$i("id")とかでもっと短く書けてるのでこっちのが便利なんです

273 :Name_Not_Found:2018/05/21(月) 18:57:29.60 ID:???.net
ワッパ?逮捕?

274 :Name_Not_Found:2018/05/21(月) 19:40:36.57 ID:???.net
>>272
解決おめでとうございます。お疲れ様です。
アルト、エネーブル、ブーリーンという人は知っていますが
ワッパーは初めてです。

275 :Name_Not_Found:2018/05/21(月) 20:07:25.96 ID:???.net
ゥラッパーって必ず小さいウ入れてくる奴はいた。吹き出さないよう必死だった俺。

276 :Name_Not_Found:2018/05/21(月) 21:55:33.96 ID:???.net
オレオレワッパー

277 :Name_Not_Found:2018/05/21(月) 23:38:37.62 ID:N1KmZ/qF.net
ラッパーですか?

278 :Name_Not_Found:2018/05/25(金) 07:10:22.04 ID:???.net
動的に作った大きめのtableをremoveすると時間がかかるのですが、短時間でremoveする方法はあるでしょうか

279 :Name_Not_Found:2018/05/25(金) 09:19:16.82 ID:???.net
>>278
普通は時間がかかることはない
時間がかかるのは削除する情報が多い場合
その情報とはイベントハンドラとデータ(data)の二つ
データはおそらく使ってないだろうからイベントハンドラ
つまりデータを作る時セルごとにイベントハンドラをつけるのではなく
テーブルなど上位の要素に一つだけイベントハンドラをつけるようにすれば良い

280 :Name_Not_Found:2018/05/26(土) 14:17:20.24 ID:???.net
>>278
とりあえず隠して
requestIdleCallback使って少しずつ消していったら?

281 :278:2018/05/29(火) 07:06:59.43 ID:???.net
アドバイスありがとうございます

普通は遅くならないということなので、イベントハンドラを意識して見てみたいと思います

282 :Name_Not_Found:2018/05/30(水) 10:44:39.62 ID:???.net
「Jquery もういらない」とサジェストされるんですが、まもなく消える技術なんですか?

283 :Name_Not_Found:2018/05/30(水) 11:29:13.07 ID:???.net
導入の簡単さ、お手軽さは替えがたい。
まだまだ生きるよ。
ごちゃごちゃイキってんのはエンタープライズ用途の意識高い系で個人や小規模サイトにはまったく関係ない。

284 :Name_Not_Found:2018/05/30(水) 12:03:48.86 ID:???.net
>>282
サジェストされないし、
消えることもないよ

285 :Name_Not_Found:2018/05/30(水) 15:10:30.67 ID:???.net
「不要」とか「いらない」ならまだしも
「もういらない」がサジェストするとかありえないな
そんな言葉で検索したり書いたりしないだろ?
今までに自分が調べた言葉が優先されただけだろ

なお「不要」も「いらない」もサジェストされてない
シークレットウインドウでGoogleでサジェストされたのは以下
・ダウンロード
・使い方
・サンプル
・入門
・最新
・できること
・読み込み
・導入
・javascript
・$ 意味

286 :Name_Not_Found:2018/06/06(水) 07:38:14.02 ID:???.net
GIFのローディングアニメを使ってるんですがサーバサイドの処理が終わってブラウザでDOMを作る時にアニメが止まります

止まらないようにする事は出来るでしょうか

287 :Name_Not_Found:2018/06/08(金) 12:48:20.39 ID:???.net
>>286
requestIdleCallback使って少しずつ作っていったら?

288 :288:2018/06/09(土) 16:37:44.20 ID:???.net
Ajaxで配列を受け取るときの書き方を教えて下さい(3.1.1)
phpで配列をajaxに返して表示したいのですが、
指定箇所Aでdataをdata.dTextと書いても、受け取れません
どう書けばいいですか?

///////index.html///////
$('#ajax').on('click',function(){
$.ajax({
url:'./requestA.php',
type:'GET',
data:{//phpに渡す
'divText':$('#divTextID').text()
}
})
// リクエスト成功時、phpから受け取る
.done( (data) => {
$('.result').html(data);//ココ教えて!!!!!!!!!!!!!!!!!!指定箇所A
})
});

////requestA.php//////
header('Content-type: text/plain; charset= UTF-8');
$rs=array(
"dText" => $_GET['divText']//ココの値が欲しい!!!!!!!!!!!!!!
);
echo json_encode($rs);

289 :288:2018/06/09(土) 17:04:44.55 ID:???.net
自己解決しました
古い書き方ですが受け取れたので一応(1.10.1)

290 :Name_Not_Found:2018/06/19(火) 09:37:49.20 ID:adLbUfl+.net
jqueryクックブック第2版まだですかね?
初版はもう売ってないようなんですが

291 :Name_Not_Found:2018/06/19(火) 14:29:02.46 ID:???.net
売ってるやん
https://www.amazon.co.jp/dp/4873114683
https://www.oreilly.co.jp/books/9784873114682/

292 :Name_Not_Found:2018/06/19(火) 14:55:00.26 ID:???.net
中古じゃん

293 :Name_Not_Found:2018/06/19(火) 15:43:09.27 ID:???.net
お前は処女から産まれてきたのか?

294 :Name_Not_Found:2018/06/19(火) 17:03:43.91 ID:???.net
オライリーは新品出てるし
中古でもいいだろ?

295 :Name_Not_Found:2018/06/19(火) 17:06:03.28 ID:???.net
ぐぐったら普通に新品もあったし

296 :Name_Not_Found:2018/06/19(火) 18:16:28.26 ID:XYAyToUj.net
このゲーム本当に可愛い女の子いっぱいやな
https://goo.gl/ux7Y7F

297 :Name_Not_Found:2018/06/20(水) 20:38:49.40 ID:SWAywwJI.net
$test1 = $('.navigation li a').each(function() {
var $href = $(this).attr('href');

return $href;
});

こんな風にeachで回してhrefの値だけを取りたいんですが
$hrefには文字列でurlが格納されているのですが、$test1ではオブジェクトで返って来てしまってて<a>タグなど全ての要素が含まれてしまうのですがどのようにすれば良いでしょうか?
$test1[0] = url1の文字列
$test1[1] = url2の文字列
$test1[2] = url3の文字列
としたいです

298 :Name_Not_Found:2018/06/20(水) 21:04:18.06 ID:???.net
以下のどちらか

var $links = $('a').map(function() { return this.href; });
var links = $links.get();

もしくは

var links = $.map($('a'), function(a) { return a.href; });


「要素の配列」を同じ数の「別の配列」に変換するときにはmapを使う
前者のjQueryオブジェクトのmapは、一般的にはjQueryオブジェクトを返すためにつかう
この例のように文字列を返すこともできなくはないけど。.get()メソッドで値を取得できる
(.get()メソッドは一般的にはjQueryオブジェクトからDOM要素を取り出すために使う)

後者は「何かの配列」を「別の何かの配列」に変換する。
これはreturnで返したものが単純に戻り値になる

299 :Name_Not_Found:2018/06/20(水) 22:05:10.01 ID:SWAywwJI.net
>>298
詳しい解説までありがとうございます
mapで'href'の値のみ取得出来るようになりました!!!

300 :Name_Not_Found:2018/06/23(土) 02:02:21.65 ID:???.net
DOMエレメントにtextメソッドで書き込んだ文字列を
textメソッドで読んだ時は
必ず同じ値になりますか?
なんとなく、変換されてしまう場合もある気がしますが

301 :Name_Not_Found:2018/06/30(土) 15:48:52.26 ID:???.net
ある要素の子要素をごっそり入れ替えるのに、
emptyメソッドとappendメソッドを使っていますが
一度に済ませる方法ありますか?

302 :Name_Not_Found:2018/06/30(土) 16:14:42.52 ID:???.net
html()

303 :Name_Not_Found:2018/07/01(日) 00:56:50.46 ID:???.net
>>302
htmlメソッドに文字列以外を渡すという発想がありませんでしたが
appendのようにjqueryオブジェクトやjqueryオブジェクトの配列を渡しても動作するんですね
ありがとうございました

304 :Name_Not_Found:2018/07/01(日) 12:59:40.49 ID:???.net
全てAIが解決

305 :Name_Not_Found:2018/07/01(日) 13:10:03.79 ID:???.net
20年前にも聞いたな…
いつまでもおんなじネタで騙され続けるのねw

306 :Name_Not_Found:2018/07/01(日) 19:02:40.16 ID:???.net
AIとは?
誤爆?

307 :Name_Not_Found:2018/07/08(日) 21:07:22.63 ID:???.net
jquery初学者の者だが
これ便利ですね
なんですたれてるの?

308 :Name_Not_Found:2018/07/08(日) 22:00:52.40 ID:???.net
別にすたれてない。
みんな知ってるので誰もわざわざ宣伝しないだけ。
長年連れ添った妻のようなもの。
見えないところで陰口を叩いてるだけで誰も本当に別れようとしない。

309 :Name_Not_Found:2018/07/08(日) 23:28:22.79 ID:???.net
ここを見る限り年々増え続けたjQueryのシェアがようやく止まったかなってところだしな
https://w3techs.com/technologies/history_overview/javascript_library/all

ウェブ全体の73.3%(JavaScriptライブラリを使用している中では97%)で
しばらくは安定するのだろう。それからいつ減少に転じるかはわからない

310 :Name_Not_Found:2018/07/09(月) 13:43:38.12 ID:L3chXsay.net
連想配列(idやnameなどが入っています)をJSONで渡してjQuery側へ持ってきた値が取り出せなくて困っています
return json.test_data;には正常に連想配列の中身が入っていることを確認したのですが
$testからidなど個別に参照したいのですがどのようにすれば良いのでしょうか?
$testの中身を見るとObjectのresponseJSON配下に欲しい値が入ってるのでこれを取り出したいです

var $test = $.getJSON(
 "JSONのURL",
 function(json){
  return json.test_data;
 }
);

console.log($test.responseJSON.test_data[0]); ← undefinedとなってしまう

311 :Name_Not_Found:2018/07/09(月) 14:12:17.94 ID:???.net
$testは名前が良くないだろ。
$なんとかは、jQueryオブジェクトを入れる時の
(一部で使われてる)命名規則だ

312 :Name_Not_Found:2018/07/09(月) 14:13:50.99 ID:???.net
で、$testの中にresponseJSONがあるわけないだろ
たぶんtest_dataもないだろ
ちゃんと$testの中表示してみてみろ

313 :Name_Not_Found:2018/07/09(月) 15:16:04.64 ID:???.net
$ で始まる変数名は、付けられない

または、使わない

314 :Name_Not_Found:2018/07/09(月) 16:21:11.42 ID:???.net
$.getJSONは非同期処理なんだからコールバック内か$test.doneで処理しろ
$.getJSONして終了待たずにconsole.logしたらjson取ってくる前にconsole.logされちゃうでしょ

315 :Name_Not_Found:2018/07/09(月) 16:55:02.69 ID:L3chXsay.net
皆さん、ありがとうございます
JSONを扱う処理は$.getJSON内に処理を書くのが普通なのですね
$.getJSONはJSONで渡した値を取得するだけで、取得した後に処理を書くものだと思っていましたw
変数名の$についても分かりました

316 :Name_Not_Found:2018/07/12(木) 17:08:04.53 ID:ImfbJMnI.net
初心者です
質問よろしいでしょうか

WPでブログ記事に画像ギャラリーを組み込むページを作りたいと考えております
http://www.klutche.org/demo/change_pic/

上記のサンプルを参考に組み込み、単一記事は問題ないのですが
複数記事を同時表示している場合、全てのギャラリーが切り替わってしまいます

http://w3q.jp/t/1498
質問内容としては下記の方とほぼ同じなのですが、解決しませんでした

317 :316:2018/07/12(木) 18:03:28.57 ID:???.net
とりあえず
$ChangePhoto ="ChangePhoto" .$Cnt;
$Cnt = $Cnr +1;
みたいな感じで変数を作って、
JSはChangePhoto1 ChangePhoto2…のコーディングを作って解決しました。美しくないですよね…

318 :Name_Not_Found:2018/07/13(金) 06:12:55.64 ID:???.net
クリックされたimg.ChangePhotoから、変更すべきメインの画像を取得できればいいわけだから、
例えば
 $(this).closest("ul").prev("p").children("img")
でもいいし、メインの画像にclass="main"を設定して、
 $(this).closest("div.wrap").find("img.main")
でもいいだろうし、何通りもやり方はあるだろう
どれが効率的なのかは知らない

319 :Name_Not_Found:2018/07/17(火) 08:19:12.03 ID:???.net
jQueryもreactみたくコンパイル機能ないの?
node.jsでビルドすれはjQuery.js読まずに単体で動きますといえば格好良くなるのに

320 :Name_Not_Found:2018/07/17(火) 08:29:16.99 ID:???.net
>>319

Domを全部jqueryで生成してるならありかもな
そうでなければコンパイルとか意味なくね?

321 :Name_Not_Found:2018/07/17(火) 09:12:57.33 ID:???.net
質問する方も答える方も間違ってるとか…自演か?
reactにコンパイル機能なんてねーよ
エスパーするとcreate-react-appでデフォで設定されてるbabelによるトランスパイル+webpackによるバンドリングのこと言ってるんだと思うが、webpack自体はふつうにjqueryもバンドルできるしw
なに言ってんだかwwwww

322 :Name_Not_Found:2018/07/17(火) 17:35:17.22 ID:???.net
お世話りなります

index.html内のヘッダーやサブメニューなど、他のページでも同じ内容を表示する部分を
jQueryのload関数で共通化してみたのですが、
例えばヘッダーの箇所をheader.htmlとして新しいファイルにした場合
header内容のcssやjsの適応はどうすれば良いでしょうか?

試しにheader.htmlの中に!DOCTYPE htmlから始まめsrcやlinkも付け加えて、
そこに関連付けたheader.cssファイルに色々なセレクタを加えたのですが、
index.htmlで表示されるheader部分が、
header.cssのセレクタではなく、index.cssの方のセレクタが優先されてしまいます

これはそういうものなのでしょうか?(もし私の記入ミスでなけえば)
宜しくお願い致します

323 :Name_Not_Found:2018/07/18(水) 10:27:01.88 ID:???.net
CSS の優先度のルールがあって、優先度の高い方が上書きする。
検索して調べてみて

上書きされるのが嫌なら、
index.html, header.html に個別のクラスをつけて、それらで指定すれば?

例えば、.index, .header を付けて、
p は黒色、p .index は赤色、p .header は青色とか

Rails とか、各フレームワークには、もっと良いやり方があるかも知れないけど

324 :Name_Not_Found:2018/07/18(水) 17:17:06.61 ID:???.net
>>323
レスありがとうございます

323さんのおっしゃる通りに
header.htmlのタグにクラスを付けたのを、index.cssに加えたら無事変化しました。

できれば
index.htmlにはindex.css
header.htmlにはheader.css で分けて管理したいのですが、できないでしょうか?
header.html内のタグにクラスを付けたのを、header.cssに記入して、
それらをindex.htmlで表示してみたのですが変化が起きていませんでした。

325 :322:2018/07/18(水) 17:35:56.47 ID:???.net
画像も一緒に・・・。

headerをheader.htmlとして別で管理するため、
index.htmlの<header>にjQueryに読み込ませるためのクラスheader-1を記入。
https://dotup.org/uploda/dotup.org1587508.png_6cOQy1rSC2LKJR0TTNhb/dotup.org1587508.png

jQueryに読み込ませるコード
https://dotup.org/uploda/dotup.org1587509.png_9ihZR6rERGSa4GGiiHFD/dotup.org1587509.png

header.htmlはこうなっています。
https://dotup.org/uploda/dotup.org1587510.png_pQTxLo6LPU4shtM44NCE/dotup.org1587510.png

header.cssはこうなっています。(header.htmlにlink relにあるcss)
https://dotup.org/uploda/dotup.org1587511.png_V5mMbPQf3z01fG79IatX/dotup.org1587511.png

関係ないのですが、
index.htmlに<!DOCTYPE html>.....と書いて、その中の
header.indexにも<!DOCTYPE html>.....となってしまっているのも何となく気になります…。

326 :Name_Not_Found:2018/07/18(水) 21:59:07.73 ID:???.net
HTMLの断片をjQuery含めたJavaScriptで読み込んだりはしません
そんな愚かなことはしません

327 :Name_Not_Found:2018/07/18(水) 23:02:38.38 ID:???.net
日本人はクズばかり

328 :323:2018/07/20(金) 08:52:42.85 ID:???.net
>323 を修正
index.html, header.html の<body>に、個別のクラスを付けた方が簡単かな

例えば、.index, .header を付けて、
p は黒色、body.index p は赤色、body.header p は青色とか

それか、CSS に、! を付ければ、最優先される機能もある

>>324
CSS の優先度のルールがあって、優先度の高い方が上書きする。
この優先度は、かなり難しいから説明できない。
自分で、検索して調べてみて

index.css, header.css の読み込みの順番も、優先度に関係あるのかも。
後から読み込んだものが優先されるのか?
よく知らないけど

基本的には、優先度を理解して使い分けるのは、かなり難しいから、
優先度で変わるのは避けるべき。
保守できなくなる

異なるデザインには、異なるクラスを指定すべき。
これが大原則!

329 :323:2018/07/20(金) 09:14:48.55 ID:???.net
静的HTMLのためのテンプレートエンジン
第1回 共通部分が多いHTML
https://app.codegrid.net/entry/template-for-coding-1

「html 分割 ファイル」で検索!

jQuery で、HTMLの断片を読み込んで、ページを作ったりはしないかな。
jQuery Mobile のようなフレームワークはあるけど

jQuery は、ユーザーのクリックなど、
イベントに応じて、ページを変化させるものが主要

フレームワークなら、Vue.js が最も易しいかも

330 :Name_Not_Found:2018/07/20(金) 09:20:11.31 ID:???.net
Ajaxでできなくはないけどね
レギュレーションでCMS入れられない、サーバーサイドインクルードも使えない会社とかたまにあって、ソース見たらJSでヘッダやフッターがインクルードされてたってことがあったな
見た目に影響及ぼしがちだから自分ではあまりやりたくないけど

331 :Name_Not_Found:2018/07/20(金) 10:26:21.66 ID:???.net
レギュレーション形無しだなww

332 :323:2018/07/20(金) 14:12:45.44 ID:???.net
5ch は、空のHTML を送ってきて、Ajax で、すべての内容を読み込んでいる

だから、内容がしばらく表示されないことがある

333 :Name_Not_Found:2018/07/20(金) 15:25:50.82 ID:???.net
今どき専ブラ使ってないゴミ情弱なんておらんやろ

334 :Name_Not_Found:2018/07/23(月) 06:00:49.65 ID:???.net
>>329
無事、CSSもちゃんと読み込めるようになりました!
CSSの基本的な部分が抜けていました・・・
一からやり直します
丁寧に教えて頂きありがとうございました!

335 :Name_Not_Found:2018/07/24(火) 17:10:40.64 ID:???.net
>>330
うちの会社のことかな?

336 :Name_Not_Found:2018/07/25(水) 23:30:44.20 ID:???.net
ヘッダーやフッターをインクルードしたい時って
普通だとどうしてるの?

337 :Name_Not_Found:2018/07/25(水) 23:57:12.66 ID:???.net
Dwテンプレ
Pugインクルード

ーーーーー静的管理の壁ーーーー

JSインクルード

ーーーーーフロントの壁ーーーー

SSIインクルード
PHPインクルード
CMSテンプレート化

338 :Name_Not_Found:2018/07/26(木) 02:21:29.38 ID:???.net
ジャップが憎たらしい

339 :Name_Not_Found:2018/07/26(木) 03:24:11.36 ID:???.net
天安門事件

340 :Name_Not_Found:2018/07/26(木) 20:24:44.11 ID:XMFp/Gj7.net
>>336-337
Rails などのフレームワークだろ

341 :Name_Not_Found:2018/07/26(木) 21:45:52.50 ID:???.net
また雑魚rubyキチガイか(呆
ま、仕返しにrubyスレ荒らしとくわ。
railsのテンプレートエンジンはerbやslim、haml選択してそれ使うだけだろうが笑
nodeのテンプレートエンジンのejs、pug、handlebarsも同じじゃザーコw
どの言語にもあんだよ身の程知らずww
おっと先輩面すんじゃねーぞこういうのの元はphpだからなwwww

342 :Name_Not_Found:2018/07/26(木) 21:48:45.12 ID:???.net
このスレ、luckerのような輩が潜んでるな

343 :Name_Not_Found:2018/07/26(木) 21:53:57.39 ID:???.net
つまり・・・・?

344 :Name_Not_Found:2018/07/26(木) 22:08:16.50 ID:???.net
俺はいつもluckerを目の敵にしているということ
どこにいてもluckerを思い出す

345 :Name_Not_Found:2018/07/27(金) 00:41:42.50 ID:???.net
「$.getJSONで二つのJSONファイルを読み終わったらこの処理をする」
っていうのはどう書けばいいですか?

346 :Name_Not_Found:2018/07/27(金) 01:28:58.02 ID:???.net
>>345
https://api.jquery.com/jquery.when/

> $.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) )
> .then( myFunc, myFailure );


https://www.tam-tam.co.jp/tipsnote/javascript/post5807.html

> 「複数の非同期処理が全部終わったら、続く処理を行う」というのがすっきり書けます。
>
> $.when(
>   $.getJSON('a.json'),
>   $.getJSON('b.json')
> )
> .done(function(data_a, data_b) {
>   // すべて成功した時の処理
>   console.log(data_a, data_b);
> })
> .fail(function() {
>   // エラーがあった時
>   console.log('error');
> });

347 :Name_Not_Found:2018/07/27(金) 02:02:37.25 ID:???.net
>>346
こういうのがあったんですね
ありがとうございます

348 :Name_Not_Found:2018/07/27(金) 20:34:15.75 ID:???.net
>>344
「俺は」ね
なりすましして、楽しい?

349 :Name_Not_Found:2018/07/30(月) 07:03:01.37 ID:???.net
はぁ?お前いっぺんコンクリ抱かして大阪湾沈めたろか?

350 :Name_Not_Found:2018/07/30(月) 07:28:00.18 ID:???.net
な!?なぜ沈まない???
いや、それどころか?浮いてないか!?
そんな、まさか


???「舞空術ってやつさ」

351 :Name_Not_Found:2018/07/30(月) 20:28:31.52 ID:IUqJs9ti.net
ここ初めてなんだが質問してみるよ

canvasを使ったちょっとしたアニメをhtmlページの背景にしたんだが他のクリックイベントでリセットされちゃうの防止したいんだが

352 :Name_Not_Found:2018/07/31(火) 20:33:19.16 ID:???.net
preventDefault(), stopPropagation() とか?

「js prevent propagation」で検索!

353 :Name_Not_Found:2018/08/10(金) 22:54:53.88 ID:IE2oNErT.net
テキストボックスなどでselect()メソッド使うと選択状態になりますが
テキストボックスなどやjQ以外のライブラリ使わず
<p>
<span>いぬが、ほえる</span>/
<span>ねこ なく</span>/
<span>うま はしる</span>/
</p>
のspan間クリックまたはWクリックで、「ねこ なく」全て選択状態に
実現する方法あったら教えてください
(通常WindowsでWクリックだと「ねこ 」だけ、または「なく」だけが選択)
通常のUIと異なりますがあえてです

354 :Name_Not_Found:2018/08/10(金) 23:42:41.73 ID:???.net
>>385
https://jsfiddle.net/you84snf/

$('span').click(function() {
 var range = document.createRange();
 range.selectNodeContents(this);
 var selection = window.getSelection();
 selection.removeAllRanges();
 selection.addRange(range);
});

355 :Name_Not_Found:2018/08/12(日) 16:16:27.66 ID:???.net
>>354
ドンピシャでした!ありがとうございます

356 :Name_Not_Found:2018/08/15(水) 20:50:21.05 ID:???.net
横からだけど、恥ずかしながらrange形始めて知った…
まだまだ勉強しないとダメだな

357 :Name_Not_Found:2018/08/15(水) 20:50:41.68 ID:???.net
形ではなく系だった…

358 :Name_Not_Found:2018/08/16(木) 02:39:05.34 ID:???.net
形も系もそんなものは存在しない。
独自用語使うな。馬鹿だぞ。

359 :Name_Not_Found:2018/08/28(火) 16:04:46.68 ID:???.net
javascriptの「『.classList.add』 と 『.className』の違いについて教えてください。
要素にクラスが無い場合に新規で追加するのが.classNameで
すでにあるクラスを変更するのが.classList.addという認識でよろしいのでしょうか?

360 :Name_Not_Found:2018/08/28(火) 17:15:16.38 ID:???.net
classListはリスト、classNameはスペース区切りの文字列で格納される違い
自分の好きな方を使えばいい
クラスが無い状態からclassList.addでも全く問題ない

361 :Name_Not_Found:2018/08/28(火) 17:37:09.19 ID:???.net
>>359
古い時代、IE2.0やネスケ3.0の時代にはクラスには一つの
値しかいれることができなかった。<a class="foo"> みたいに。
これがスペースを区切って複数入れられるようになった
<a class="foo bar baz"> みたいに。

クラスの値が1個だけの時代であれば操作は簡単だった
classNameに値を入れることぐらいしかできないのだから

だけどスペースで区切って複数入れられるようになってからは、foo bar bazのうち
barだけを消したいとか、さらに一個付け加えたいとか、複雑な操作が必要になった。

それに早くから対応したのがjQuery。addClassやremoveClassといった、
複数の値を操作するメソッドが作られた。それが2006年

それから4年後の2010年にChromeとFirefoxでclassListが部分的に実装され
2013年にChromeとFirefoxとSafariでjQuery相当の機能が実装された
IEは2012年に部分的な実装で終わり、Edgeで完全版が実装された。

362 :Name_Not_Found:2018/08/28(火) 17:52:31.63 ID:???.net
>>360
>>361
ありがとうございます。
複数のクラスへの対応ということなんですね。勉強になりました。

363 :Name_Not_Found:2018/08/29(水) 17:02:39.82 ID:dkUA5QRQ.net
ミイラ取りがミイラになるとはこのとこだな

364 :Name_Not_Found:2018/08/29(水) 17:07:28.00 ID:???.net
つまりミイラ取りはミライのミイラってわけだな

365 :Name_Not_Found:2018/09/08(土) 05:52:40.16 ID:???.net
jQuery を 2 から 3 にバージョンアップしたら
$('...').load() ってとこでエラーが出るようになったんだけど
引数なしの load って何をしてるんですか?

要素が load されたときに引数の関数を実行するみたいなメソッドみたいなんですが
引数なしで何か意味があるんでしょうか

コーディングした人のミスなのかな…

366 :Name_Not_Found:2018/09/08(土) 09:30:10.82 ID:???.net
たぶんloadイベントを発生させる

http://api.jquery.com/load/
のNoteに3.0から変わったことが書いてある

367 :Name_Not_Found:2018/09/08(土) 14:00:09.66 ID:???.net
ありがとうございます
ということは消すのはまずいんですよね
jQuery3 にしたときに影響を与えないようにおきかえるべき適切な関数ってありますか?

368 :Name_Not_Found:2018/09/09(日) 01:30:09.05 ID:???.net
>>365
https://teratail.com/questions/145334
https://teratail.com/help#posted-otherservice
マルチポスト先のヘルプぐらい、読んだら?

369 :Name_Not_Found:2018/09/09(日) 02:10:07.74 ID:???.net
ごめんなさい
むこうでまともな回答がもらえなかったので

370 :Name_Not_Found:2018/09/09(日) 02:20:18.35 ID:???.net
ヘルプなんてあったんですね
知らなかった…
規約じゃなければこんなのあってもわからない気がするんだけど
とりあえずこちらでの質問は〆ます

マルチすいませんでした

371 :Name_Not_Found:2018/09/09(日) 06:59:19.62 ID:???.net
なんでマルチポストしたら駄目なんだろうね
投稿された質問にteratailの著作権が発生するとでもいうんだろうか

372 :Name_Not_Found:2018/09/09(日) 07:08:22.69 ID:???.net
回答もらっても応答しない質問者が迷惑だからだろ

373 :Name_Not_Found:2018/09/09(日) 08:50:10.74 ID:???.net
>>370
> とりあえずこちらでの質問は〆ます
なぜ、ヘルプに書いてある通りにしないのだろうか

「やむを得ず複数のサイトに質問を投稿された場合は、質問内容にマルチポストをする理由を書き、他のサイトの投稿へのリンクを貼ってください。また、解決した際には必ずteratail及びすべての投稿に解決した旨と、どのように解決したかを記載してください。」

374 :Name_Not_Found:2018/09/09(日) 11:39:24.60 ID:???.net
5chの印象なんて便所の落書きって思ってる人もいるしリンクなんてはりたくないだろ

375 :Name_Not_Found:2018/09/09(日) 12:20:47.51 ID:???.net
そもそもヘルプって絶対目を通すべきものでもないし義務でも何でもない
2ch内のマルチもマナーの問題で気にする人から単に回答がもらえないだけ

376 :Name_Not_Found:2018/09/09(日) 12:49:04.88 ID:???.net
teratailはアカウント必須だからこういう変な粘着があるとめんどくせえ
stackoverflowのほうがいいぞ

377 :Name_Not_Found:2018/09/09(日) 12:52:29.22 ID:???.net
>>374
自業自得だろ
回答者だって他所で回答されている内容を重複回答したくないだろうに

378 :Name_Not_Found:2018/09/09(日) 13:12:31.47 ID:???.net
同じ目線に立つとこうなる。

質問者「めんどくせーなあ。マナーなんて守らなくてもいいだろ。」
回答者「めんどくせーなあ。マナー守らない奴は叩けばいいだろ。」

379 :Name_Not_Found:2018/09/09(日) 13:16:06.07 ID:???.net
>>377
そこが理解できない
回答なんて労力かけてやるもんじゃないし無駄になったってどうでもよくね

マルチポストが悪なんじゃなく回答を共有しないのが悪なんであって
質問スレや質問サイトみるやつなんて
どや回答したいより他者の回答みて知識つけたいってやつのほうが多いだろ
回答がつかないまま知識獲得の機会が失われるよりいいと個人的には思うよ

まあマルチするやつは質問なげっぱなしで回答共有しないやつが多いから
先手を打って答えないようにしようってのがマルチ禁止の流れなんだろうけど

380 :Name_Not_Found:2018/09/09(日) 13:20:49.91 ID:???.net
マルチって同時刻に同じ質問のコピペをはりまくるような露骨なののことじゃね
流れが落ち着いて満足な答えもらえなかったら別所できくって普通にだれでもやるだろ
むしろ何レスも前の質問に唐突に別所できいてくるので質問〆ますとか毎回かかれる方がうざくね?

381 :Name_Not_Found:2018/09/09(日) 13:24:06.26 ID:???.net
>>379
「人間、自己中の塊だから、質問者も回答者もお互い様だろ」といいたげだな
5chに毒されすぎ

382 :Name_Not_Found:2018/09/09(日) 13:24:35.40 ID:???.net
アカウントもってないから内容みれないけど>>365がマルチポストの内容なの?
この程度の内容になんでマルチポストしなきゃいけない回答しかつかないんだ

383 :Name_Not_Found:2018/09/09(日) 13:27:45.00 ID:???.net
>>382
アカウント持ってなくても見られるだろ?
>>368

384 :Name_Not_Found:2018/09/09(日) 13:27:55.58 ID:???.net
>>382
ひとりは「周りのコードみないとわからん」
もうひとりは「triggerにおきかえろ」
もうひとり(おそらくここでマルチさわいでるやつ)は「jQueryのソースよめ」

385 :Name_Not_Found:2018/09/09(日) 13:29:26.17 ID:???.net
>>383
みれたわ
アカウント必須っていってたからみれないのかと思った

386 :Name_Not_Found:2018/09/09(日) 13:31:38.42 ID:???.net
あっちの回答でマルチポスト指摘してんのかよ
性格悪そう

387 :Name_Not_Found:2018/09/09(日) 13:32:46.15 ID:???.net
>>384
どれも「まともな回答」じゃね?

388 :Name_Not_Found:2018/09/09(日) 13:33:51.86 ID:???.net
マルチポスト指摘すると、叩かれる時代になったのか

389 :Name_Not_Found:2018/09/09(日) 13:36:56.65 ID:???.net
>>384
ソース読めはどうなの?
相手が即戦力で入社してきた10年戦士ならそれでいいが
ソース読めドキュメント読めですむなら質問サイトなんていらないだろ

390 :Name_Not_Found:2018/09/09(日) 13:40:43.32 ID:???.net
質問者の落ち度はteratail側のヘルプを読んでなかったってだけで、
指摘された後もちゃんと謝れてるし態度的には問題ないようにみえる
謝罪した後にわざわざteratailの回答でマルチ指摘しにいってるあたり性格が悪そうだから同情したくなる
何事も印象の問題

391 :Name_Not_Found:2018/09/09(日) 13:43:43.17 ID:???.net
そもそもマルチ確定したわけでもないんだよなー
まだ謝ってるやつがただのなりすましで偶然同じ投稿されてるだけの可能性もある

392 :Name_Not_Found:2018/09/09(日) 13:45:54.17 ID:???.net
>>389
ドキュメントやソースコードの存在を知らない奴もいるだろ
やるだけやってから、質問するのが筋じゃね?
新入社員はドキュメントもソースも読まず、先輩に全部教えて貰うの?
「やってみて、分からない部分を具体化する」のは質問者の仕事じゃねーの?

393 :Name_Not_Found:2018/09/09(日) 13:47:05.92 ID:???.net
まじで顔真っ赤だなこいつ

394 :Name_Not_Found:2018/09/09(日) 13:50:09.76 ID:???.net
先任者が仕様外のコードをかいていて
しかもそのメソッドがピンポイントでバージョンアップでサポートされなくなって
仕様外だから挙動がわからず置き換えるべきメソッドがわからないということか

まさに負の遺産だな

395 :Name_Not_Found:2018/09/09(日) 13:52:05.45 ID:???.net
>>390
横から口出すけど、謝罪はいいとしても、その後の行動が問題だと思う
回答者がヘルプ通りの指摘をする事には、何の落ち度もないように見える
それから、マルチ指摘した回答者がこのスレの人って、一部の人が勝手に騒いでるだけで、ただの憶測だと思うけど

396 :Name_Not_Found:2018/09/09(日) 13:53:40.73 ID:???.net
非匿名サイトできいたことをなにげなく5chできいたら
わざわざURLまではってマルチ指摘しにくるとか怖すぎだろ
そりゃ5chも過疎るわ

397 :395:2018/09/09(日) 13:56:25.31 ID:???.net
> それから、マルチ指摘した回答者がこのスレの人って、一部の人が勝手に騒いでるだけで、ただの憶測だと思うけど

書き方が悪かった
マルチ指摘した回答者は当然、このスレを知っているけど、ここで騒いでいる人と同一人物はただの憶測って事ね

398 :Name_Not_Found:2018/09/09(日) 13:57:54.80 ID:???.net
>>395
こちらの質問を〆たあとにこちらへのマルチポスト誘導リンクをはる必要があるのか?
質問者にマルチポストするなって意図はこちらのレスでもう伝わっているだろ
ただに晒したいって意図以外感じられないんだが

399 :Name_Not_Found:2018/09/09(日) 14:01:45.27 ID:???.net
>>398
指摘は「マルチポストするな」ではなくて、「マルチポストしたなら、適切に対応しろ」だよね
そこが履き違えてる

400 :Name_Not_Found:2018/09/09(日) 14:31:41.84 ID:???.net
何このマウンターおじさん
必ず自分のレスでおわらないと満足できない典型的なマウンターじゃん

401 :Name_Not_Found:2018/09/09(日) 14:37:09.12 ID:???.net
いい加減マルチポストの是非はスレチなんだが
マルチポストのマナーは守れとかいうくせに延々スレチな話題続けるのはマナー違反じゃないのかよ

402 :Name_Not_Found:2018/09/09(日) 14:40:26.20 ID:???.net
>>394
さらに同一のメソッドがあってどっちが呼ばれているかわからないという

というかjavascriptのメソッドってただのlambdaだから
引数の数で別々の関数作るの無理じゃね
どうやって同じ名前のメソッド存在してるんだ

403 :Name_Not_Found:2018/09/09(日) 14:56:36.10 ID:???.net
>>402
こうやって締め切った質問にも回答する人がいるから、マルチポスト先を書いておくことは無駄ではないんだよね

404 :Name_Not_Found:2018/09/09(日) 15:00:40.30 ID:???.net
引数の数や型を見て処理を変えてるだけ
引数なしならgetter, ありならsetter, とか

405 :Name_Not_Found:2018/09/09(日) 15:06:39.88 ID:???.net
>>402
teratailにコード載ってるじゃん
何で見ないの?

406 :Name_Not_Found:2018/09/09(日) 15:11:16.73 ID:???.net
いったん load-handler の方を_loadにリネームしてオーバーロード
第1引数が string じゃなかったらリネームした_loadを呼び出す
引数なしで関数を呼ぶと undefined が入っているから

ver2 まで : load-handler のほうがよばれて引数の関数が設定されていないので何もしない

ver3 から : if ( typeof url !== "string" && _load ) の _load が false になるのでそのまま続行されて

jQuery 3 以降は _load が存在しないから
off = url.indexOf( " " );
の url が undefined なのに indexOf を呼び出そうとして
Cannot read property 'indexOf' of undefined になる

で load-handler の方では
jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
で引数なしの場合trigger('load')が呼ばれる(分岐がかかれてるので公式では保証しない挙動ではない)
なので「triggerにおきかえる」「何かロードしている」はどっちも「まともな回答」だった

ただjQueryさわりはじめて間もない人にソースを読んで自分で理解しろはちょっと無理があるかと
最初に答えた人が周りを読まないとわからないとかまぎらわしいことをいいすぎたんだと思う

407 :Name_Not_Found:2018/09/09(日) 15:14:07.14 ID:???.net

ver2 まで : load-handler のほうがよばれて引数の関数が設定されていないので何もしない

はミスなので読み飛ばしてくれ
最初は何もしないかと思ったがよくよむと引数0の場合はtriggerを呼ぶと分岐にかいてあったわ

408 :Name_Not_Found:2018/09/09(日) 15:16:57.70 ID:???.net
>>406
> で引数なしの場合trigger('load')が呼ばれる(分岐がかかれてるので公式では保証しない挙動ではない)
それ、api.jquery.comに記載されてる?

409 :Name_Not_Found:2018/09/09(日) 15:18:34.93 ID:???.net
>>408
ドキュメント以外が仕様ではないのなら
ソースを読んで理解しろって回答自体が矛盾してるが?

410 :Name_Not_Found:2018/09/09(日) 15:19:37.23 ID:???.net
>>408
thin49さんちーっす

411 :Name_Not_Found:2018/09/09(日) 15:21:25.09 ID:???.net
>>408
自分の意見が否定されると顔真っ赤にして即レスしないと気がすまないマウンター
ばればれすぎる

412 :Name_Not_Found:2018/09/09(日) 15:22:33.21 ID:???.net
>>409
仕様にないなら実装を読むしかないよね

413 :Name_Not_Found:2018/09/09(日) 15:31:28.04 ID:???.net
>>406
402 だけどわかりやすくありがとう

414 :Name_Not_Found:2018/09/10(月) 21:03:48.35 ID:???.net
結局まだ解決してねーじゃん
つーかこっちに答え書いてあるのにみてねーのかよ

415 :Name_Not_Found:2018/09/10(月) 22:01:57.41 ID:???.net
>>414
@katingのことなら、新しい質問始めたし、もう諦めたんじゃないか

416 :Name_Not_Found:2018/09/10(月) 22:40:19.73 ID:???.net
これ最初に答えた人がメソッドの仕様を理解してないのに
周りのコードを見ろ見ろいいすぎなんだよな

環境変数を見るでもない限り周りのコードで挙動が変わる関数なんてないし
こいつもわかってないくせにごまかして逃げようとしてるだけ
しかもなまじ口調が丁寧なせいで質問者が信用しちゃってるのがタチが悪い

2番目の人も答えは正しいけど
書いた人の意図が〜とか余分についてるからこれじゃ曖昧だわな

最後のやつはただの荒らしだし

417 :Name_Not_Found:2018/09/10(月) 22:57:13.54 ID:???.net
だったら答えてやれよ
ここヲチスレじゃないからな
これだから仮にもマナーどうこういうやつが5chにリンク先はるとかモラルが欠如してる

418 :Name_Not_Found:2018/09/10(月) 23:25:58.21 ID:???.net
外野が一番の荒らし

419 :Name_Not_Found:2018/09/10(月) 23:36:58.47 ID:???.net
katingは5chに質問すると質の悪い輩に絡まれる事がようやく学習できたというところか

420 :Name_Not_Found:2018/09/10(月) 23:47:00.35 ID:???.net
気づいてないと思うけどな

421 :Name_Not_Found:2018/09/10(月) 23:50:26.36 ID:???.net
think49はもともと自分から5ch民だって言ったわけだから気にしないだろうけど
迷惑なのは善意で回答してるのにヲチられてるふたりなんだよなー

422 :Name_Not_Found:2018/09/10(月) 23:56:26.21 ID:???.net
>>420
これで>>369-370が質問者じゃなかったら面白いのに
ほかサイトでみかけた質問を気になって2chできくとか普通にありえるし
迷惑かけそうって思ってあわてて火消ししようとしたところをthink49が晒し者にしたみたいな

423 :Name_Not_Found:2018/09/10(月) 23:59:17.14 ID:???.net
ここであれこれ騒いでる奴が一番悪い

424 :Name_Not_Found:2018/09/11(火) 08:28:43.29 ID:???.net
回答者や質問者叩くだけで何もしない奴は無自覚なんだな

425 :Name_Not_Found:2018/09/11(火) 09:43:34.17 ID:???.net
そうなるのがわかるから5chにリンクはるなんて避けるべき
どう考えてもリンクはったやつが悪い
つーか質問者がこっちの質問〆た後に誘導リンクはったんだから回答共有しろや糞回答者

426 :Name_Not_Found:2018/09/11(火) 12:18:21.85 ID:???.net
>>425のような奴が無自覚な荒らし

427 :Name_Not_Found:2018/09/11(火) 22:49:52.11 ID:???.net
think49ずっとはりついて自己擁護してんの?

428 :Name_Not_Found:2018/09/12(水) 07:47:01.04 ID:???.net
アンチthink49もアンチ5chも相当うざい

429 :Name_Not_Found:2018/09/12(水) 08:43:19.86 ID:???.net
>>428
ちーっす

430 :Name_Not_Found:2018/09/12(水) 09:03:34.57 ID:???.net
think49に粘着してる奴、過去にthink49と何かあったの?
反論してる人を全てthink49と思いこんでるようだけど、スレ違いの話題を延々と続けられて迷惑してる人が大勢いることにまだ気が付かないわけ?
質問者の為を思うなら、質問者がクローズしたここで主張せずに、teratailで回答してくるべきでしょ

431 :Name_Not_Found:2018/09/12(水) 09:14:56.80 ID:???.net
匿名サイトでいることがわかっててしかも毎回レス返してたら
たらおもちゃにされるのは当たり前なんだよなー
そうやって自己擁護するのもわかりやすすぎる

自分が他人だった場合に自分のレスよみかえしてみ
ぶっちゃけどうでもいい他人だったらいちいち擁護なんてしねーから

432 :Name_Not_Found:2018/09/12(水) 09:24:31.84 ID:???.net
>>430
厳密にはこちらを〆た時点でマルチポスト状態は解除されてるので
質問者はこちらを見る義務はもうないし翌日のやり取り見ると実際見てない可能性が高い

マルチポスト状態を再開したのは他人なのに勝手に誘導リンクはったthink49
こちらの回答を共有する義務があるのもthink49

433 :Name_Not_Found:2018/09/12(水) 12:42:31.71 ID:???.net
「think49なんてどうでもいいんだよ
スレ違いの粘着をいつまでも続けるな!」
と心から思うが、どうせ俺もthink49扱いされるんだろうな

434 :Name_Not_Found:2018/09/12(水) 17:34:23.35 ID:???.net
ご質問です。
当方デザイナー兼コーダーとして、自社サイトの制作に携わることになりました。
その際サーバー側を担当するエンジニアからjqueryはもう古いから、他のライブラリを使うかせめてjavascriptで実装するようにと言われました。
大手のサイト等拝見しても、jqueryは現役ですし、特に陳腐化するような懸念は感じられなかったのですが何か理由があるのでしょうか。よろしくお願いします。

435 :Name_Not_Found:2018/09/12(水) 19:17:02.80 ID:???.net
サーバーサイドのコーダーに何がわかるんだよって言ってやれ

436 :Name_Not_Found:2018/09/12(水) 19:21:23.54 ID:???.net
>>434
http://mevius.5ch.net/test/read.cgi/tech/1527917483/99-

437 :Name_Not_Found:2018/09/12(水) 20:10:31.72 ID:???.net
こういうのはpureJS派とjQuery派の両方にきかないと意味ないから別にいいだろ

438 :Name_Not_Found:2018/09/12(水) 21:36:43.14 ID:???.net
>>434
https://github.com/nefe/You-Dont-Need-jQuery

439 :Name_Not_Found:2018/09/12(水) 22:12:30.21 ID:???.net
色々参考になりました。ありがとうございました。

440 :Name_Not_Found:2018/10/01(月) 00:12:19.04 ID:???.net
jqueryでparent(),next(),prev()等の要素の選択において、関数を実行したにもかかわらず存在しなかった場合は何が返ってきますか?

441 :Name_Not_Found:2018/10/01(月) 01:15:08.62 ID:???.net
試してみればよい

442 :Name_Not_Found:2018/10/02(火) 05:47:19.75 ID:???.net
jQueryは見つからなかったときの設計が素晴らしいと思う
このおかげでいちいちnullチェックをしなくてすむ

443 :Name_Not_Found:2018/10/02(火) 08:40:34.59 ID:???.net
該当する要素が無ければ、length: 0
というObject が返される

要素数0、つまり該当する要素なし

Ruby では、nil が返るから、メソッドチェーンで、
nil からメソッドは呼ぶことができないというエラーになる。
ただし、nil 許容演算子を使えば、エラーにならない

jQueryではエラーにならない。
単に、そこからメソッドを呼ばないだけ

444 :Name_Not_Found:2018/10/02(火) 09:11:57.18 ID:???.net
>>443
例外処理を別に書かなくてはならなくて、逆に困る

445 :Name_Not_Found:2018/10/02(火) 09:41:22.67 ID:???.net
>>444
それはお前の思考回路が関数型についてこれてないだけ

446 :Name_Not_Found:2018/10/02(火) 12:09:51.68 ID:???.net
>>445
アホか
書き方が分からないわけではない

447 :Name_Not_Found:2018/10/02(火) 12:46:00.92 ID:???.net
jQueryが古いというより今どき沢山のDOMを組み合わせて何かを為すって言うのが古い
Canvasだってあるわけだし、DOMでやるにしてもコンポーネントやシャドーやHoudiniもある
jQueryは排他的で独自すぎるから小さいライブラリをたくさん組み合わせて何かをしたい時に合わない

448 :Name_Not_Found:2018/10/02(火) 12:56:08.59 ID:???.net
( ´_ゝ`)フーン

で?

449 :Name_Not_Found:2018/10/02(火) 13:12:23.11 ID:???.net
>>446
誰が書き方がわかるかどうかの話をしたんだ?
書く必要がないということに気づいてないから
関数型についてこれないって言ったんだよ

450 :Name_Not_Found:2018/10/02(火) 13:13:36.35 ID:???.net
>>447
jQueryが排他的?どこにjQueryほど他のライブラリと
組み合わせることが可能なライブラリがあるっていうんだ?

AngularやReactは排他的だがな。
その証拠にAngularとReactを組み合わせることができない

451 :Name_Not_Found:2018/10/02(火) 14:02:03.60 ID:???.net
>>448
Canvas使って文字を書きましょうってこと

452 :Name_Not_Found:2018/10/02(火) 19:00:04.73 ID:???.net
>>449
お前のいう書く必要かない「関数型プログラミングの書き方が分からないわけではない」

453 :Name_Not_Found:2018/10/02(火) 19:30:32.20 ID:???.net
では例外処理を書く必要はないということで

454 :Name_Not_Found:2018/10/02(火) 20:41:56.81 ID:x0gKZze6.net
【アフィ】元宇宙人のスピリチュアルブログ【詐欺】
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12193781232

455 :Name_Not_Found:2018/10/02(火) 22:31:07.21 ID:???.net
>>453
>>444を100回読み直せ

456 :Name_Not_Found:2018/10/03(水) 02:24:26.54 ID:???.net
だからjQueryを使うと要素がない時に例外処理を
書かなくていいから、楽だって話をしてるんだが

457 :Name_Not_Found:2018/10/03(水) 08:02:15.02 ID:???.net
>>456
お前の中で例外処理が「該当要素がなければ、何もしない」しかないからそういう発想になるんだろ
要素に限らず、jQueryは基本的にエラーを発生させず、出来る事がない場合は「何もしない」
「何もしない処理」が複数回発生し、それが期待通りの動作でなかった場合に原因を特定するのに時間がかかる
エラーで止まるのは、むしろ良い事だ

458 :Name_Not_Found:2018/10/03(水) 11:07:31.74 ID:???.net
>>457
叫ぶなw まず理由を書け。

何もしない処理が複数回発生するということは、
「期待した処理が行われなかった」ということだろう?

なぜ期待した動作をしてないならば、してないとすぐに分かるはずだが
なぜ特定するのに時間がかかるのか?
なぜエラーで止まるのは良いことなのか?

その理由を書こう


しかし不思議だ。jQueryは要素に対して処理を適用するものなのに
該当要素がないときに該当要素(無いはずなのに)に対して
処理を行うとはどういう意味なのか?哲学的なものを感じるなw

例えば検索結果がないときに「検索結果が見つかりません」と表示するとき
どう書いているのだろうか?classを書き換えればいいだけなのに
それとも他になんか想定してる例でもあるならいってくれ

459 :Name_Not_Found:2018/10/03(水) 12:15:03.89 ID:???.net
>>458
> なぜエラーで止まるのは良いことなのか?
エラーが発生したら、エラー行周辺を読めば原因を特定可能なんだが、そこまで説明しないとわからないのか…
例外を発生させたことがなくて、発想出来ないのかね

460 :Name_Not_Found:2018/10/03(水) 13:50:47.63 ID:???.net
>>459
おいw それはレベルが低い
エラーで止まらないバグの方が普通なんだよ

まずな、お前がそもそも論点がわかってないんだよ。
要素がないならエラーにならなくて良いはずなんだが、
なんでエラーにしたいんだって話をしてるのがわからないのか?

要素がない → 何もしないのが正しい動き → jQueryはそうなる
要素がない → 何もしないのが正しい動き → DOM APIだとエラーになる → 何もしないようにする処理を追加

こういう話をしてるんだよ
やっぱりお前わかってな無いだろ

461 :Name_Not_Found:2018/10/03(水) 19:14:33.33 ID:???.net
>>460
なぜレベルが低いのか、理由を説明して見ろ

462 :Name_Not_Found:2018/10/03(水) 20:25:58.15 ID:???.net
>>461
例外を異常時の緊急停止機能のような安全装置のように思っているから

例外で止まる(キャッチしてない例外)というのは単なるプログラムのバグに過ぎない
一部メモリ不足とかアプリケーション側で対応できないものがあるが
(例えばRubyだとStandardError以外の例外、JavaだとJava.lang.Error以外の例外)
それらを除き、例外が起きるというのは考慮漏れというプログラミング上の単純なミスに過ぎない
仕様とか設計とかそういうレベルではなく、単純な考慮漏れ。

今回の話はその中でもnullエラーという極めて単純なもの
nullエラーを防ぐには、nullになりそうな箇所を一つ一つ潰すというやり方の他に
Nullオブジェクトパターンという設計レベルで解決する方法がある

なぜNullはダメか
https://www.kaitoy.xyz/2015/07/26/why-null-is-bad/

jQueryはこのNullオブジェクトパターンを採用している

要素が見つからないかもしれないと常に考えてプログラミングすることで例外をなくすのではなく
要素が見つからなくても問題なく扱えることで例外をなくしている

こちらはバグはないほうが良いと言ってるのに、
バグがあったら止まるほうが良いだろうと言ってるからレベルが低い

463 :Name_Not_Found:2018/10/04(木) 07:01:40.44 ID:???.net
細かいけど訂正

× それらを除き、例外が起きるというのは考慮漏れというプログラミング上の単純なミスに過ぎない
○ それらを除き、例外で止まるというのは考慮漏れというプログラミング上の単純なミスに過ぎない

464 :Name_Not_Found:2018/10/04(木) 08:58:16.53 ID:???.net
>>462
論理エラーはどうするんだ?

465 :Name_Not_Found:2018/10/04(木) 09:20:21.63 ID:???.net
>>464
今は要素が見つからない時の話をしてる

466 :Name_Not_Found:2018/10/04(木) 10:54:28.96 ID:???.net
ぺち(・ω・)

467 :Name_Not_Found:2018/10/04(木) 12:11:56.59 ID:???.net
>>465
俺もその話をしてる

468 :Name_Not_Found:2018/10/04(木) 16:21:38.50 ID:???.net
jQueryの場合は要素がない場合に
「問題があるのに例外を握りつぶすことで例外が出ない」のではなく
「例外とすべき問題自体が存在しなくなるから例外が出ない」ってことなんだが、
なんで例外の話が出てくるんだ?

そこがjQueryの設計思想をわかってないって言われてるんだろ

469 :Name_Not_Found:2018/10/04(木) 19:15:08.48 ID:???.net
>>440でエラー発生すべきか、発生させないべきか、という問題

470 :Name_Not_Found:2018/10/04(木) 19:40:33.96 ID:???.net
>>469
どちらもエラーは返ってこないけど?
DOM APIはnullが返ってきて、
jQueryは空のjQueryオブジェクトが返ってくる

DOM APIはnullが返ってくるから、メソッドを呼び出そうとするとエラーになるので
nullチェックをしてnullだったら「なにもしないという処理」を書かないと例外で落ちる

jQueryは空のjQueryオブジェクトだから、何も書かずとも「何もしないという処理」に
なってるので例外で落ちることはない

471 :Name_Not_Found:2018/10/04(木) 20:00:04.52 ID:???.net
正解者もいないようなのででは解答
このコードがどういうときに有用かは>>153で書いたとおり
set は使わなくても別にもう一つ関数を作れば同じことができるが
関数を作らずとも引数の再設定という方法がある。意外と便利だよ

func() {
set -- "$@" $(($#+2))

while [ $# -gt 1 ]; do
eval "echo \"$1 \$((\$$#-$#))\""
shift
done
}

func apple orange banana

472 :Name_Not_Found:2018/10/04(木) 20:00:50.52 ID:???.net
間違った

473 :Name_Not_Found:2018/10/04(木) 20:11:20.04 ID:???.net
jQueryってよくできてるよな

474 :Name_Not_Found:2018/10/05(金) 00:41:00.31 ID:???.net
>>470
べき論に確認結果を報告するお馬鹿さん

475 :Name_Not_Found:2018/10/05(金) 03:34:33.41 ID:???.net
>>474
日本語でおk?

476 :Name_Not_Found:2018/10/05(金) 09:06:37.57 ID:???.net
>>475
それは日本語を読めない人が使う言葉じゃない

477 :Name_Not_Found:2018/10/05(金) 09:37:03.82 ID:???.net
>>476
じゃあ代わりに誰か他の人、>>474がどういう意味かを書いてみて
おそらく誰にもわからないから、誰も書かないだろう

478 :Name_Not_Found:2018/10/05(金) 10:03:38.31 ID:???.net
jqueryオブジェクトのnext()って次のノードがある場合と無い場合で処理を分けたいんですが
どうすればいいですか?

479 :Name_Not_Found:2018/10/05(金) 12:52:59.27 ID:???.net
>>477
Q「〜べきですか」
A「〜だったよ(べきなんて知りません)」

480 :Name_Not_Found:2018/10/05(金) 13:02:32.94 ID:???.net
>>478
発想が手続き脳になってると思われる

まず、何に対して処理を適用するのかをしっかり認識すること
言い換えると処理を分けた後に、何に対して処理をするのか?ということ
その処理を適用する対象を最初に持ってくる

例えば<li>のリストが有って「次のノードがある場合に、現在のノードを赤くする」であれば
処理を適用する対象は、現在のノードなのだから

$('li').filter(function() { return $(this).next().is('li') }).css('color', 'red')
↑処理を適用する対象を一番最初に持ってくる
そしてあとはfilterで条件を書く

でもこれよりも以下のほうがより直感的だろう
$('li:not(:last-of-type)').css('color', 'red')

つまりだな。「やりたいこと」っていうのがその文章に
書かれてないから手続き型脳だなって思ったわけ。

481 :Name_Not_Found:2018/10/05(金) 13:03:05.05 ID:???.net
>>479
誰も「べき」なんて言ってないね。
どこからでてきたんだろう?

482 :Name_Not_Found:2018/10/05(金) 13:45:11.97 ID:???.net
>>469がべきって言ってるな。その>>469がおかしいね。

>>440は関数を実行したにもかかわらず存在しなかった場合は何が返ってきますか?って
聞いてるのに、何が返ってくるかを答えないで、べき論をしはじめた。

何が返ってきているかの答えは>>470が答えている。

483 :Name_Not_Found:2018/10/05(金) 16:03:45.99 ID:???.net
$("要素名") ← セレクタ打ち込むのがめんどくさいんだが楽な方法ない?
jQueryで一番いやなところがここなんだよな

484 :Name_Not_Found:2018/10/05(金) 16:25:52.32 ID:???.net
>>483
$(document.getElementById(ID名))
$(document.getElementsByTagName(要素名))
$(document.querySelectorAll(要素名))

どれでも好きなものをどうぞ

485 :Name_Not_Found:2018/10/05(金) 16:33:53.53 ID:???.net
流石に余計長くなってたらダメだろw

セレクタは必要最小限の情報になってるので
これ以上短くはできないと思うよ

メソッド名は$の1一文字だし、これ以上短くはできないと思うな。

486 :Name_Not_Found:2018/10/05(金) 16:36:14.42 ID:???.net
メソッド名が長いのがDOM APIの二番目にいやなこと
DOM APIの一番嫌な所はループでいちいち回さないといけない所

487 :Name_Not_Found:2018/10/05(金) 19:25:11.87 ID:???.net
>>482
>>440への回答だなんて誰もいってないし、もうアホとしか

488 :Name_Not_Found:2018/10/05(金) 23:46:43.24 ID:???.net
はぁ?じゃあべき論とか言い出すなっての、
両方ともエラーを返してない現実があるってのに
エラーを返すべきではないかとか言われても、
お前DOM APIとjQueryの方法から否定されてんでwで終わるだろ

489 :Name_Not_Found:2018/10/06(土) 12:14:01.89 ID:???.net
jQueryって初心者向けのライブラリだよな

490 :Name_Not_Found:2018/10/06(土) 12:33:26.81 ID:???.net
ライブラリに初心者用とかあるんか?
初心者でも使えるという意味なら
そのとおりだが、上級者も使ってる

491 :Name_Not_Found:2018/10/06(土) 13:37:14.98 ID:???.net
数学において数式に番号を付ける際、
  y=f(x) ---------------- (1)
みたいな感じで横に伸びる線を書くことはよくありますが、HTML上でこれを実現したいです。

素朴に思いついたものとしては
<ul>
<li>y=f(x)<hr style="display:inline" /><span style="float:right">(1)</span></li>
</ul>
ですが、これは正しく機能しません。
どうすれば良いですか?

要望としては
- ブラウザのサイズに応じて自由に(無限に)伸縮する横線で、
数式番号(上の例で言えば(1))へ繋がる横線(くっついていても、いなくてもどちらでもいい)
- きちんと一行に収まる。改行していびつな形になるのはダメ

です。

492 :Name_Not_Found:2018/10/07(日) 02:57:55.91 ID:???.net
>>491
https://teratail.com/questions/150396

493 :Name_Not_Found:2018/10/07(日) 10:21:03.02 ID:???.net
>>491
この子は teratail で有名なアスペ君だから注意ね

https://teratail.com/questions/149753

> infologicmation
> 結局自己解決できました。
> 一応、参考までに私が作ったテストコードを載せておきます。
>
> ...中略...
>
> このサイトなら良い指針やアドバイスが得られると思って、わざわざ時間を掛けて質問文を作ったにもかかわらず、アスペみたいな見当違いの的外れの回答が送られたり、
> そんなのの相手に無駄に労力割かされたり散々な目に会ったのに、結局は自力で解決するという結末で、本当に不毛なことをさせられたと実感してます。
> teratailはもっと経験豊かな人が居るんじゃないんですか?どうなってんの?178viewもありながら(確認時点で)…
>
> 当然、ベストレビュアーは無しとします。

494 :Name_Not_Found:2018/10/18(木) 02:24:49.21 ID:???.net
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。

495 :Name_Not_Found:2018/10/20(土) 17:19:33.30 ID:???.net
全部のjavascriptファイルにinitializeメソッド実装してるプロジェクトあるんだけど
それをどこから読んでるか全くわからんのだけどjavascriptとかhtmlの機能で
自動で呼ばれるなんて仕様ないよね?

496 :Name_Not_Found:2018/10/20(土) 18:06:17.41 ID:???.net
同じ関数名は上書きされるだろ

497 :Name_Not_Found:2018/10/23(火) 12:12:09.63 ID:???.net
質問です。
jQueryで、指定した要素がy座標で中央らへんになるようにページをスクロールしたいのですが、どうすればよいでしょうか?

var top = $(this).offset().top;
$('html, body').animate({ scrollTop: top }, 'fast');

とすることでなんとなくスクロールはできましたが、上端になったり下端になったり安定しません。

498 :497:2018/10/23(火) 17:09:36.94 ID:???.net
>>497 です。
試行錯誤の結果、あまりよくわかってませんがbodyにpadding: 50vh 0;を設定したうえで

var top = ( $(this).offset().top ) - 400;
$('html, body').animate({ scrollTop: top }, 0);

とすると一応、$(this)がどこにあっても真ん中に表示されるようになりました。
あとfastだと上にスクロールする動きが変だったので速度は0に。
これで一応自己解決した、ということになるでしょうか。
とりあえず自分の環境に合わせて400としましたが、ほんとはちゃんと画面の高さ/2で計算したほうがいいでしょうね。

499 :Name_Not_Found:2018/10/23(火) 17:21:57.73 ID:???.net
画面の高さを取得する方法があるからそれ調べると良い。
あと画像などすべてのコンテンツが終わった後に呼び出さないと高さがずれると思う

500 :Name_Not_Found:2018/10/23(火) 18:30:59.34 ID:nf9Chzw5.net
WordPressスレと迷ったのですが、こちらで質問させてください

WordPressにおけるfancyboxに関してです
現在、HTMLのウェブサイトをWordPressに移行しています
fancybox3を使っていたのでそのまま使おうとしたのですが、WordPressで使われているjqueryが古いのか反映されきれないオプションがあります


<a href="<?php echo content_url(); ?>/uploads/03-1.png" data-fancybox="03">テキスト</a><a href="<?php echo content_url(); ?>/uploads/03-2.png" data-fancybox="03"></a><br>


テキストをクリックするとまず画像が一枚表示され、他の画像もグループ化することによって順に表示されるようにしたいのです

HTMLのサイトでは上記の表記で問題なく動いています

easy fancyboxではテキストをクリックすると画像が呼び出される方法およびグループ化された画像を順に表示させる方法が分かりませんでした

WordPressでは固定ページでテンプレートにすべてコンテンツを入れているのでそれが原因なのでしょうか

色々調べたのですが、やり方が間違っているのかそもそも出来ないのか分からず、解決策をお持ちの方がいらっしゃれば教えてくださると嬉しいです

よろしくお願いします

501 :Name_Not_Found:2018/10/23(火) 18:33:14.33 ID:nf9Chzw5.net
途中で切れてしまいました 申し訳ないです

解決策をお持ちの方がいらっしゃいましたらお教えくださるとうれしいです
よろしくお願いします

502 :Name_Not_Found:2018/10/24(水) 03:20:52.84 ID:???.net
>>497-499
vh, vw は「Ctrl +-」で、文字・画像などが拡大縮小できなくなるから、使いづらい

503 :497-498:2018/10/24(水) 04:28:12.33 ID:???.net
>>499

$().onで呼び出してるので大丈夫かとは思いますがありがとうございます!
画面の高さはjQuery的に言うと$(window).heightですかね、思ってたよりずっと単純明快でしたね

504 :Name_Not_Found:2018/10/24(水) 09:30:20.01 ID:???.net
大勢に向けたサイトでなく、少数に向けたWebツールなのですが
Spaceキーを押すことで、対象をtoggleしようとしています

しかし、リマップソフトなどでSandS(SpaceキーをShiftキー代わりに使う)を設定している場合(主に僕ですが)は
Spaceを1度押すだけでキーイベントが2回発火してしまうようです

つまりtoggleが2回行われ、元に戻ってしまいます
ならいっそ4回押されるごとに、と変数を使ってみてもたまに半端にカウントがずれてしまいます

どうすれば1回だけの発火に抑えてうまくtoggleさせられるでしょうか…?

505 :Name_Not_Found:2018/10/24(水) 09:48:49.28 ID:???.net
一応keyupでなくkeypressにすると1回のみのカウントになりますが、
keypressはどうもIMEがオフの状態でないと発火しないようで…
(あくまでIMEはオンである必要があるので…)

506 :Name_Not_Found:2018/10/24(水) 22:58:43.34 ID:G6k1YekJ.net
jQueryオブジェクトは何度も使う場合は変数に代入しておいたほうが、探させる処理の負担を減らせるようですが
$(this)も変数に代入しておいたほうがいいですか?($thatとか?)
それとも「既に代入された結果が$(this)であるため、その必要はない」ですか?

507 :506:2018/10/24(水) 23:21:52.65 ID:G6k1YekJ.net
…と思いましたが()がある時点で引数がある、つまり関数なのでたとえthisといえど毎回処理してるということになりそうですね
やはり代入しておくほうが速い…?

508 :Name_Not_Found:2018/10/25(木) 00:41:52.39 ID:???.net
jQuery のソースコードでは、冒頭部分で、よく使うものを変数に入れてる

var arr = [];
var document = window.document;
var getProto = Object.getPrototypeOf;

var slice = arr.slice;
var concat = arr.concat;
var push = arr.push;
var indexOf = arr.indexOf;

var toString = class2type.toString;
var hasOwn = class2type.hasOwnProperty;
var fnToString = hasOwn.toString;

var ObjectFunctionString = fnToString.call( Object );

変数をループの外に出す、テクニックも使っている。
ただし、ループ中に、変数が変化しないに限る

length = elems.length;
for ( ; i < length; i++ ) { }

こう書くと、毎回メソッドが呼ばれてしまうから。
for ( ; i < elems.length; i++ ) { }

JavaScript のthis は、that に代入することが多いけど、
jQuery のthis は、必ずインスタンスを指すように修正されているから、
that に代入することは少ない

509 :Name_Not_Found:2018/10/25(木) 00:48:25.41 ID:???.net
>>503
ディスプレイの高さでも、色々ある

タスクバーのような、固定部分を引いた画面の高さ (ピクセル単位)とか。
window.screen.availHeight

固定部分を含むのか、含まないのか

510 :503:2018/10/25(木) 00:56:06.87 ID:???.net
>>509
Windowsのタスクバーを左でなく上(あれ、いやタスクバーはそもそも元々下か。とりあえず左や上)
に置いてる身としてはそのへんも気になりますね…今回はとりあえず大体でしたが

511 :Name_Not_Found:2018/10/25(木) 02:00:14.23 ID:???.net
>>507
速いが、そもそも何度も同じjQueryオブジェクトを使うと
言うところに根本的な問題がある。
正しくjQueryを使っていれば、何度も同じjQueryオブジェクトを使うことはない

512 :506-507:2018/10/25(木) 03:20:58.78 ID:???.net
>>511
例えば
$that = $(this);
let val = $that.val();
let xxx = $that.attr('xxx');
let yyy = $that.attr('yyy');
....(略)
のようなものを想定していましたが、何かもっと良い方法がありましたか?

(このくらいならjQueryを使わないでthis.valueなどとしたほうがほんとは速いのでしょうけれど、
へたに混ぜると細かな差異に振り回されないか不安で…)

513 :Name_Not_Found:2018/10/26(金) 14:05:52.77 ID:???.net
var c = $('#car');
と、jQuery Object を変数に入れても、メソッドチェーンでも同じ

$('#car').before(何々).prepend(何々).append(何々).after(何々);
return で、そのインスタンス(jQuery Object)を戻しているから、同じ

$('#car').attr({src: 何々, title: 何々}).css({top: 50, left: 100});

514 :512:2018/10/27(土) 10:15:54.39 ID:???.net
>>513
あ、すみません、実際には続けてではなく離れた場所でやる場合です…
あと

$that = $(this);

$that.val( $that.val() + 'ついか' );
$that.attr( 'xxx', $that.attr('xxx') + 'ついか' );

この場合はどうですか?

515 :Name_Not_Found:2018/10/27(土) 10:33:33.07 ID:???.net
$thatなんかいらない

$(this).val(function(i, value) {
 return value + 'ついか';
}).attr('xxx', function(i, attr) {
 return attr + 'ついか';
});

516 :506, 507, 512, 514:2018/10/27(土) 12:05:49.32 ID:???.net
>>515
jQuery久々ですが、そういえばそういうの見かけた覚えがあります…
ドキュメント見たら普通に書いてありましたね

現代風にするとこうでしょうか…?

$(this).val( (i, value) => {
 return value + 'ついか';
}).attr('xxx', (i, attr) => {
 return attr + 'ついか';
});

indexは省略しても動くようですが、省略しないほうがいいんですかね?

517 :Name_Not_Found:2018/10/29(月) 03:15:25.09 ID:???.net
長いと怒られましたので二つに分けます
かなり初歩的な質問になってしまうと思いますがよろしくお願いします。

最近勉強を始めHTMLCSSでサイトを作ろうとしておりました。
その中に画像のスライダーを入れたく思い、JSもしくはjQueryで組もうと
いろんなサイトを参考にしてたのですがうまくいきません。
現状、画像が縦に並んでる状態です。
jQueryをDLしてプラグインするのは難しそうだったので
head内からファイルで読み込む方法を選択しました。

明記できない部分が多かったので消去してますが
下記のコードで直す点があれば教えていただきたいです。
下記以外のコードでも試しましたができなかったので
もっと根本的なところが間違ってるとも思うのですが

518 :517:2018/10/29(月) 03:18:33.12 ID:???.net
<!DOCTYPE html>
<html lang="ja" dir="ltr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="■■.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.flexslider-min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
<title>■■</title>
<style>

</style>
<script type="text/javascript" charset="utf-8">
$(window).load(function() {
$('.flexslider').flexslider();
//ここに指定するクラスと、先ほど<div>に指定したクラスを一致させること
});
</script>
</head>

519 :517:2018/10/29(月) 03:20:33.84 ID:???.net
<body>
<div class="flexslider">
<ul class="slides"><!-- 必ずクラスは slides -->
<li>
<img src="1.jpg" /><!-- 表示させたい項目を<li>に囲んで並べる -->
</li>
<li>
<img src="2.jpg" />
</li>
</ul>
</div>
</div>
</body>
</html>

長くなりましたがどうぞよろしくお願いいたします

520 :Name_Not_Found:2018/10/29(月) 06:26:27.67 ID:???.net
flexslider.cssを読んでない

521 :Name_Not_Found:2018/10/29(月) 23:13:10.14 ID:???.net
使っている、jQuery のバージョンが古くない?
それに、jQueryを2つも読み込んでいるのも、おかしい

それに、jQueryよりも先に、jquery.flexslider-min.js を読み込んでいるのも、おかしい。
たいてい、jQueryを一番先に読み込む

参考にしているソースコードが古いのでは?

「javascript jquery slider」で検索!

522 :Name_Not_Found:2018/10/30(火) 17:20:47.18 ID:???.net
ありがとうございます
やはり根本的に間違えてるようですね

指摘いただいたところを直し
教えていただいた情報でやり直してみます

523 :Name_Not_Found:2018/10/30(火) 23:46:13.60 ID:???.net
jQueryのQってなに

524 :Name_Not_Found:2018/10/31(水) 05:48:12.06 ID:???.net
Queryの頭文字

525 :Name_Not_Found:2018/10/31(水) 05:48:36.67 ID:???.net
イニシャルQ

526 :Name_Not_Found:2018/10/31(水) 06:44:53.21 ID:???.net
めるりんQ

527 :Name_Not_Found:2018/10/31(水) 07:13:45.56 ID:???.net
オバQ

528 :Name_Not_Found:2018/10/31(水) 08:53:36.63 ID:???.net
jQueryのjは?

529 :Name_Not_Found:2018/11/02(金) 15:25:42.78 ID:???.net
jQueryにて


<div.aaa>
<div.iii>
<div.aaa>
<div.iii> ★
<div.iii> ★
<div.iii> ★
<div.aaa>  ←$(this)
<div.iii>


$(this)から見て、違うクラス(あるいは特定のクラス)の連続した兄たち ★★★
(thisと同じクラスの兄に挟まれた兄弟)
を絞り込むにはどうすればよいでしょうか?

530 :Name_Not_Found:2018/11/03(土) 02:18:37.81 ID:???.net
div閉じてないから構造がわからん

531 :529:2018/11/03(土) 17:53:13.42 ID:???.net
>>539
すみません、色々複雑になってはいますがひとまずその場で閉じているということで…
こうですね
<div.aaa></div>
<div.iii></div>
<div.aaa></div>
<div.iii></div> ←★
<div.iii></div> ←★
<div.iii></div> ←★
<div.aaa></div>  ←$(this)
<div.iii></div>

532 :Name_Not_Found:2018/11/04(日) 10:50:04.18 ID:???.net
>>531
開始タグと終了タグの対応関係がおかしい
オレオレ用語で説明を省略しすぎ

533 :Name_Not_Found:2018/11/04(日) 23:48:12.81 ID:???.net
>>531
以前ちょっと使っただけだから忘れたが
prevAll(セレクタ)とかprevUntil(セレクタ)とかはどうか

534 :Name_Not_Found:2018/11/05(月) 10:12:39.74 ID:???.net
>>533
prevUntilを使って兄要素を全部取得、eachで直近の兄のクラスを取り、直近の兄以降のクラス判定をして格納、って感じかな

535 :529:2018/11/05(月) 12:51:18.54 ID:???.net
>>533
prevUntil便利そうですね…!こういうのを探してました、ありがとうございます!

>>534
each…
あれ、

$a = $(this).prevAll('.aaa').first();
//ここlastにしてハマりかけましたがprevの場合は後ろから数えるんですね…

$i = $(this).prevUntil($a, '.iii');

でも行けそう?
間にあるのが.iiiだけなら
$i = $(this).prevUntil($a);
でもいいのかな?
やってみます

536 :533:2018/11/05(月) 19:53:23.26 ID:???.net
>>535
そうそう、書き忘れたが$(this)に近い方からになるので感覚的に逆
ついでにお気づきだろうが、後ろならnextAll(セレクタ)、nextUntil(セレクタ)ね

537 :Name_Not_Found:2018/11/06(火) 15:52:01.80 ID:???.net
そのサイトを閲覧している間(タブを最前面にしている間)だけ動くスクリプトって作れますか?

ブックマークレットでもなんでもいいんですけど、自分用に
「このタブを閲覧しているときだけ動くストップウォッチ」
的なものが欲しくて…
つまり他のタブを閲覧中は止まるようにしたいのです

拡張機能も見かけましたがどちらかというと「今まで何時間見たか」を計るやつっぽくて
そうではなくストップウォッチ的に頻繁にスタートとリセットを繰り返しながら計測したく…

「マウスカーソルがbodyに乗ってる間だけ時計が進む」みたくすれば可能でしょうか?

538 :Name_Not_Found:2018/11/06(火) 17:17:53.55 ID:???.net
>>537
visibilitychangeイベントとdocument.hidden

539 :Name_Not_Found:2018/11/06(火) 17:36:37.71 ID:???.net
>>538
まさにこれですね!ありがとうございます!

540 :Name_Not_Found:2018/11/10(土) 21:39:13.96 ID:sysZOBce.net
http://r2.upup.be/wV2qsULdHm

541 :Name_Not_Found:2018/11/10(土) 22:07:04.34 ID:???.net
>>540
ブラクラ

542 :Name_Not_Found:2018/11/11(日) 17:23:24.20 ID:???.net
$(document).on('mousemove', function() {

});

って効かないんですか?
ドラッグ時、マウスがbody外に出てもいいようにしたかったんですけど
mousemoveイベント自体を検知しなくなってしまいました
(documentでなく何かしらのdom要素に対して設定しないといけない?)

mouseupはdocumentに設定しても大丈夫だった(boby外でも検知できた)のですが…

543 :Name_Not_Found:2018/11/11(日) 23:43:37.47 ID:???.net
>$(document)
コンソールに、エラーが出ているはず

$( '#abc' )
文字列型で、CSS セレクターを書く

544 :542:2018/11/11(日) 23:59:30.72 ID:???.net
>>543

うーん…?
でも単に

let wa= 0;

$(document).on('mousemove', function() {

wa++
console.log(wa);
return false;
});

としただけなら、別にエラーにならずちゃんとログも出るので
何か別の部分がおかしかったのかもしれません
(それともたまたま動いてしまっているだけで本当は推奨されていなかったりする…?)

545 :Name_Not_Found:2018/11/12(月) 01:36:11.64 ID:???.net
mousemoveは "対象要素の上で" 動いたときに発生するんだよ
bodyの外で動いても発生しない

外に出るのを検出するのはmouseleave

546 :Name_Not_Found:2018/11/12(月) 09:12:36.96 ID:???.net
>>545
> bodyの外で動いても発生しない
html要素でも正しく発火する
mousemoveはウインドウ内限定の発火装置

547 :Name_Not_Found:2018/11/12(月) 09:15:29.83 ID:???.net
自衛隊は暴力装置

548 :543:2018/11/13(火) 04:20:20.09 ID:???.net
$(document)

この、document って、" " で囲んでいないから変数だよな。
変数を入れても動くのか

知らなかった

549 :Name_Not_Found:2018/11/13(火) 05:14:06.28 ID:???.net
こんなことしても動くよ

DOM要素の配列
$(document.querySelectorAll('A'))

二重jQueryオブジェクト(普通はしない)
$($('A'))

数値でも良い(もちろん任意のオブジェクトもOK)
$(1).each(function() { console.log(this.valueOf()) });

数値の配列でもいい
$([1,2,3]).each(function() { console.log(this.valueOf()); });


要するに、$()の中が配列として扱えればそのまま、単数であれば
配列に変換して、それをjQueryオブジェクトでラップしてるだけ

jQueryプラグインを作ったことがあればわかるんだけど、
$(・・・).on()とか$(・・・).addClass()とか言ったjQueryオブジェクトの
メソッドが呼ばれたら、中でループして(配列に変換できるのでループは必ずできる)
一つ一つの要素に対して、その要素(DOM要素とは限らない)のメソッドを呼び出しているだけ

シンプルで汎用的な設計だから柔軟な使い方ができる。
DOM APIとの相性も良い(混ぜて使える)

550 :Name_Not_Found:2018/11/13(火) 10:55:45.16 ID:???.net
次のプロジェクトからjQueryは重いから使うなって言われたんだが
便利なjQueryプラグインも使わないわけだよね
どうすんの?

551 :Name_Not_Found:2018/11/13(火) 11:34:52.58 ID:???.net
>>550
jQueryよりも軽いという代替案を要求しろ
そしてそれにより開発工数が減るのか検討したい、と言え
(検討に結果jQueryを使った方が良いことになるだろうw)

552 :Name_Not_Found:2018/11/13(火) 14:02:30.05 ID:???.net
>>550
CSSとサーバーサイドでなんとかする…

553 :Name_Not_Found:2018/11/13(火) 17:19:01.79 ID:???.net
>>551
俺も同じ感じでjQuery否定されてreactになった

554 :Name_Not_Found:2018/11/13(火) 17:29:20.72 ID:???.net
>>550
なにに比べて重いのか明確にしてもらえ

555 :Name_Not_Found:2018/11/13(火) 17:30:32.20 ID:???.net
ReactってjQueryより重いんだけどねw
しかもそのReactは将来性が危ういからなぁ

一部の企業でReact Native離れが始まる
https://tech.nikkeibp.co.jp/it/atcl/idg/14/481709/082000458/?ST=cio-appli&P=2

少なくともReactはNative使ってスマホアプリと
コード共有しないと意味がないね
そもそもスマホアプリがないならやる意味がない

556 :Name_Not_Found:2018/11/13(火) 17:31:19.84 ID:???.net
jQuery+underscore.jsで小規模案件たいてい何とかなるよ。
個人的にはvue.jsとかもやるけども。

557 :Name_Not_Found:2018/11/13(火) 17:32:34.11 ID:???.net
>>551 >>553 >>554
まあそりゃそうだね。なんかノリと流行りで
jQuery否定しているだけみたいだし
理論詰めで問い詰めようw

558 :Name_Not_Found:2018/11/13(火) 17:33:06.35 ID:???.net
みんなスマホアプリとか作ってるわけ?

559 :Name_Not_Found:2018/11/13(火) 17:34:46.98 ID:???.net
使ってもいいけど、学習コストかかりますよ
とか言えば大抵流れるw

560 :Name_Not_Found:2018/11/13(火) 18:04:32.36 ID:???.net
>>554
たぶん気分が重くなるんだろう

561 :Name_Not_Found:2018/11/13(火) 18:28:07.33 ID:???.net
jQueryでどんなことしてましたか?って聞かれて、開いたり閉じたり以外が思いつかなかった
クラスつけたりはずりたりもたまにやるけど…
みんなjQueryで何してるの?

562 :Name_Not_Found:2018/11/13(火) 18:28:33.20 ID:???.net
>>560
使うなと言われる方が重くなるけどな

563 :Name_Not_Found:2018/11/13(火) 18:32:44.12 ID:???.net
>>561
それはjQueryっていうより、JavaScriptで何をしましたかの答えだと思うね

564 :Name_Not_Found:2018/11/13(火) 18:33:37.65 ID:???.net
ReactNativeはiOSとAndroidのコードを共通にするためのもの。
iOSとAndroid、だ。
Webとアプリではない。
Webビュー使った今までのクロスプラットフォームフレームワークと全然違うから突っ込まれないようにな。
React叩くときにうっかりReactNativeまで話を広げて自爆しないようにしよう。

565 :Name_Not_Found:2018/11/13(火) 18:41:00.97 ID:???.net
reactやvueとjQueryは相性悪いよね
両方使いたい場合は片方諦める?

566 :Name_Not_Found:2018/11/13(火) 18:46:03.68 ID:???.net
reactやvueはDOM操作を直接やるなってやつだっけ?
DOM APIも使っちゃだめなのかな

567 :Name_Not_Found:2018/11/13(火) 18:54:56.07 ID:???.net
はい。DOM APIも使っちゃだめです。

568 :Name_Not_Found:2018/11/13(火) 19:14:51.58 ID:???.net
普通に使ってるが

569 :Name_Not_Found:2018/11/13(火) 19:19:19.65 ID:???.net
相性悪いっていうか、jqueryが要らなくなるんだよ
vueのプロジェクト上でjquery読み込んでゴリゴリ作ったりできるけど、わざわざそんな事する必要がない
プラグインに頼りたいなら同居させても良いんじゃない?

570 :Name_Not_Found:2018/11/13(火) 19:23:16.34 ID:???.net
>>568
DOM APIが使えるならjQueryも使えるんじゃね?

571 :Name_Not_Found:2018/11/13(火) 19:23:54.31 ID:???.net
わざわざそんな事する必要がないっていうのは
DOM APIを使用する意味がないってことね

572 :Name_Not_Found:2018/11/13(火) 20:13:04.50 ID:???.net
>>563
jQueryは世の中に出回ってるプラグイン、コピペ、開いたり閉じたりで
大抵のことができるからjQueryできますと言いにくい
だからといってゴリゴリのJavaScriptを要求されることはない

(´;ω;`)…

573 :Name_Not_Found:2018/11/13(火) 21:52:07.38 ID:???.net
jQueryは一番はDOMを自由にいじれるのと、プラグインだよなあ
プラグインも素のjsに対応していないやつも多いし

574 :Name_Not_Found:2018/11/13(火) 22:48:17.62 ID:???.net
>>572
まぁjQuery得意です!っていう奴は大体他にアピールないことが多いから取りづらいわ…

575 :Name_Not_Found:2018/11/14(水) 01:43:01.54 ID:???.net
>>572
知らんがなw
お前の問題であってjQueryの問題じゃないだろ

576 :542:2018/11/14(水) 04:30:07.53 ID:???.net
>>545
画面の端からはみ出てもドラッグ距離を測れたらよかったんですが、やはり無理っぽかったですね…


その後別の問題が発生して
mousedownでaddClass('.dragging')→mousemoveで移動→mouseupで.removeClass('.dragging')
みたいな感じのこと(実際はもっと複雑)をしてるのですが
たまにmouseupを検知してくれず、ボタンから指を離しているのに.draggingになりっぱなしになってしまいます
何かこれを回避する方法ってあるでしょうか?

577 :542 576:2018/11/14(水) 04:32:21.75 ID:???.net
>>576 訂正

誤 mousedownでaddClass('.dragging')→mousemoveで移動→mouseupで.removeClass('.dragging')
正 mousedownでaddClass('dragging')→mousemoveで移動→mouseupでremoveClass('dragging')

578 :Name_Not_Found:2018/11/14(水) 06:06:56.68 ID:???.net
>>574
そういうものなんだ、参考になった
>>575
うん、jQueryは何も悪くない
今の現場でVue使えるはずだったけど世の中には悪い奴がいっぱいいるっていう問題で頭いっぱい

579 :Name_Not_Found:2018/11/14(水) 08:46:54.53 ID:???.net
なぜ悪いと決めつける?自分と考えが違うだけだろう

580 :Name_Not_Found:2018/11/14(水) 09:03:06.20 ID:???.net
悪くない言ってんだろ日本語分かんねーのか

581 :Name_Not_Found:2018/11/14(水) 09:05:19.92 ID:???.net
世の中には悪い奴がいっぱいいるって書いてあるじゃん

582 :Name_Not_Found:2018/11/14(水) 09:48:13.15 ID:???.net
世の中に悪いヤツがいっぱいいるというのは真実ですよ

583 :Name_Not_Found:2018/11/14(水) 10:15:46.80 ID:???.net
でも良い奴だってたくさんいるッ!
そんな世界を滅ぼすなんて間違ってるッ!!

584 :Name_Not_Found:2018/11/14(水) 11:54:44.46 ID:???.net
>>576
addEventListenerでcapturing phaseは?

585 :Name_Not_Found:2018/11/14(水) 12:40:39.20 ID:???.net
>>576
毎回、思うが、なぜ再現コードを書かない?
https://www.html5rocks.com/ja/tutorials/dnd/basics/

586 :Name_Not_Found:2018/11/14(水) 21:35:07.61 ID:???.net
いい奴も悪い奴も主観だからね

587 :Name_Not_Found:2018/11/14(水) 22:26:27.97 ID:???.net
非同期の promise とか then とかがよくわからないんだけど
書けるのは書けるけど人のかいた非同期コードが全く読めない
わかりやすい解説サイトとかないですか

588 :Name_Not_Found:2018/11/15(木) 01:07:46.39 ID:???.net
callback を登録しているだけ

すぐに実行されない。
後から実行されるというだけ

589 :Name_Not_Found:2018/11/15(木) 01:18:56.13 ID:???.net
>>587
初心者が書いたコードはわかりにくいからねw
Promise使ってるのに、なぜかネストしていたり

Promiseを使ったコードはリファクタリングしていくと最終的にこんな感じになる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Using_promises#Error_propagation

doSomething()
.then(result => doSomethingElse(result))
.then(newResult => doThirdThing(newResult))
.then(finalResult => console.log(`Got the final result: ${finalResult}`))
.catch(failureCallback);

最初、Promiseを返す関数(doSomething())から始まって、
thenでPromiseを返す関数 もくは Promiseを返さない関数
(そういうのは内部でPromiseに変換される) をつなげていく

590 :Name_Not_Found:2018/11/15(木) 01:56:49.22 ID:???.net
>>589
こうかくためにはdoSomethingにPromiseを返す関数を実行するプロミスを返す関数を実行するプロミスを…
って定義しなきゃいえないんじゃないの?

591 :Name_Not_Found:2018/11/15(木) 02:21:15.41 ID:???.net
>>590
意味がわからん

最初のdoSomeThingだが、標準でresolve状態のPromsieを
返してくれるメソッドがあるから、こんな感じのコードでも動く

Promise.resolve(123)
.then(v1 => v1)
.then(v2 => v2)
.then(v3 => console.log(v3))

functionで書き換えるならば、

Promise.resolve(123)
.then(function(v1) { return v1; })
.then(function(v2) { return v2; })
.then(function(v3) { console.log(v3); })

関数実行をただ連続で行っているだけ。この例では値をそのまま返しているだけだから
すぐに次の関数が実行されるが、Promiseを返せば処理が完了してから次の関数が実行される

だから、
1. (たくさん)作るのは、ただの関数 または Promiseを返す関数
2. その関数を引数にして、処理をthenでつないでいける

という単純な形にまで落とし込まないで使うから、初心者が書くPromiseは複雑になりがち

592 :Name_Not_Found:2018/11/15(木) 20:43:16.76 ID:???.net
非同期関数 A B C があって A B は並列で両方おわったら C ってどうかけばいいの?

async () => {
await () => { A(); B(); }();
}().then(() => C());

みたいなかんじ?

593 :Name_Not_Found:2018/11/15(木) 22:39:19.23 ID:???.net
Promise.all

594 :Name_Not_Found:2018/11/15(木) 23:00:01.46 ID:???.net
そうやって難しいことばっかりでてくるし
fork と join だけでいいのに…

595 :Name_Not_Found:2018/11/16(金) 01:33:52.01 ID:???.net
forkとjoin型のマルチスレッドはマジ勘弁…二度とやりたくない
どう見てもPromiseのが簡単だわ。
難しいと感じてるのってお前が今Promise知らないから、それだけじゃん。
Promiseも覚えてから評価してよ。

596 :Name_Not_Found:2018/11/16(金) 01:47:30.30 ID:???.net
A, B, Cがasync関数なら

await Promise.all([A(), B()]);
await C();

で終わりじゃん
forkとかjoinとかアホなの?

597 :Name_Not_Found:2018/11/16(金) 02:04:43.96 ID:???.net
async関数なら、というよりPromise返す関数なら、だな。
明示的にPromise返すならasyncいらない。async付けると暗黙でPromise返すようにしてくれるってだけなので。

598 :Name_Not_Found:2018/11/16(金) 06:07:37.56 ID:???.net
思考が逆
awaitやPromise.all時に対象の関数がPromiseを返すかどうか気にする必要はない

599 :Name_Not_Found:2018/11/16(金) 06:32:37.74 ID:???.net
>>592
Promise.all([A, B]).then(C);

600 :Name_Not_Found:2018/11/16(金) 06:32:41.33 ID:???.net
そもそも、Promiseの時点で、対象の関数が
Promiseを返すかどうか気にする必要はない(>>591 参照)

awaitはPromiseのシンタックスシュガーなので、
機能や仕組みそのものは同じ。
書き方がシンプルになったというだけ

601 :Name_Not_Found:2018/11/16(金) 06:35:14.12 ID:???.net
>>599
async、awaitでPromise書かなくて良くなったのかと思ったら、
Promise.all的なことは、Promiseを直接使わないとできないのか

602 :Name_Not_Found:2018/11/16(金) 06:38:24.67 ID:???.net
>>601
配列管理すれば、Promise.allを使わずとも出来ると思うが

603 :Name_Not_Found:2018/11/16(金) 06:50:28.17 ID:???.net
Promise.allを自分で実装すればってことでしょ?

604 :Name_Not_Found:2018/11/16(金) 06:52:49.40 ID:???.net
>>603
そりゃ、そうだ
むしろ、お前は async, awaitを何だと思ってるんだ?

605 :Name_Not_Found:2018/11/16(金) 07:24:37.63 ID:???.net
>>604の「async、awaitでPromise書かなくて良くなったのかと思ったら」が答えなんだろうけど、その結論に至るまでの考えが全く書かれてないね

606 :Name_Not_Found:2018/11/16(金) 11:36:58.33 ID:???.net
難しすぎる…

var jqXHRList = [];
for (var i = 0; i < request.length; i++) {
jqXHRList.push($.ajax({
type: "POST",
contentType: "application/json",
url: request[i].url,
}));
}
$.when.apply($, jqXHRList).done(function () {
var userId = arguments[0][0];
}).fail(function (ex) {
alert("Ajax通信に失敗しました");
});

みたいなよくある並列通信は async await でわかりやすくかけるの?

607 :Name_Not_Found:2018/11/16(金) 12:27:02.65 ID:???.net
>>606
難しく感じるのはそれ以前の部分に問題があるんだよ
見なくていい部分は見なくて良いように関数にする
Ajaxオブジェクトを作ってるところなんか全体の流れからすりゃ見なくていいでしょ?

// 第一段階
var jqXHRList = [];
for (var i = 0; i < request.length; i++) {
 jqXHRList.push(createJqXHR(request[i]);
}

$.when.apply($, jqXHRList).done(function () {
 var userId = arguments[0][0];
}).fail(function (ex) {
 alert("Ajax通信に失敗しました");
});

function createJqXHR(request) {
 return $.ajax({
  type: "POST",
  contentType: "application/json",
  url: request.url,
 })
}

608 :Name_Not_Found:2018/11/16(金) 12:27:35.98 ID:???.net
// 第二段階(requestはrequestsに変更した)
var jqXHRList = requests.map(function(request) {
return createJqXHR(request);
});

// 別解 アロー関数を使った場合
var jqXHRList = requests.map(request => createJqXHR(request));


$.when.apply($, jqXHRList).done(function () {
 var userId = arguments[0][0];
}).fail(function (ex) {
 alert("Ajax通信に失敗しました");
});

609 :Name_Not_Found:2018/11/16(金) 12:37:21.03 ID:???.net
>>606
最近のjQueryはDOM操作ライブラリ回帰でajaxも互換性のために残してるけどメンテナンスモードだろ。slimビルドでは削除されてる。
無理に$.ajax使ってないで専用ライブラリ使いなよ。

610 :Name_Not_Found:2018/11/16(金) 15:23:35.10 ID:???.net
FetchのPolifill入れるぐらいなら
jQuery使うだろ

611 :Name_Not_Found:2018/11/16(金) 16:05:36.44 ID:???.net
Promise.all([f, g]) って
$.when.apply($, [f, g])
とおなじ?

どのメソッドが何かえすのかぜんぜんわからん

612 :Name_Not_Found:2018/11/16(金) 16:16:02.72 ID:???.net
>>610
fetchのポリフィルは俺も使わないよ。
俺はrequest-promise好きだがだいたいの人はaxiosかsuperagentじゃね

613 :Name_Not_Found:2018/11/16(金) 17:22:09.52 ID:???.net
>>607,608
余計難しくなった…

関数を返すとか登録するとかなしに sync await だけでかけないの?

614 :Name_Not_Found:2018/11/16(金) 17:37:36.34 ID:???.net
すみません
便乗で質問なのですが

const load(urls) {
const data = [];
for(let i = 0; i < urls.length; i++) {
$ajax(urls[i]).then((res) => {
data[i] = res;
}
}
return data;
}

data = load([...]);
console.log(data);

こんな感じで並列 ajax で取得したデータをメソッドの外で使うにはどうかいたらいいんでしょうか

615 :Name_Not_Found:2018/11/16(金) 17:50:23.82 ID:???.net
固定回数の並列ならメソッド登録なしでかけるけど
可変個のループで並列化するならどうやっても Deffered なり Promise なりでメソッド登録しなきゃかけないんじゃないかな

616 :Name_Not_Found:2018/11/16(金) 18:45:23.52 ID:???.net
その前に文法めちゃくちゃだな

617 :Name_Not_Found:2018/11/16(金) 20:35:17.02 ID:???.net
>>613
ちょっと待てよお前>>607,608なんてわざわざループでリクエスト作るとかアホじゃねってだけでasync/awaitに書き換えられてなんかねぇだろ
頭使えよ

618 :Name_Not_Found:2018/11/16(金) 21:23:56.17 ID:???.net
>>606が「難しすぎる」と思うなら、何を書いても「難しすぎる」と思うよ
一つ一つのコードは理解出来るけど、まとまると分からないなら読解力の問題
一つ一つのコードすら分からないなら勉強不足

619 :Name_Not_Found:2018/11/16(金) 23:34:49.13 ID:???.net
fork join を先に覚えてたから自分もなれるのに苦労したわ
要はおわったら次っていう関数を登録するってだけなんだけどね

620 :Name_Not_Found:2018/11/17(土) 01:05:52.42 ID:???.net
Promise はメソッドチェーンできる、jQuery Object と同じ。
fork・join は面倒

Vue.js をベースとしたフレームワークの、Nuxt.js では、
非同期処理に、axios を使っている

621 :Name_Not_Found:2018/11/17(土) 01:27:32.53 ID:???.net
とりあえずラフにfetch(というかpromise/async/await)で書いてみた

const requests = [/* request data */];
const promises = requests.map(request => fetch(
request.url,
{
method: "POST",
headers: ["Content-Type: application/json"],
},
));

try {
const responses = await Promise.all(promises);

responses.map(response => {
// something...
});
} catch (err) {
alert("非同期通信に失敗しました");
}

622 :Name_Not_Found:2018/11/17(土) 02:05:58.87 ID:???.net
こないだJSスレでfetchはIEで動かないからゴミうんぬんみたいな話題あったな

623 :Name_Not_Found:2018/11/17(土) 03:36:21.83 ID:???.net
IEを使っているやつは客じゃない
ライブラリを使って手間を減らすよりも100ミリ秒でも速いほうが重要。
客も遅くなるぐらいなら使えないほうがマシだろう

624 :Name_Not_Found:2018/11/17(土) 09:35:16.13 ID:???.net
官庁系のクライアントだといまだにIE+JSでオフってのがわりとあるんだよ

625 :Name_Not_Found:2018/11/17(土) 09:54:40.09 ID:???.net
官庁系

626 :Name_Not_Found:2018/11/17(土) 10:46:41.83 ID:???.net
日本国内ではIE対応は必須

627 :Name_Not_Found:2018/11/17(土) 12:32:19.56 ID:???.net
だからそういう輩は俺の客じゃない

628 :Name_Not_Found:2018/11/17(土) 12:38:09.63 ID:???.net
IE対応って、そんな変わったことしなければ文字くらい見れるだろ
そこをライブラリなんかでモダンブラウザと同様に動かそうとするやつはアホ
IE自体のパフォーマンスも低いし、マシンもそうである確率が高いんだから
俺はいつもそういうこと言う奴にはこの喩えをしてる

夏休み家族で海水浴とか登山に行きたいと思ったとき、
寝たきりのお爺さんも無理やり連れていって同じ体験させますか、と
写真見せるだけでも十分喜んでくれるのではないですか、と

直近ではTLS1.2の話もあるしIE11以外対応することはなくなった

629 :Name_Not_Found:2018/11/17(土) 13:06:00.54 ID:???.net
昔と違って新しいことができるようになったウェブで
20年前と変わらずHTMLでしこしこホームページを作るのは間抜け
そういうのはプロの仕事ではない

Canvasを使って3Dレンダリングしたり
WebAssemblyでゲームを作ろうとは思わないのか?

WebAssemblyはすでにモダンブラウザに搭載されている
新しい作品を作ろうという意欲のないやつは最先端からおいていかれるぞ
俺は今昔作った同人ゲームの移植をしている

630 :Name_Not_Found:2018/11/17(土) 13:13:54.05 ID:???.net
>>628
> 夏休み家族で海水浴とか登山に行きたいと思ったとき、
> 寝たきりのお爺さんも無理やり連れていって同じ体験させますか、と
> 写真見せるだけでも十分喜んでくれるのではないですか、と

お前は本人にそれで十分だって聞いたのか?
聞いたとしても遠慮してるかもしれないだろ

お前は寝たきりになったとき、少し頑張ればかわいい孫と海水浴や登山に一緒に行けるのに
赤の他人に「無理無理、写真見せて満足させとけ」と言われて納得するんか?

本当にお前は、自・分・勝・手 だな

最後まで人生を楽しむ

https://gendai.ismedia.jp/articles/-/45510
> 「この施設には40人ほどのお年寄りが暮らしています。8割以上が認知症を患っていますが、
> 寝たきりになっている人は一人もいません。自分の力で起き上がれない人でも、
> 毎朝必ずスタッフが手伝って車椅子に乗せます。そして食堂で一緒に食事を楽しむのです」

> 「ここでは、何より本人の意思が一番に尊重されます。散歩に出るのでも普通は誰かが付き添いますが、
> どうしても一人で散歩したいという人がいれば、家族の同意のもと、GPS付きの携帯を持たせて
> 出かけるのを許可します。それで本人が事故に遭ったとしてもあくまで自己責任なので、施設の責任が問われることはありません。

> もちろん、ベッドにしばりつけるようなこともありません。私たちが行うのは介護であって拷問ではないのですから。
> アルコールを飲みたいという人には、よほど健康上の理由がない限り、飲ませます。
> 最後まで人生を楽しめるように助けるのが、私たちの仕事なんです」(ヨハンソンさん)

631 :Name_Not_Found:2018/11/17(土) 13:30:36.08 ID:???.net
IE11もモダンブラウザだよ

632 :Name_Not_Found:2018/11/17(土) 13:51:24.97 ID:???.net
寝たきりは、寝たきりにすることでますます悪化するってことを知ってる人には、
>>628の説明は、何も響かないどころか逆効果だな

633 :Name_Not_Found:2018/11/17(土) 16:31:10.45 ID:???.net
「連れていきますけど?」

634 :Name_Not_Found:2018/11/17(土) 23:27:48.30 ID:???.net
IEに対応できないとか工数がかかるとか無能だって自白してるようなもん
IE使ってるようなクライアントこそ金払いもいいんだよな

635 :Name_Not_Found:2018/11/18(日) 09:13:11.91 ID:???.net
HTML内から外部jsの関数実行
または
2つの外部jsで、片方から片方の関数実行
はどうやるのでしょうか?

■HTML
<label><input type="checkbox" id="chk">チェック</label>
<p id="res"></p>

<script src="jquery-*.*.*.min.js"></script>
<script src="ex_js_1.js"></script>
<script> //※
$(function(){
 initChk();  //ReferenceError: initChk is not defined
});
</script>

-----
※またはここを↓としたい
<script src="ex_js_2.js"></script>

636 :Name_Not_Found:2018/11/18(日) 09:13:37.18 ID:???.net
■ex_js_1.js
$(function(){

$('#chk').click(function(){
 var t = '';
 ($(this).prop('checked')) ? t = 'A' : t = 'B';
 $('#res').text(t);
});

function initChk(){
 $('#chk').prop('checked', false);
 $('#res').text('初期');
}

//initChk(); //ここならエラーなし

});

■ex_js_2.js
$(function(){
 initChk();  //ReferenceError: initChk is not defined
});

637 :Name_Not_Found:2018/11/18(日) 09:20:37.10 ID:???.net
intChkは関数内で定義されてるから外からは見えないよ

638 :Name_Not_Found:2018/11/18(日) 10:14:53.50 ID:???.net
initChk = function(){
 $('#chk').prop('checked', false);
 $('#res').text('初期');
};

とvarなしならエラーなしでできましたがこれはしたくないです
何かいい方法ないでしょうか?

639 :Name_Not_Found:2018/11/18(日) 10:23:08.04 ID:???.net
>>635-636
IE11をサポートしなくて良いなら、
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import

640 :Name_Not_Found:2018/11/18(日) 10:43:35.17 ID:???.net
>>635
やり方はあるんだが、そんなことをするのが間違ってる気がする
それをまず聞きたいね

641 :Name_Not_Found:2018/11/18(日) 10:48:33.65 ID:???.net
>>636
https://mevius.5ch.net/test/read.cgi/hp/1533007852/871 でやって

642 :Name_Not_Found:2018/11/18(日) 11:45:08.29 ID:???.net
function 定義は $(function() からだせばいいだけじゃない

$(function() はJSがヘッダにかかれたときにDOMが生成されるより前に実行されると
$("#id") みたいに指定したものが存在しないから
HTML が生成しおわってから実行するためにつけるもので
function 定義自体はほかから呼ばれない限り即時定義して問題ない

なので他で使いたい関数定義義は $(function の外にだすのが普通
($(function の中でしか使わないプライベートメソッドはグローバル汚染しないために中におくこともある)

643 :640:2018/11/18(日) 12:33:14.23 ID:???.net
なんか質問者が俺の疑問に答える前に変な流れに
なりそうだから先に書いておくわ

モジュール間の依存性を高めることなく連携させたいなら
jQueryの機能のカスタムイベントを使えば良い

関数をグローバルに定義する必要も
importも使う必要もない

だがそもそも>>636のようなことをするのがおかしい

644 :Name_Not_Found:2018/11/18(日) 13:31:28.90 ID:???.net
>>641
すみません、後々jQueryがらみかなと

>>642
$(function()は理解してましたが中に書くほうがいい気がしまして
それが普通とあれば解決です
詳しくありがとう

よくわかりました

645 :Name_Not_Found:2018/11/18(日) 13:55:38.32 ID:???.net
スコープの勉強した方がいい

646 :Name_Not_Found:2018/11/18(日) 14:12:11.46 ID:???.net
>>645
その問題ではない

647 :Name_Not_Found:2018/11/18(日) 14:20:48.80 ID:???.net
>>646
どの問題?

648 :Name_Not_Found:2018/11/18(日) 14:27:31.48 ID:???.net
>>643を無視しているのが問題だろう

649 :Name_Not_Found:2018/11/18(日) 14:35:20.94 ID:???.net
>>648
関数内で定義された関数を外部から呼び出す方法を知りたいって質問に
そんなことするのは間違ってる、おかしいなんてのが答えになってるのかね
勝手に問題を変えちゃいかんだろう

650 :Name_Not_Found:2018/11/18(日) 14:38:49.17 ID:???.net
>>649
何いってんの? イベント使えばできるし
そもそもそんなことをする必要はないって話だろ

外部から呼び出すのが間違ってるんじゃなくて
その必要がないだろって話をしてる

651 :Name_Not_Found:2018/11/18(日) 14:39:29.51 ID:???.net
だいたい関数内で定義された関数を外部から呼び出す方法を知りたいって質問に
関数を外部に出せばいいっていうのは、勝手に問題を変えてることになる

652 :Name_Not_Found:2018/11/18(日) 14:44:24.92 ID:???.net
>>651
君はそんな回答してないじゃん
642はそういう回答しているが

653 :Name_Not_Found:2018/11/18(日) 14:48:45.75 ID:???.net
>>652
だから回答の前に、なんでそんなことをしたいのか聞いたんだが?
話の邪魔するなら消えろよ

モジュールの依存性を減らすには、グローバル関数に
しないほうが良いしそのやり方もある。
もっといいやり方があるんだが、そのためには
何故そうしたいのかの理由がわからないことには適切な答えは出せない

だめなやり方しか知らないなら、他人にとって害にしかならないから
答えないでくれないかな

654 :Name_Not_Found:2018/11/18(日) 14:51:05.23 ID:???.net
jQueryの機能のカスタムイベントと言っても
関数が外部ファイルで独自イベント起こす方がhtmlからじゃ
結局質問と同じことにならないか?

655 :Name_Not_Found:2018/11/18(日) 14:53:12.65 ID:???.net
ダメなやり方?普通じゃないのか
https://teratail.com/questions/13201

656 :Name_Not_Found:2018/11/18(日) 14:53:26.30 ID:???.net
>>653
635と636の質問内容から飛躍しすぎじゃないの?
スコープが分ってればそんな質問も出なかったと思ったんだけど?
何そんなに怒ってんのよ?

657 :Name_Not_Found:2018/11/18(日) 14:56:56.99 ID:???.net
怒ってないが? jQueryを使ったもっといいやり方があるから
その話をするじゃまをするなと言ってる

658 :Name_Not_Found:2018/11/18(日) 15:04:50.82 ID:???.net
いやスコープはわかってるが外は望ましくない(と思ってた)からいい方法ないか?
という話だぞ

なんでそんなことをしたいのかは聞かなければならないことなのか?
すでに答えてる人いるし

659 :Name_Not_Found:2018/11/18(日) 15:07:24.43 ID:???.net
>>658
スコープがわってたらあんな質問するわけねーじゃんw

660 :Name_Not_Found:2018/11/18(日) 15:09:45.39 ID:???.net
>>657
ならそれを書けばいいのに何もったいぶってるのかな
質問時点でコードも書かれてるのだからある程度意図はわかるだろうに

その点>>642はさすが、先ず解決に至ってる
別な方法はまたそれで示せばいい

661 :Name_Not_Found:2018/11/18(日) 15:13:00.57 ID:???.net
赤の他人がワーワー言った所でなんの役にも立たんわw

ただjQueryを使ったもっといい方法があるということだけはここに残しておこう
俺のレスを見てるはずなのに無視してるってことは、
何か(良からぬ)意図があってその話題をしてる可能性があるからな

662 :Name_Not_Found:2018/11/18(日) 15:26:26.38 ID:???.net
>>654無視は・・・

663 :Name_Not_Found:2018/11/18(日) 15:52:39.68 ID:???.net
>>640,643
今回はソースを全部質問者が用意してるんだからいとも何もかもソースよめばわかるだろ
だから単に回答をかいてあげればよかっただけなのに
上から目線で否定だけするならスレチだから消えてくれ

>>640でまずそれをききたいって何をききたいのかさっぱりわからんし
日本語不自由かよ

664 :Name_Not_Found:2018/11/18(日) 16:10:44.17 ID:???.net
質問者のソースの場合は initCheck が $('#chk') ってチェックボックスにからむイベントだから
>>638 でもいうようにグローバルにする必要はなく
「ここならエラーなし」の場所にかくほうがきれいだけど

それとは別に一般論として
「HTML内から外部jsの関数実行
または
2つの外部jsで、片方から片方の関数実行
はどうやるのでしょうか?」

に対しては >>642 と回答するしかない

665 :Name_Not_Found:2018/11/18(日) 16:20:43.19 ID:???.net
$(function() から出すという修正がOKなら
イベントを使ってやり取りするって手もあるだろ

666 :Name_Not_Found:2018/11/18(日) 16:34:55.13 ID:???.net
質問の意図を理解して順序立てて説明すればね
いきなり「そんなやり方間違ってるjQuery使え」ってアホかと

667 :Name_Not_Found:2018/11/18(日) 16:45:19.54 ID:???.net
>>665
ソースかいてやればいいのにそれだけいってもわかるわけ無いだろ
質問者のレベルにあわせて回答してやれよキチガイ

668 :Name_Not_Found:2018/11/18(日) 16:46:14.05 ID:???.net
だから質問者が来るのを待ってると言ってるんだが

669 :Name_Not_Found:2018/11/18(日) 16:47:31.20 ID:???.net
無視されてる時点であいてにされてないか理解できてないってのもわからにアスペ

670 :Name_Not_Found:2018/11/18(日) 16:50:33.53 ID:???.net
開発の会話をきいてるだけで中途半端な知識だけあってコードかいたことがない営業みたい

671 :Name_Not_Found:2018/11/18(日) 17:04:05.95 ID:???.net
chrome 拡張機能で jQuery を動かして
ブラウザゲームの特定の表示がでたらデータを抽出(とりあえず localStorage にでも保存)したいんですけど

$('#result').on('load', () => {
console.log("event start");
});

とかいてもなぜか実行されません
はじめから HTML にかかれてるわけじゃなく動的に生成されるHTM:Lだからな気がするんですが
#result って要素が動的に生成されたときに何かを実行するってどうかけばいいんでしょうか

672 :Name_Not_Found:2018/11/18(日) 17:16:04.75 ID:???.net
最初からある要素にデリゲート

673 :Name_Not_Found:2018/11/18(日) 17:37:31.20 ID:???.net
>>672
ありがとうございます

ttp://js.studio-kingdom.com/jquery/events/delegate
これでいいんでしょうか?

$("body").delegate(".enemy_info", "load", () => {
console.log("enemy_info");
});

とかいても実行されないです
chorome の要素には確かに

<div class="enemy-info">

が存在してるんですが load イベントを起こさずにHTMLを生成することができるんでしょうか
それとも deligate対象は body だとダメなのでしょうか

674 :Name_Not_Found:2018/11/18(日) 17:49:18.43 ID:???.net
>>672
んー delegate の説明を読むと
デフォルトで $document だったものの範囲を制限できるってだけで
別に後から生成されたものにイベントがセットできるだけではない気がするのですが…
本当に delegate だけで load されるようになるんでしょうか…

675 :Name_Not_Found:2018/11/18(日) 17:51:05.58 ID:???.net
要素タブは現在のDOM構造だからソースタブで最初からあるかどうか見なよ。
あとメソッド名はonのままでいいよ。delegateの機能はonに集約された。

676 :Name_Not_Found:2018/11/18(日) 17:59:51.15 ID:???.net
>>671,673-674
delegate 案内している人のそれはミスリードだから無視しなさい
要素ノードが生成されても、loadイベントなど発生しないし、loadイベントはバブリングしない
彼が勝手に誤解しているだけだから参考には値しない

君が必要としているのは、MutationObserver
https://developer.mozilla.org/ja/docs/Web/API/MutationObserver

677 :Name_Not_Found:2018/11/18(日) 20:09:40.45 ID:???.net
jQueryでできないの?

678 :Name_Not_Found:2018/11/18(日) 20:11:45.45 ID:???.net
>>677
Chrome拡張機能でjQueryに拘る理由ある?

679 :Name_Not_Found:2018/11/18(日) 20:13:56.25 ID:???.net
出来ないってことですね分かりました。

680 :Name_Not_Found:2018/11/18(日) 20:15:41.87 ID:???.net
こういう思い込みが激しいところが学習が進まない理由なんだろうな

681 :Name_Not_Found:2018/11/18(日) 20:21:28.75 ID:???.net
他所で「jQueryにはMutationObserverがないと聞いたのですが」で質問するタイプっぽい

682 :Name_Not_Found:2018/11/18(日) 20:44:33.94 ID:???.net
>>681
そこでjQueryでの書き方を教えて貰って、「もう5chは信用しません」と憤慨するところまで読めた

683 :Name_Not_Found:2018/11/18(日) 21:36:49.33 ID:???.net
>>676
いろいろ試したけどうまく動かない

サンプルコードほぼそのままで外側の content とか warapper とか動かなさそうなのあったので
指定してもダメで document ぜんたいにしてもダメなんですよね
直下の要素が変化したときしかイベントはとんでこないんでしょうか
chrome 開発ツール眺めてるとアニメーションごとに DOM ころころかわって(紫色になる)んですが…

target がまだ生成されてないせいかと思って $(() => {}) でかこってみたりもしたけど
1回も console.log にとんでこない…

$(() => {
const target = document;

// オブザーバインスタンスを作成
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
console.log(mutation.type);
});
});

// オブザーバの設定
const config = { attributes: true, childList: true, characterData: true };

// 対象ノードとオブザーバの設定を渡す
observer.observe(target, config);

// 後ほど、監視を中止
observer.disconnect();
});

684 :Name_Not_Found:2018/11/18(日) 21:40:13.90 ID:???.net
ついでに質問なんですけど javascript って slepp みたいなのないんでしょうか

>>676 のページの情報だけだとイベントで取得するのは自分には無理そうなので
setTimer 使ってよむのを遅らせれば enemy-info のDOMがとれるので
1 秒おきぐらいにループで DOM をみはって情報を得ようかなとも考えてるところです

685 :Name_Not_Found:2018/11/18(日) 22:20:00.09 ID:???.net
サンプル通りにobserveしたすぐ後にdisconnectしちゃったら監視も糞もないし
childList: trueだけではtargetに対して追加されたものだけを監視するのでsubtree: trueも必要

あとありがちなMutationObserverのハマリどころとしては
先にdocument fragmentを作ってからDOMツリーに追加されてる場合はMutationRecord.addedNodesには直にDOMツリーに追加した頭の要素のみが列挙される点

686 :Name_Not_Found:2018/11/18(日) 22:27:32.87 ID:???.net
あ subtree は true にしてました
かきわすれです

>サンプル通りにobserveしたすぐ後にdisconnectしちゃったら監視も糞もない
なるほど!
天才です!
動きました!!!

687 :Name_Not_Found:2018/11/18(日) 22:35:14.87 ID:???.net
コードをコピペするだけで説明は全く読んでないだろ
質問しても、アドバイス通りに対応するだけで中身を理解しようとしないから、そうなるんだ…

688 :Name_Not_Found:2018/11/18(日) 22:37:53.83 ID:???.net
すいません…

とりあえず一言動いてくれたらそれから
オプションいろいろ変更してみて使い方おぼて行きたかったんですけど
1回も動かなかったので…

サンプルコードに終了コードはコメントアウトしててほしかった…
まずはコピペで動く状態にしてほしくないですか?

689 :Name_Not_Found:2018/11/18(日) 22:47:04.13 ID:???.net
>>688
キミ、ちょっとは遠慮したまえ

690 :Name_Not_Found:2018/11/18(日) 23:42:22.49 ID:???.net
>>688
>>676のリンク先にdisconnect()の説明が載ってるから、それで分かるだろ
説明を読みたがらないコピペプログラマの自己勝手な都合にしか見えんぞ

691 :Name_Not_Found:2018/11/18(日) 23:46:00.67 ID:???.net
>>684
const sleep = time => new Promise(resolve => {
setTimeout(resolve, time);
});

console.log('4秒後にうんこと叫びたい…');
await sleep(4000);
console.log('うんこ!!');

692 :Name_Not_Found:2018/11/19(月) 01:52:38.68 ID:???.net
>>691
Promiseの無駄遣い

693 :Name_Not_Found:2018/11/19(月) 03:01:21.11 ID:???.net
Ruby で、Nokogiri, Selenium WebDriver で、ブラウザを自動操作しているけど、
たぶん、その要素が現れるまで待つこともできる

タイムアウトも設定できる

694 :Name_Not_Found:2018/11/19(月) 09:14:57.70 ID:???.net
SeleniumはJava製。
公式ドライバーもJava
コミュニティ製の各言語バイントはRubyのドライバーよりNodeのドライバーのほうがよくメンテされている。

まあNodeならSeleniumなんて列車砲持ち出さなくてもPupetteerでらくらく家財宅急便だけとなwww

しかし↓の記事読むとRubyもやるじゃんと思ってしまった。

世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/

695 :Name_Not_Found:2018/11/19(月) 10:29:01.09 ID:IhOqOzLs.net
質問です
text()で取得した内容を判断して処理したいのですが
濁点、半濁点等が入っていると上手く動きません

よろしければご教授下さい。

html

<p id="hoge">ガギグゲゴ</p>

script

hogegoge = $('#hoge').text();
if(hogegog == ガギグゲゴ){
 処理 ←ここの処理に行かない
}else{
 処理 ←こっちらが処理される
}

696 :Name_Not_Found:2018/11/19(月) 10:31:22.79 ID:IhOqOzLs.net
>>695です
先のはスプリクト間違いです
実際はこちらのスプリクトです。

html

<p id="hoge">ガギグゲゴ</p>

script

hogehoge = $('#hoge').text();
if(hogehoge == ガギグゲゴ){
 処理 ←ここの処理に行かない
}else{
 処理 ←こっちらが処理される
}

697 :Name_Not_Found:2018/11/19(月) 10:41:06.95 ID:???.net
「ガギグゲゴ」は本当に「ガギグゲゴ」なんでしょうか?

698 :Name_Not_Found:2018/11/19(月) 10:54:23.10 ID:???.net
'ガギグゲゴ' 又は
"ガギグゲゴ" 又は
`ガギグゲゴ`

699 :Name_Not_Found:2018/11/19(月) 11:03:14.90 ID:???.net
>>695
ここに動かないというコードを書け
https://jsfiddle.net/

700 :Name_Not_Found:2018/11/19(月) 11:04:32.00 ID:IhOqOzLs.net
>>697 「ガギグゲゴ」は本当に「ガギグゲゴ」なんでしょうか?
とはどういうことでしょうか?

>>698
ガギグゲゴ部分は囲ってありました
すいません。
if(hogehoge == 'ガギグゲゴ'){

701 :Name_Not_Found:2018/11/19(月) 11:19:14.04 ID:???.net
ガギグゲゴの前後に空白文字が入ってる
「ガ」ではなくて「カ」+濁点だった

702 :Name_Not_Found:2018/11/19(月) 11:26:21.55 ID:IhOqOzLs.net
>>701
濁点が分離していました。
エディターが勝手にまとめていたみたいです。
ありがとうございました。

703 :Name_Not_Found:2018/11/19(月) 23:11:21.77 ID:???.net
>>664
jQueryの人勘違いしてたっぽいな
今度はphp使ってと言い出してる

704 :Name_Not_Found:2018/11/19(月) 23:38:56.07 ID:???.net
だから探ってたんだろ
答えもせず否定から入って不自然だった

705 :Name_Not_Found:2018/11/20(火) 00:39:27.63 ID:???.net
>>703
誰と勘違いしてるんだ?
俺はPHPの話なんかしてねぇよ

706 :Name_Not_Found:2018/11/20(火) 01:47:36.72 ID:???.net
>>695-702
結合文字列は「カ」+濁点で、合成文字は「ガ」

Mac だけは、デフォルトで結合文字列なので要注意!

707 :Name_Not_Found:2018/11/20(火) 02:27:40.98 ID:???.net
NFDの独自拡張とかいう聳え立つクソ

708 :Name_Not_Found:2018/11/20(火) 06:30:04.82 ID:???.net
文字列の比較はtrimなどをした後normalize関数を通すのが常識
横着してそのまま比較しちゃそりゃうまくいかないよ

709 :Name_Not_Found:2018/11/20(火) 06:46:22.53 ID:???.net
それだと違う文字に一致するだろ

710 :Name_Not_Found:2018/11/20(火) 10:09:12.45 ID:???.net
常識w

711 :Name_Not_Found:2018/11/20(火) 11:11:15.27 ID:???.net
違う文字と一致しないといけないってケースじゃん

712 :Name_Not_Found:2018/11/20(火) 12:44:25.43 ID:???.net
ものすごい忖度だな

713 :Name_Not_Found:2018/11/20(火) 23:09:11.21 ID:???.net
日中韓でnormalize すると、別の文字に変わるものがあるから、危険と聞いたが?

714 :713:2018/11/20(火) 23:10:46.49 ID:???.net
異字体・旧字体とか

715 :Name_Not_Found:2018/11/20(火) 23:23:52.07 ID:???.net
おまえら常識を疑うつもりか!!

716 :Name_Not_Found:2018/11/20(火) 23:41:06.59 ID:???.net
常識を疑え

717 :Name_Not_Found:2018/11/20(火) 23:43:29.87 ID:???.net
バカの常識世間の非常識

718 :Name_Not_Found:2018/11/21(水) 07:05:43.14 ID:???.net
ここまで結合文字列の注意対策方法バカ以外に無し

719 :Name_Not_Found:2018/11/25(日) 09:00:45.84 ID:???.net
if( str.match() )とかで指定文字列があるかどうかを確かめてからそれをreplace()するのって意味ないですか?
文字列を2回探させるぶんムダな処理をさせてしまうことになる…?
それなら最初からreplace()だけのほうがいいですか?

720 :Name_Not_Found:2018/11/25(日) 10:12:55.38 ID:???.net
>>719
はい

721 :Name_Not_Found:2018/11/25(日) 11:12:50.08 ID:???.net
世の中無駄な処理ばかりだからどっちでもいい
他人に無駄と言われようがどうせソースなんか見ない
そんなことより何かを実現させるほうを先にやるんだ
バグなんかどんなアプリにも存在する
世界はクソコードで動いている

722 :Name_Not_Found:2018/11/25(日) 12:14:43.81 ID:???.net
大抵の場合、書いたコードを見るのは自分自身なんだ
そのためにできるだけメンテしやすく書いておくだけなんだよ

723 :Name_Not_Found:2018/11/26(月) 06:49:21.87 ID:???.net
実際のところメンテナンスのしやすさは簡単な話ではない。
極力シンプルなほうが良いのか、思考したままの情報が多い方が良いのか。
そういうことを考えることが時間の無駄。
自然と思いつくまま書くのが最も生産性が高い。
あえてメンテナンスしにくいように書くやつはいないから、
それでも自分にとっては十分なコードになる。

724 :Name_Not_Found:2018/11/26(月) 08:49:17.73 ID:???.net
自分自身も変わり続けるからねぇ

725 :Name_Not_Found:2018/11/26(月) 09:04:55.70 ID:???.net
自分のことだけなら、何も考える必要はないだろうな

726 :Name_Not_Found:2018/11/26(月) 11:07:38.93 ID:???.net
>>723
そこにコードがあるからメンテナンスしなきゃいけないんだよ。
コードがなければ(少なければ)メンテナンスするものも少なくなる

それだけははっきりしてるんだから
書き方でどうこう言う前に、まず書くコードを減らすこと優先すれば良い

727 :Name_Not_Found:2018/11/26(月) 19:17:21.27 ID:???.net
3ヶ月前の自分の書いたコード見てぶん殴りたくなる事もある

728 :Name_Not_Found:2018/11/26(月) 19:18:59.35 ID:???.net
それだけ成長してるってことやね
期間置いてもスムーズにコードを書けるなら、それはよくやったと自分をhomeてあげていいと思う

729 :Name_Not_Found:2018/11/26(月) 19:19:11.91 ID:???.net
なんだこの変換は

730 :Name_Not_Found:2018/11/26(月) 21:26:36.48 ID:iXoFbA7t.net
どうにも解決できなくて困っております( ;´Д`)エロい人お願いします。
Animate.cssを実行するJクエリ、たとえばwaypointsやScrollTriggerなどで作成したスクロールで可視範囲になってから動くアニメーションがmacOSのSafariだけで動かなかったり、動いても目的のアニメーションが実現しないのはなぜですか。他のブラウザはOKなのに

731 :Name_Not_Found:2018/11/26(月) 21:33:41.82 ID:???.net
Safariはクソだからなあ

732 :Name_Not_Found:2018/11/26(月) 21:36:26.50 ID:???.net
safari css のサジェストが酷いな
反映されない、崩れる、バグなどお祭り状態だ

733 :Name_Not_Found:2018/11/27(火) 01:28:48.20 ID:???.net
漏れは、WEB+DB 106号に載っている、web-animations-js というポリフィルを使ってみたけど、
Edge では対応していなかった

Safari でも動くのは、Technology Preview 版だけかも

734 :Name_Not_Found:2018/12/01(土) 10:10:00.92 ID:???.net
無名関数の
funciton(){}
が長いので
f(){}
みたいに書ければと思ったのですが、

f = funciton();

のようなことはできますか?

735 :Name_Not_Found:2018/12/01(土) 16:42:11.11 ID:???.net
それは出来ない。
()=>{}
とか
_=>{}
とかで我慢できんか?

736 :Name_Not_Found:2018/12/01(土) 17:11:28.57 ID:???.net
言語宗教脳があると辛いらしい

737 :Name_Not_Found:2018/12/01(土) 17:16:41.61 ID:???.net
https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h

これと同じ臭いがする

738 :Name_Not_Found:2018/12/01(土) 17:29:39.32 ID:???.net
>>735
こんな書き方があったのですね、ありがとうございます

即時関数にするとこうですね
(()=>{
alert('aaa');
})()
気持ち悪いですね

739 :Name_Not_Found:2018/12/01(土) 17:45:57.80 ID:???.net
>>737
そんな怪しいurl踏むかよ

740 :Name_Not_Found:2018/12/01(土) 17:52:16.85 ID:???.net
いまどき即時関数とか使う場面なくないか?

741 :Name_Not_Found:2018/12/01(土) 17:54:56.14 ID:???.net
少なくともアロー関数で即時関数はやる場面ないな

742 :Name_Not_Found:2018/12/01(土) 18:26:13.75 ID:???.net
アロー関数使えるってことはletやconst使えるってことだもんな…

743 :Name_Not_Found:2018/12/01(土) 18:40:10.02 ID:???.net
>>739
tuhs.orgが怪しいとか草生えますよ

744 :Name_Not_Found:2018/12/01(土) 18:43:52.94 ID:???.net
あれスラッシュって2つ続けても問題なく解決できるのか

745 :Name_Not_Found:2018/12/01(土) 19:01:51.05 ID:???.net
みんな当たり前のようにanguler, react, vue使えるもんなの?

746 :Name_Not_Found:2018/12/01(土) 20:10:24.31 ID:???.net
テーブルって真横の値(とあるtdの一つ前or次のtd)は簡単に取得できるけど
真上や真下の値は簡単に取得する方法ある?

747 :Name_Not_Found:2018/12/01(土) 20:41:14.67 ID:???.net
>>746
多分、無い
ライブラリとかもなさそう
地味に数えていくしかないみたいだね
https://qiita.com/PianoScoreJP/items/be721f1b06745c2bbc39

748 :737:2018/12/01(土) 21:02:33.71 ID:???.net
Bourne ShellのソースだとURLから分かって貰えない悲しみ

749 :Name_Not_Found:2018/12/02(日) 13:33:58.34 ID:???.net
>>746
とあるセルの周囲のセルが1つとは限らないだろう
そこはどうするつもりなんだ?

750 :Name_Not_Found:2018/12/02(日) 17:33:26.45 ID:???.net
react超めんどくさい……

751 :Name_Not_Found:2018/12/02(日) 17:36:14.87 ID:???.net
reactとreduxでログインページ作るのに20ファイルも必要とかww
はぁ

752 :Name_Not_Found:2018/12/02(日) 17:44:03.21 ID:???.net
>>749
俺のテーブルは限るんだよ

753 :Name_Not_Found:2018/12/03(月) 08:34:07.68 ID:???.net
>>751
な?バカみたいだろ?
reactとか、JavaScriptに完全に依存したサイトで
すでにJavaScriptファイルが数十個作られています
みたいな状況を解決するものであって、
HTMLメインのサイトではただ面倒になるだけなんだよ

754 :Name_Not_Found:2018/12/03(月) 09:15:44.56 ID:???.net
それは当たり前だろ。
必要の無いものを無理に使っては絶対にダメ。
js無しで済むならそれが一番軽いし速いんだから。

755 :Name_Not_Found:2018/12/03(月) 16:56:41.41 ID:???.net
>>753
jsファイルが数十個なんてサイトは作り直しだな
あとhtmlメインサイトをこのスレで出しても無意味

756 :Name_Not_Found:2018/12/03(月) 21:13:29.74 ID:???.net
Extensible Web、Module、HTTP2的には数十個あっても正しい

757 :Name_Not_Found:2018/12/04(火) 00:14:18.31 ID:???.net
>>755
無意味ではないね。HTMLメインのサイトで使うのが
JavaScriptの一番多いユースケースだから

758 :Name_Not_Found:2018/12/04(火) 02:23:45.91 ID:???.net
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常

759 :Name_Not_Found:2018/12/04(火) 07:05:54.25 ID:???.net
1モジュール1000行未満で切り分けていけば
そこそこのWebアプリなら数十モジュールくらいいく
おかしくはない

760 :Name_Not_Found:2018/12/04(火) 08:42:08.39 ID:???.net
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常

761 :Name_Not_Found:2018/12/04(火) 12:40:46.32 ID:???.net
まとめない状態の話に決まってるだろ

762 :Name_Not_Found:2018/12/04(火) 12:45:02.91 ID:???.net
普通バンドルまとめるだろ
共通部分別にするにしても数十個とか異常

763 :Name_Not_Found:2018/12/04(火) 16:44:38.90 ID:???.net
>>762
なんでバンドルにまとめるの?
まとめなかったらどんな問題があるの?

764 :Name_Not_Found:2018/12/04(火) 17:18:57.69 ID:???.net
お客様にお待ちいただくことになる
しかしそんなお客様もキャッシュを持ってるから普段は気づかない
要は開発者の傲慢
傲慢を客に押し付けて

「ドヤ!ロードはええだろ!バンドラー使ってるんだぜ!」

たったのこれだけ

765 :Name_Not_Found:2018/12/04(火) 17:35:13.93 ID:???.net
まとめると単純にはやくなるわけでもないがな

766 :Name_Not_Found:2018/12/04(火) 18:59:58.46 ID:???.net
そうだよね? 2個ぐらいならバンドルにまとめなくても十分早いよね

767 :Name_Not_Found:2018/12/04(火) 19:06:51.38 ID:???.net
数十個とか異常

768 :Name_Not_Found:2018/12/04(火) 19:07:50.32 ID:???.net
何個ぐらいからバンドルにまとめるの?

769 :Name_Not_Found:2018/12/04(火) 19:15:12.39 ID:???.net
チン個

770 :Name_Not_Found:2018/12/04(火) 19:35:15.30 ID:/YGc9PoV.net
jQueryに依存しているjsファイルで質問です
htmlのパースを邪魔しないようにjsファイルをどうにかしたいと思います
・document.ready()でscript要素のDOM生成
・bodyの最後に書く
どちらが良いでしょうか

asyncとdeferは前後しまくってバグりまくって手がつけられなかったです

771 :Name_Not_Found:2018/12/04(火) 20:49:50.53 ID:???.net
纏めないほうが必要になった時点でモジュールを遅延ロードとかもできるし明らかに早い

772 :Name_Not_Found:2018/12/04(火) 21:03:05.08 ID:???.net
○ん個

773 :Name_Not_Found:2018/12/04(火) 23:57:24.98 ID:???.net
body の最後に書けば?

774 :Name_Not_Found:2018/12/05(水) 01:35:52.65 ID:WC+ojC43.net
質問させてください

<input type="file">
<div id="hoge" style="display:none;">
HOGE
<input type="button id="piyo">
</div>

上記のソースコードで
ファイル選択時にHOGEの枠を表示したい
piyoクリックでHOGEを非表示したいです
よろしくお願いします

775 :Name_Not_Found:2018/12/05(水) 15:27:39.04 ID:???.net
<input type="file">
https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input/file

表示・非表示は、display・visibility プロパティの2通りがある

jQuery で作ったけど、ボタンを押すと、テキストとボタンも消えてしまうから、
ボタンは、div の外に作らないといけない

<body>
<label for="file1" style="display:block;">選択して</label>
<input type="file" id="file1" name="file1">

<div id="btn1_wrapper" style="display:none;">あいう
<button id="btn1">押して</button>
</div>

<script type="text/javascript" src="../jQuery/jquery-3.1.0.js"></script>
<script>
$( '#file1' ).change ( function( ) {
$( "#btn1_wrapper" ).css( "display", "block" );
} );

$( '#btn1' ).click ( function( ) {
$( "#btn1_wrapper" ).text( "" ); // 空文字列を設定する
} );
</script>
</body>

776 :774:2018/12/05(水) 16:34:56.55 ID:WC+ojC43.net
>>775
ありがとうございます
しかしながら「押して」ボタンは1度使うともう2度目は使えないですか?

777 :Name_Not_Found:2018/12/05(水) 18:10:15.93 ID:???.net
作るなら完璧なものを作れよ

778 :775:2018/12/05(水) 18:44:00.35 ID:???.net
ボタンを、div の外に出してみれば?

divの中に入っていると、div内のテキストを上書きすると、ボタンも削除されてしまうから、
この構造を変えるしかない

779 :775:2018/12/05(水) 18:53:41.80 ID:???.net
ここを、display none に修正して

>$( "#btn1_wrapper" ).text( "" ); // 空文字列を設定する
$( "#btn1_wrapper" ).css( "display", "none" );

ただし、同じファイルを選択しても、change イベントが発生しないから、
フォルダ内に、ファイルが1つしかない場合に困るかも

780 :Name_Not_Found:2018/12/05(水) 20:00:32.54 ID:???.net
>>773
やっぱりbodyの最後が一番ですよね
headから出っるのが気持ち悪いですが、我慢します

今後はjqueryなども全てbodyの終了直前に書くようにします
ありがとうございました

781 :774:2018/12/05(水) 21:03:20.03 ID:WC+ojC43.net
>>779
うおおお!ありがとうございます!完璧です!
感謝!

782 :775:2018/12/06(木) 13:47:37.31 ID:???.net
<button type="submit" disabled>

本当は、ボタンも消すと言うよりも、
disabled で有効・無効を切り替えたいだけじゃないの?

ボタンが消えるというのは、奇妙な振る舞い

jQueryでフォームのボタンを有効・無効にする
https://uxmilk.jp/40456

783 :Name_Not_Found:2018/12/07(金) 06:47:11.77 ID:???.net
ユーザーサポート歴の長い俺から言わせてもらうと
「一度きちんとボタンが押されたから二度押し防止のためにボタンが無効化されてるんだ」
なんて理解できる一般人はよっぽど精通した人だけ
反応がないとあちこち触って投稿中に別のページに遷移したりする人もいる

だからアニメーション画像と共に投稿中であることを表示して
時間がかかっているようなら更にその旨を表示する
完了するまで触るなと表示する
そのくらいはしないと一般人相手には厳しい

784 :775:2018/12/07(金) 11:19:24.42 ID:???.net
jQuery UI のモーダル画面のようなものが出て、
ボタンを押したら「押しました」と確認画面が出るようなものが、

うっとおしいけど、わかりやすいのかも

785 :Name_Not_Found:2018/12/07(金) 19:26:29.63 ID:???.net
jQueryのバージョンは幾つにしていますか?
wordpressは1.12なのですが、これを使えば良いのでしょうか

786 :Name_Not_Found:2018/12/07(金) 21:03:07.61 ID:???.net
そんなの自分で決めれよ
なんで他人に決めてもらわなきゃ何もできないんだ?

787 :Name_Not_Found:2018/12/07(金) 21:44:41.94 ID:???.net
>>786
何をイカってるんだ?
失敗談や地雷バージョンを聞いて避ける事が出来るなら、
それに越したことはないだろう

>>785
それで動くならそれで良い
wordpressなら差分のmigrateも入るからバージョンによる差異は起こりにくい
コードを書く時はno.conflictを外さずに
jQuery(function($){ 〜
に書くこと

もし何かプラグインやライブラリが動かないならjQuery3.x入れれば良い

788 :Name_Not_Found:2018/12/07(金) 21:52:20.16 ID:???.net
>>787
ありがとうございます!
migrateって?なんですか!?
下のコードもよくわからないのでもっと詳しく教えてください

789 :Name_Not_Found:2018/12/07(金) 22:00:26.70 ID:???.net
>>788
>migrate
jQuery1.xと3.xの差を埋める差分

>下のコード
そのままだと$が使えない
・WordPress標準のjQueryを使う場合の書き方
http://primarytext.jp/blog/1298

$()使わずにjQuery()使うならキにしなくてもいいけどね

790 :Name_Not_Found:2018/12/07(金) 22:18:24.74 ID:???.net
>>789
差ってどんな差がありますか?
2.xじゃだめでしょうか?
あとリンクありがたいのですが難しいのでもっと初心者にわかりやすいリンクくれると助かります…

791 :Name_Not_Found:2018/12/07(金) 23:22:51.51 ID:???.net
>>790
1→3は色々と軽量化、追加・削除された関数等がある
https://qiita.com/fmy/items/345a264a1cf2e2a73f62
1+migrateで3相応の機能になる

2は忘れた。無条件に使わなくて良いバージョンという認識しかない
知りたければ「jquery バージョン 差異」辺りで検索

>あとリンクありがたいのですが難しいのでもっと初心者にわかりやすいリンク
「wordpress jquery $ is not a function」
で検索してくれ

792 :Name_Not_Found:2018/12/08(土) 00:31:37.68 ID:???.net
2.x系は最新ブラウザだけに対応すれば良い場合に
古いブラウザの対応を切り捨てたものとして作られたが
結局需要がなくて3.x系で一本化された

793 :Name_Not_Found:2018/12/08(土) 00:35:39.29 ID:???.net
>>791
> 1+migrateで3相応の機能になる

逆、3+migrateで、1との互換性が完璧になる
基本的に1系と3系には高い互換性があるが、3は1の時代では必要だったが
今は不要な機能などが削除されてたり機能強化に伴う仕様変更などがある
そういったものを復活させるもの

3系に置き換えて動かなくなったものがあればmigrateを使用して
古いコードを置き換えていくことで、3系に完全対応させる

794 :Name_Not_Found:2018/12/08(土) 00:40:09.41 ID:???.net
>>793
スマン、完全に間違ってた
ずーっと間違ってたわ・・・

795 :Name_Not_Found:2018/12/08(土) 00:41:06.59 ID:???.net
migrate入れてるけどなんか動かないなぁ、まぁ互換性100%ってわけでもないしって諦めてた
オワタ

796 :Name_Not_Found:2018/12/08(土) 09:32:16.26 ID:???.net
普通に使うなら3でいいのかな?

ajax使わないならその部分削除するとすっごい軽くなると聞いたけど名前が思い出せない
vueと合わせて使ってみたい

797 :Name_Not_Found:2018/12/08(土) 09:52:00.79 ID:???.net
3でいいよ
ライブラリ複数入れるのはオススメしない。何かあったら超ハマるぞ

798 :Name_Not_Found:2018/12/08(土) 10:21:05.18 ID:???.net
ハマるのは困る…

799 :Name_Not_Found:2018/12/08(土) 11:18:58.91 ID:???.net
vueとかサイト全体をJavaScriptフレームワークに
置き換えるのが前提のものを使うのは大変すぎるだけ

800 :Name_Not_Found:2018/12/08(土) 11:43:55.19 ID:???.net
バックエンドフレームワークとフロントエンドフレームワークの二重管理になるから
中規模以上のサイトになると両方メンテしないといけなくなる

何か新たにデータを取得して表示させるだけなのに、バックエンドとフロントエンド両方対応しないといけない
しかも整合性合うように

バックエンドでデータは更新されているのにフロントエンドで保持しているデータが更新されていませんでしたとかよくある

801 :Name_Not_Found:2018/12/08(土) 19:54:31.64 ID:???.net
Vue.js, Nuxt.js では、axios, Lodash を使う

802 :Name_Not_Found:2018/12/15(土) 16:54:44.67 ID:qZsVzFRV.net
bodyではなく何かoverflow-y:scrollがかかっているブロックの中で、目的の要素を頭出ししたいのですが

<article style="overflow-y:scroll height:500px;">
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
<section style="height: 300px;"></section>
</article>

const $section = $('article').children().eq(3);
const top = $section.offset().top;
$('article').scrollTop( top );

ではどうもズレるようです
というかブロックの中身がいくつであってもtopの値が変わらないですね
こういう場合、何を使えばいいのでしょうか
$section.prevAll().each()で.outerHeight(true)を合計するくらいしか思い浮かばないですが…

803 :Name_Not_Found:2018/12/16(日) 19:38:55.09 ID:???.net
Canvasでやれ

804 :802:2018/12/17(月) 06:00:33.86 ID:fM9YUXj7.net
$section.get(0).scrollIntoView(true)でいけました
こんなのあったんだ… 実験的な機能らしいけど

>>803
マジですか?

805 :Name_Not_Found:2018/12/19(水) 18:20:49.74 ID:???.net
クリックする度に、HTMLの要素(DIVでもよい)のdisplayをオン・オフ切り替える関数ってどうすれば良いんですか?

806 :Name_Not_Found:2018/12/19(水) 18:40:37.44 ID:???.net
その関数が必要なら使えば良いんじゃないですか?

807 :Name_Not_Found:2018/12/19(水) 18:56:11.91 ID:???.net
聞き方が悪かった

どうやって作ったら良いですか

808 :Name_Not_Found:2018/12/19(水) 19:14:19.40 ID:???.net
$(function() {
$('.switch').click(function(e) {
$('.popup').show();
});
});

だと、クリックしたら1度表示されてそれっきりじゃないですか。
もう1度クリックしたら非表示、
そこから更にクリックしたら表示
ってしたいのですが

809 :Name_Not_Found:2018/12/19(水) 19:17:12.89 ID:???.net
html
<div id="chinko">うんこ<div>
<button id="chikubi" type="button">まんこ</button>


css
.minaide {display: none;}

js
function hadakaodori() {
$('#chinko').toggleClass('minaide');
}
$('#chikubi').on('click', hadakaodori);

810 :Name_Not_Found:2018/12/19(水) 19:21:35.01 ID:???.net
>>808
非表示のものをどうやってクリックするんだ

811 :Name_Not_Found:2018/12/19(水) 19:27:37.16 ID:???.net
心眼で

812 :Name_Not_Found:2018/12/19(水) 19:30:41.23 ID:???.net
トグルメソッドでいけますね
解決しました

813 :Name_Not_Found:2018/12/19(水) 19:31:33.95 ID:???.net
>>809
ご協力どうもです

814 :Name_Not_Found:2018/12/19(水) 20:21:21.35 ID:???.net
再質問ですが、

そのクリックで表示・非表示の切り替えをして、同時にマウスホバーでも表示・非表示をやり、
それらが矛盾無く正しく動作するような関数ってどう作ればよいでしょうか?

815 :Name_Not_Found:2018/12/19(水) 20:21:52.24 ID:???.net
私は、ホバーのケースはCSSで、クリックのケースはJSでと分けてしまったせいか、おかしな動きになってしまいます

816 :Name_Not_Found:2018/12/19(水) 21:28:39.42 ID:???.net
マウスホバーで消えるの?なにその嫌がらせ要素

817 :Name_Not_Found:2018/12/19(水) 23:53:15.33 ID:???.net
状態(共有)変数が必要で、それを通して更新する

クリック → 変数 ← ホバー

818 :Name_Not_Found:2018/12/20(木) 00:00:17.54 ID:???.net
共有変数として、

$('.switch').checked = false;

こんな感じにしてやろうとしたんですが、上手く行きませんね

.switch っていうのは、オンオフを切り替えるスイッチ役の要素(クラス)です
ウェブページを開いた直後はページ内の全てのスイッチ役の要素はスイッチオフなのでfalseを設定してます。

819 :Name_Not_Found:2018/12/20(木) 00:00:55.88 ID:???.net
$(function(){
$('.switch').checked = false;
$('.switch').click(function(e){
if($(this).checked = !$(this).checked){
$(this).next('.popup').css({'display':'inline'});
}else{
$(this).next('.popup').css({'display':'none'});
}
});
$('.switch').hover(function(e){
$(this).next('.popup').css({'display':'inline'});
},function(e){
if(!$(this).checked){
$(this).next('.popup').css({'display':'none'});
}
})
});

820 :Name_Not_Found:2018/12/20(木) 00:04:03.45 ID:???.net
>>818
propを使う
https://qiita.com/i47_rozary/items/db77352cc0af8d05d39a

あとjQueryだと
$('.switch').checked = false;
ではなく
$('.switch').checked(false;)
という書き方が多いよ。どっちも動かないけどね

821 :Name_Not_Found:2018/12/20(木) 00:10:38.45 ID:???.net
JavaScriptでは
オブジェクト.プロパティ = 値;

っていう書き方出来てたのにJqueryでは無理なんですね

822 :Name_Not_Found:2018/12/20(木) 00:21:16.68 ID:???.net
jQueryもJavaScriptなんだから、
JavaScriptで出来ることはjQueryを使っていても出来るよ

823 :Name_Not_Found:2018/12/20(木) 00:22:34.01 ID:???.net
こうすれば上手く出来ました


$(function(){
$('.switch').each(function(){
$(this).prop('checked', false);
});
$('.switch').click(function(e){
if($(this).prop('checked',!$(this).prop('checked'))){
$(this).next('.popup').css({'display':'inline'});
}else{
$(this).next('.popup').css({'display':'none'});
}
});
$('.switch').hover(function(e){
$(this).next('.popup').css({'display':'inline'});
},function(e){
if(!$(this).prop('checked')){
$(this).next('.popup').css({'display':'none'});
}
})
});


ありがとうございました

824 :Name_Not_Found:2018/12/20(木) 00:24:58.44 ID:???.net
サンプルコードをどうぞ
https://codepen.io/infologicmation/pen/yGVzdw

クリックによる表示・非表示切り替え

ホバー・アウトによる表示・非表示の切り替え
が矛盾無く共存できています

825 :Name_Not_Found:2018/12/20(木) 00:39:39.29 ID:???.net
>>824
span要素にcheckedプロパティは存在しないのでpropは使ってはいけない

826 :Name_Not_Found:2018/12/20(木) 00:42:07.35 ID:???.net
>>824
cssメソッドではなくclassを設定するようにしましょう

827 :Name_Not_Found:2018/12/20(木) 00:43:19.51 ID:???.net
>>824
hoverはCSSを使用するようにしましょう

828 :Name_Not_Found:2018/12/20(木) 00:49:44.19 ID:???.net
模範解答例

https://jsfiddle.net/w6bm0fn5/

[JavaScript]
$(document).on('click', '.switch', function() {
  $(this).toggleClass('checked');
});

[css]
.popup {
 display: none;
}
.switch.checked + .popup {
  display: inline;
}
.switch:hover + .popup {
  display: inline;
}

HTMLは>>824から変更なし

jQueryは最小限のJavaScriptで実現できる = HTML+CSSにメインの処理を任せることで高速に実行できるのです。

829 :Name_Not_Found:2018/12/20(木) 00:54:07.92 ID:???.net
>>828
凄いです。綺麗です
ありがとうございました。

830 :Name_Not_Found:2018/12/20(木) 01:10:24.15 ID:???.net
クラス名に「checked」という名前つけるのは避けるな俺なら

831 :828:2018/12/20(木) 01:15:59.93 ID:???.net
JavaScriptはなくても出来る
https://jsfiddle.net/ry9Lhpz7/

>>830
微妙なところだね。本質的にはcheckboxと同じだからねぇ

832 :Name_Not_Found:2018/12/20(木) 05:57:48.38 ID:???.net
Vue.js などの、リアクティブ・プログラミングだろ

833 :Name_Not_Found:2018/12/20(木) 11:58:10.37 ID:???.net
今って即時関数に閉じ込めないんですか?
(function() {
//処理
})();

834 :Name_Not_Found:2018/12/20(木) 12:27:55.59 ID:???.net
なぜ、何を閉じ込めたかったのか?
それはvar変数のスコープが関数スコープだったため、var変数のスコープを閉じ込めたかったのだ。グローバルと各ブロックで変数名が衝突しないように。
ブロックスコープなletとconstがある今、それは(大抵の場合)不要。

835 :Name_Not_Found:2018/12/20(木) 13:21:41.48 ID:???.net
>>834
それです。

const baz=()=>{
let foo=1;
console.log(foo);
}

ダメですか

836 :Name_Not_Found:2018/12/20(木) 17:27:55.19 ID:???.net
チビ太のおでんを思い出す

837 :Name_Not_Found:2018/12/20(木) 19:26:14.85 ID:???.net
>>835
日本語を頑張れ

838 :Name_Not_Found:2018/12/20(木) 19:34:42.31 ID:???.net
>>831
https://momdo.github.io/wai-aria-1.1/#aria-checked

839 :Name_Not_Found:2018/12/24(月) 20:00:35.18 ID:Ceg/7NXc.net
node.js用でないただのローカルhtml+jsファイルから
node.js用のjsを呼び出して(起動させて)返り値を得る…みたいなことってできないですかね

現時点ではわざわざコマンドプロンプトから「node ○○.js」ってやってテキストファイルを生成させて
そのテキストファイルを開いてコピーしてhtmlのテキストエリアに貼り付けってやってるんですが
これを省略したくて…
(html内だけで完結できないのは、生成するデータの取得にnode.jsの認証用プラグインを使ってるため)

htmlファイル自体がちゃんとfile:///でなくnode.jsによるサーバー(localhost)を通ってないとダメなんでしょうか

840 :Name_Not_Found:2018/12/24(月) 20:02:17.73 ID:???.net
ポン刀持ってヤクザ事務所に斬り込めば返り血を得ることができるよ

841 :Name_Not_Found:2018/12/24(月) 20:28:19.71 ID:???.net
>>839
Nodeを起動させっぱなしで
WebSocketとかで通信するのはだめなんか?

842 :Name_Not_Found:2018/12/25(火) 00:32:04.61 ID:???.net
VSCode の拡張機能、Code Runner とか、Ctrl+Shift+P のRun Code みたいな、

簡単に、Node.js で実行する拡張機能はないの?

843 :839:2018/12/25(火) 02:48:41.63 ID:hEC+3v12.net
>>841
大人しくそうするのが一番手っ取り早いんでしょうかね…
Nodeを起動させるバッチファイルを書いてスタートアップに登録しておけば起動は問題なし…?

一応Node.jsの触り(ビギナーズブック https://www.nodebeginner.org/index-jp.html
はやったことあるはずですが、それでも現状からの移行を問題なくすんなり迅速にできるか不安なので
もし他に方法があればと思い聞いてみました

844 :Name_Not_Found:2018/12/25(火) 06:25:55.65 ID:???.net
バッチファイルをクリックしたら、
HTML出力するコマンド実行して、ブラウザで開くような
バッチファイル作ればいいだけじゃん

845 :839:2018/12/25(火) 16:09:41.37 ID:hEC+3v12.net
>>844
あー…?

いえ、>>839にも書きましたが
基本的にはhtmlを使って作業していて、文字列を取得したいときにnode.jsを起動してテキストエリアに貼り付けてそれをhtml側でパースして…ってやってるので
都度htmlを生成するとなると…

とはいえテキストエリアに初期値を設定したいだけのときはそれでも良さそうですね

846 :Name_Not_Found:2018/12/25(火) 16:26:42.36 ID:???.net
じゃあHTMLからテキストファイル読み込めば?

847 :Name_Not_Found:2018/12/25(火) 16:29:20.22 ID:???.net
Electron使えばいいんじゃね

848 :Name_Not_Found:2018/12/25(火) 16:55:40.55 ID:???.net
普通にwebpackとかでつなげりゃいいだけでしょ

849 :839:2018/12/26(水) 00:59:16.21 ID:N3W06Q6N.net
>>846
node.jsと行ったり来たりする手間は省けてないような…?

>>848
webpackってファイル数をまとめるやつでしたっけ
こういうことにも使えるんですか

>>847
単なるローカルhtmlファイルではやりづらいことも、html由来のデスクトップアプリなら色々できるようになりそうだとは薄々思ってましたが
どうやればいいのかいまいちわからずにいたところでした
まだ少ししか調べられていませんがElectron良さそうですね
TW.jsというのもあるようで…

850 :Name_Not_Found:2018/12/26(水) 16:07:51.10 ID:???.net
ABCいずれかのクラスを持っている
かつ
DEFいずれかのクラスを持っている

みたいなorとand混合の条件絞り込みってできますか?

851 :Name_Not_Found:2018/12/26(水) 16:57:23.75 ID:???.net
$('.A, .B, .C').filter('.D, .E. .F')

852 :Name_Not_Found:2018/12/26(水) 17:58:04.11 ID:???.net
VSCode Amazing Plugin - Quokkajs rapid prototyping playground.
https://youtu.be/klLP8EeTKtc

VSCode の拡張機能の、Quokka.js は?
Node.js で実行したものを、リアルタイムで、端末とエディタ内の両方に表示する

let numbers = [ 1, 2, 3 ]

let doubled = numbers.map( n => n * 2 )

doubled
//=> [ 2, 4, 6 ]

でも、エディタ内の結果からは、コピペできない!
端末からコピペするしかない

853 :Name_Not_Found:2018/12/26(水) 18:47:41.23 ID:???.net
chromeのコンソールもおんなじことしてくれるのであまり感動しなかった…

854 :Name_Not_Found:2018/12/26(水) 18:52:37.06 ID:???.net
>>851
どうもありがとうございます
期待通りのものが作れました

855 :Name_Not_Found:2018/12/26(水) 20:25:23.49 ID:???.net
>>843
個人的なことならブラウザ拡張で済ますって方法もあるよ
どうせNodeも外部通信くらいにしか使ってないんじゃないの?

856 :852:2018/12/26(水) 21:47:50.63 ID:???.net
>>852
は、ブラウザではなく、Node.js で実行している

このQuokka.js の無料版は、既に存在するファイルから、実行できない。
新規ファイルでしか実行できない

857 :Name_Not_Found:2019/01/04(金) 00:34:40.62 ID:???.net
selectboxの各optionの文字色を変えるにはどうしたらいいでしょうか?
背景=$('option').eq(n).css('backgroundColor', c);はできますが
文字=$('option').eq(n).css('color', c);は変わりません

Opera、Chromeで確認してます(foxは共にできず)
addClass使えはなしでお願いします(これでもできませんが)

858 :Name_Not_Found:2019/01/04(金) 00:50:23.38 ID:???.net
補足
cは#000000の形式で
文字色を変えるは動的にです

859 :Name_Not_Found:2019/01/04(金) 01:07:05.94 ID:???.net
>>857
iphoneドラムロールになるし、あれは背景を変えられない
ブラウザを絞ればもう少し対応策があるかもしれない
ただ、諦めたほうが良いとは思う

860 :Name_Not_Found:2019/01/04(金) 11:03:10.78 ID:???.net
>>859
iphoneや泥は捨てでいいです
動作せずは困りますが色なしは可です

PCのWinで機能すればいいです

861 :Name_Not_Found:2019/01/04(金) 16:49:50.76 ID:???.net
いや、捨てでいいですって切り分けることが不可能でしょ
もし白黒の電子ペーパー端末で見たり色弱者が見た場合のこととか考えてる?

862 :Name_Not_Found:2019/01/04(金) 18:17:17.94 ID:???.net
>>861
切り捨てでいいです

863 :Name_Not_Found:2019/01/04(金) 18:44:04.41 ID:???.net
>>857
selectとoptionにスタイルかけるのは無理だから諦めろ
どうしてもやりたいなら代替要素でselectっぽい物を描画するライブラリを使えばいい
このスレ的に言えばjQueryUIでも使えばいいんじゃないか?

864 :Name_Not_Found:2019/01/04(金) 19:30:54.16 ID:???.net
https://jqueryui.com/selectmenu/
これか。すげーシンプルなHTMLだな

865 :Name_Not_Found:2019/01/04(金) 19:35:30.62 ID:???.net
>>864
これな〜
モバイルだと画面の下の方でそれクリックすると下にはみ出して操作性悪いんだよな
あまりオススメできない
モバイルのデフォルト機能に任せた方が、個人的には良いと思う

866 :Name_Not_Found:2019/01/04(金) 21:30:08.55 ID:???.net
まあモバイル捨てていいらしいからいいんでない?
なんならモバイルで見たら普通のselectで出しわけしてもいいし

867 :Name_Not_Found:2019/01/04(金) 22:12:51.38 ID:???.net
クソjQueryだからな

868 :Name_Not_Found:2019/01/04(金) 22:15:24.26 ID:???.net
>>866
見落としてた
なら問題ないね

869 :Name_Not_Found:2019/01/04(金) 22:44:01.67 ID:???.net
色弱に配慮する必要あるか?
そんなん言ったら全盲の人にも配慮しろってなって際限無いじゃん

870 :Name_Not_Found:2019/01/04(金) 22:57:00.78 ID:???.net
俺は一応配慮してるわ
Lighthouseで指摘されたとこパパっと直してハイ終わり!
属性付けるだけで、2,3時間で全部終わった
まぁこれぐらいならやっといて損はないかなと

871 :Name_Not_Found:2019/01/04(金) 22:58:20.56 ID:???.net
色弱ってFirefoxのシェアと同じくらいには居るんだから無視できないでしょ

872 :Name_Not_Found:2019/01/04(金) 23:14:56.99 ID:???.net
緑地に赤文字とか変な配色しなきゃ大丈夫
https://www.my-kaigo.com/pub/kids/taiken/color/

873 :Name_Not_Found:2019/01/05(土) 01:15:42.08 ID:???.net
>>871
Firefoxは切り捨てだろ

874 :Name_Not_Found:2019/01/05(土) 03:43:55.99 ID:???.net
Firefoxは基本Chromeサポートのついででサポートできるからするけど
そうじゃなかったらChrome以外切り捨ててるな俺だったら

875 :Name_Not_Found:2019/01/05(土) 10:21:56.70 ID:???.net
>>861
そのためにかつ健常者でも見やすくするために色を変えるのです

>>863
背景は通常にできるのにテキストはできず、別の仕組みなのですね
簡単にできると安易に考えてましたがあきらめます

ありがとう
ちなみに>>862は別人

876 :Name_Not_Found:2019/01/05(土) 10:23:48.62 ID:???.net
>>861
ちなFirefoxは勝手に切り分けられます

877 :Name_Not_Found:2019/01/05(土) 10:24:21.77 ID:???.net
>>875
ややこしくなるから次質問する時はIDトリップ付けたほうがいいかも

878 :Name_Not_Found:2019/01/05(土) 10:36:41.18 ID:???.net
>>877
IDトリップ?検索してみます
忠告ありがとう

879 :Name_Not_Found:2019/01/05(土) 12:20:07.11 ID:???.net
>>857
ChromeでもFirefoxでも文字も背景も色変わるけどなぁ

880 :Name_Not_Found:2019/01/06(日) 14:38:07.19 ID:???.net
へー

881 :Name_Not_Found:2019/01/06(日) 14:59:30.42 ID:???.net
見た目挙動を統一したいならCanvas使えばいいだけなのにね
PaintWorkletでも良いけど

882 :Name_Not_Found:2019/01/06(日) 15:54:54.79 ID:???.net
>>881
Canvasでフォームの値を送るにはどうしたら良い?
ちょっとここにサンプル書いてみてよ

883 :Name_Not_Found:2019/01/06(日) 15:58:05.60 ID:???.net
Canvasに要素っぽいものを表示して、クリックされた座標でイベントを発火させるだけだよ
難しくは無いけどかなりめんどくさい
ただ、表示は本当になんとでも出来る

884 :Name_Not_Found:2019/01/06(日) 16:39:16.08 ID:???.net
>>883
いえ、ですからここに書いてくださいと
それとフォームって知ってますか?

885 :Name_Not_Found:2019/01/06(日) 18:57:27.75 ID:???.net
>>884
めんどくさいから嫌です

886 :Name_Not_Found:2019/01/06(日) 20:11:23.22 ID:???.net
フォームって知ってますか?って
既存のフォームが嫌で自分勝手に空き放題したいんだから
勝手に好きなように自分がフォームだと思うものを作ればいいじゃない

887 :Name_Not_Found:2019/01/06(日) 20:37:44.28 ID:???.net
canvasベースのゲームとか流行ると思ったら全く流行らなかったでござる

888 :Name_Not_Found:2019/01/06(日) 20:39:24.96 ID:???.net
質問と全然関係ないところで盛り上がるのすきだよなお前ら

889 :Name_Not_Found:2019/01/06(日) 21:22:00.54 ID:???.net
>>886
Canvas使う意味がないですよねって話をしてるんだが
普通に画像でいいやん

890 :Name_Not_Found:2019/01/06(日) 22:00:38.97 ID:???.net
>>887
html5ベースのゲームはほぼ100%canvasでしょ

891 :Name_Not_Found:2019/01/06(日) 23:17:35.73 ID:???.net
>>881
そんなめんどくさいことしてるの?
できてもクソ重くね?
あと見た目挙動を統一なんて誰か言ってたっけ?

892 :Name_Not_Found:2019/01/07(月) 02:15:03.23 ID:???.net
>>890
> html5ベースのゲームはほぼ100%canvasでしょ
そういうのってフレームワーク使わないよね?
っていうか、それHTML5ベースと言って良いんか?
canvasタグ以外のタグ使ってないやろ?

893 :Name_Not_Found:2019/01/07(月) 12:21:26.99 ID:???.net
>>889
お前大アホ?
セレクトボックスの話をしてるんだぞ?

894 :Name_Not_Found:2019/01/07(月) 12:28:30.23 ID:???.net
>>893
だからセレクトボックスをcanvasで作るとか無駄な努力でしょ
HTML使ってできるものをわざわざ独自で作るとかさ

895 :Name_Not_Found:2019/01/07(月) 15:39:21.74 ID:???.net
どんな環境でも同様の表示がしたい場合はHTMLでは困難だし
しようとすること自体がナンセンスと言ってるんだが伝わらなかったか

896 :Name_Not_Found:2019/01/07(月) 17:22:24.49 ID:???.net
HTML5は同様の表示ができるように
作られたものなんですが?

897 :Name_Not_Found:2019/01/07(月) 22:02:40.50 ID:???.net
HTMLはテキストとセマンティクス(意味)を伝えるために作られた物で
表示に関しては・・・ね

898 :Name_Not_Found:2019/01/07(月) 22:51:18.42 ID:???.net
>>879
いわくできるみたいだが
どうせハッタリだろうが

899 :Name_Not_Found:2019/01/08(火) 00:43:33.02 ID:???.net
Chromeが出た瞬間くらいにとくにセレクトボックスの色つけも含めて
HTML/CSS/JSの挙動について大規模に実験した記憶があるけど
ブラウザによってこれは反映されるけど、こっちは反映されないとかバラバラだったな
確かFirefoxはかなり検討してた
だけどimodeブラウザ2.0、NetFrontだっけ?が一番正しいってこともままあったな
HTML5がムーブメント生まれる瞬間でとにかく足並みを揃えさせるが難しかった時代
divで1点1点打つCanvasのポリフィルとか作った記憶がある
それでたしか100x100くらいの表示させるとガラケーで1フレーム数分とかかかってた
imodeのコンテンツ保護を無効にする手順とか、ブラウザをクラッシュさせるJSとか
沢山発掘して今思うと一番Webを楽しんでたときだな
__proto__廻りのバグやそれを元にした脆弱性とかも普通に俺でもホイホイ見つけられた時代

900 :Name_Not_Found:2019/01/08(火) 00:45:22.91 ID:???.net
そのうち半分くらいは報告したが
今のように報奨金制度とか全く流行ってなかったので
特にお礼も言われずに終わってたのが今振り返ると悔しい

901 :Name_Not_Found:2019/01/08(火) 20:33:02.45 ID:???.net
>>899
Firefoxは背景色表示はできてたが
あるバージョンから突然できなくなってしまった

902 :Name_Not_Found:2019/01/09(水) 19:35:40.10 ID:???.net
と思ったらこのスレ見たのかまたできるようになってて草
コード何一つ変えてないのに

903 :Name_Not_Found:2019/01/09(水) 20:17:12.34 ID:???.net
お前の思考レベルが草だろ
Firefoxがいつ更新されたと思ってんだ
糞馬鹿か

904 :Name_Not_Found:2019/01/10(木) 13:24:48.79 ID:???.net
jQuery惨敗!!
https://i.imgur.com/zXHc7FQ.png
https://i.imgur.com/aFNr3Hd.png
https://i.imgur.com/sLU4kX9.png
https://i.imgur.com/RXa1Z56.png

905 :Name_Not_Found:2019/01/10(木) 13:37:40.42 ID:???.net
47 名前:仕様書無しさん[] 投稿日:2018/12/05(水) 18:33:46.31
https://w3techs.com/technologies/overview/javascript_library/all

> w3techsによると2017年1月の時点で71.9%のサイトがJavaScriptのライブラリとして
> jQueryを使用していることが判明し、それ以降もシェアの増加が続いていたが、
> 2018年4月〜2018年10月の約半年間で変化が見られず、ようやく73.3%〜73.4%で
> 増加が停止したようである。

73.5%に増加してるな。まだ微増してるってことか?

48 名前:仕様書無しさん[] 投稿日:2018/12/06(木) 07:20:27.93
jquery最強じゃないかwww
react 厨さん息してますかー?

49 自分:仕様書無しさん[sage] 投稿日:2018/12/26(水) 21:45:04.58
https://w3techs.com/technologies/overview/javascript_library/all

> w3techsによると2017年1月の時点で71.9%のサイトがJavaScriptのライブラリとして
> jQueryを使用していることが判明し、それ以降もシェアの増加が続いていたが、
> 2018年4月〜2018年10月の約半年間で変化が見られず、ようやく73.3%〜73.4%で
> 増加が停止したようである。

> 73.5%に増加してるな。まだ微増してるってことか?

あぁ、もうだめだ。 73.6%にまた増加してる。微増し続けてた。

906 :Name_Not_Found:2019/01/10(木) 13:57:14.66 ID:???.net
増えているのはアフィゴミどもとかが量産してるwordpressが増えているから

これを開発者がjQuery使ってるとか勘違いするバカが勝ち誇ってるだけ

907 :Name_Not_Found:2019/01/10(木) 14:22:02.93 ID:???.net
その可能性はあるよね。WordPress使ってるところが32.8%、何も使ってないのが45.1%だから
https://w3techs.com/technologies/history_overview/content_management/all/y
仮にWordPressを使ってるサイトをJavaScriptを使ってないとみなせば
jQueryのシェア 73.6% は 40.8% 相当と考えられるかもしれないよね!
それでもJavaScriptライブラリを使ってないサイト24.3%よりはるかに多いけどね!
そんなことよりReactのシェアが0.5%から0.2%に減ったのが問題なんじゃぁ

908 :Name_Not_Found:2019/01/10(木) 14:29:14.07 ID:???.net
>>907
wordpress以外にもjQuery使ってるかもわからんゴミサイトがたくさんあるからな
お前はゴミをかき集めて勝ち誇ってるゴミ信奉者

そんで>>904の分析頼む

909 :Name_Not_Found:2019/01/10(木) 14:33:06.94 ID:???.net
でもそれいったら、React使ってるゴミではないサイトは
手足の指の数程度だろ・・・

910 :Name_Not_Found:2019/01/10(木) 16:04:06.21 ID:???.net
>>907
頭大丈夫ですか?

911 :Name_Not_Found:2019/01/10(木) 16:30:17.05 ID:???.net
言い返さないんですか?w

912 :Name_Not_Found:2019/01/10(木) 16:42:45.08 ID:???.net
分析はよしろ

913 :Name_Not_Found:2019/01/10(木) 17:04:51.99 ID:???.net
分析も何も、このアンケートに記録した人は
普段どんなものを作ってるんですか?でしか無いと思うけど?
どうせウェブサイトではなくてウェブアプリ開発者用のアンケートで偏ってるんでしょ?
切り取ったデータでわからないけど、せめて誰を対象としたアンケートなのかいってくれないとね

914 :Name_Not_Found:2019/01/10(木) 17:18:23.91 ID:???.net
世界的にはjQueryはバカ御用達ライブラリという認識
もはやバカか無能しか使わないんだよ

915 :Name_Not_Found:2019/01/10(木) 18:31:22.51 ID:???.net
そう思ってないとやってられないんだよ
冷静に考えるとメリット無いんだが
ほらみんなやってるしすごいって言ってるし

916 :Name_Not_Found:2019/01/15(火) 13:02:57.91 ID:iFo+/jNR.net
質問です
自作のページ【A】で、何かしらのイベント(例えば'#a'をクリック)が起こるたびに
バックグラウンドで開いた他者製のページ【B】で、何かしらのイベント(例えば'#bをクリック')を起こしたいと思っています。

自分で考えつく方法としては例えば、Chrome拡張機能などで他者製のページ【B】に対し
「このページが開かれるたびに'#b'をクリック」
というユーザースクリプトを設定しておき

自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
くらいしか思いつきませんが
開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか?

917 :Name_Not_Found:2019/01/15(火) 13:07:20.17 ID:???.net
どんな悪いことしようとしてるの?言ってごらん?

918 :916:2019/01/15(火) 13:10:54.67 ID:iFo+/jNR.net
>>916 追記です
「このページを開いたとき」でなく
$(window).on('focus')
としておき、タブを切り替えるだけでいけますかね…?
しかしページを新たに開くのでなく、元々開いているタブにフォーカスを切り替えることなんてできるんでしょうか

919 :916:2019/01/15(火) 13:32:39.85 ID:iFo+/jNR.net
>>917
なんて言えばいいのかちょっと難しいですが
業務上ちょいちょいクリックしたいボタンがあって
(悪いことではないです その他者製のページというのも半ば身内製と言いますか…
 自由に変更要望を出せるものではないんですが)

わざわざ画面を行き来してボタンを探す時間の節約…
という面もありますが、うっかり忘れを防止したいというのもあります
(2つのページをセットで作業してるものの、基本的にAのページばかり開いててBの作業をやり忘れることがよくあり
 忘れてて後からになると業務に遅れが生じてしまうので…)

920 :Name_Not_Found:2019/01/15(火) 14:35:30.59 ID:???.net
【Ruby】window_handles・・・複数のウインドウハンドルを取得する
http://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html

Selenium WebDriver の、
driver.switch_to.window(ウィンドウ・ハンドル)

921 :920:2019/01/15(火) 15:07:10.10 ID:???.net
Ruby で、Selenium WebDriver なら、

driver.navigate.to url_0 # url_0 を開く

driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # url_1 を開く

all_handles = driver.window_handles

driver.switch_to.window( all_handles[ 0 ] ) # url_0 へ移動する

922 :Name_Not_Found:2019/01/15(火) 15:30:05.62 ID:???.net
その用途でSeleniumを使うのは時間の無駄だって言っておく

923 :Name_Not_Found:2019/01/15(火) 15:55:07.08 ID:???.net
そしてseleniumはJava製。いろんな言語のドライバが出ているがrubyのドライバはメンテナンスが悪い。るび〜すと(笑)が飽きっぽく、「る、るびぃ〜でもできるしっ」と言いたいがためだけの実験作だからだw

924 :920:2019/01/15(火) 17:29:49.64 ID:???.net
$ gem list selenium

selenium-webdriver (3.141.0)

Ruby のは、141 まで進んでいる!

925 :Name_Not_Found:2019/01/15(火) 18:20:39.44 ID:???.net
>>917
web上の事務作業を楽にするって事だろう

>>916
基本的には難しい
もしjsで別タブを触れるとすると、サイト開いた瞬間に全タブの情報を抜き取るってアホみたいな事が可能になる

>自作のページ【A】で'#a'をクリックするたびに【B】を開く⇢すぐ閉じる
>くらいしか思いつきませんが
>開いたり閉じたりしない、もう少しスマートな方法ってないでしょうか?
これが通るならコレでいいと思う

>>920はアホみたいな方法なので止めておいた方が良い

926 :920:2019/01/15(火) 19:33:49.25 ID:???.net
そりゃ、JavaScript は、そのページ内・DOM を操作するものだろ

一方、Selenium Webdriver は、ブラウザを操作するもの。
そのブラウザで開いている、すべてのページを、人間がするように操作できる

役割が異なる

927 :Name_Not_Found:2019/01/15(火) 19:44:18.57 ID:???.net
まあchrome限定でいいならpupetteerで両方できるんですけどね

928 :Name_Not_Found:2019/01/16(水) 23:01:39.48 ID:Z5zIizD6.net
質問させてください。
これのaryC選択を、aryAとaryBの両方を参照するようにしたいのですがどうしたら良いでしょうか?よろしくお願い致します。


var aryA=["動物","植物"];

var aryB=[];
aryB["動物"]=["哺乳類","両生類"];
aryB["植物"]=["種子植物","その他"];

var aryC=[];
aryC["哺乳類"]=["ヒト科","サル科","ネコ科"]
aryC["両生類"]=["カエル科","サンショウウオ科"]
aryC["種子植物"]=["被子植物","裸子植物"]
aryC["その他"]=["シダ植物","細菌類"]

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1222942487

929 :Name_Not_Found:2019/01/17(木) 20:33:22.95 ID:???.net
var a=["X","Y"];

var b=[];
b[ a[0] ]=["A","B"];
b[ a[1] ]=["C","D"];

// b => [ X: [ 'A', 'B' ], Y: [ 'C', 'D' ] ]

var c=[];
c[ b["X"][0] ]=["0","1"];
c[ b["Y"][1] ]=["2","3"];

// c => [ A: [ '0', '1' ], D: [ '2', '3' ] ]

930 :929:2019/01/17(木) 20:38:19.99 ID:???.net
>929
修正。これを

c[ b["X"][0] ]=["0","1"];
c[ b["Y"][1] ]=["2","3"];

これに変えても、同じ

c[ b[ a[0] ][0] ]=["0","1"];
c[ b[ a[1] ][1] ]=["2","3"];

931 :Name_Not_Found:2019/01/18(金) 23:45:31.88 ID:???.net
Firefoxってwidth、height操作のアニメーションやslideDownの挙動がすごくもっさりしませんか?

932 :Name_Not_Found:2019/01/31(木) 04:31:34.00 ID:WuDCcsv7.net
とあるサイトに対して、Chrome用のユーザースクリプトを作っています。

そのサイトでは、内部で一気にまとめて処理すればいいところを
わざわざ人間が#a #b #c #dという4つのボタンを順番に押さなければなりません。

これを何らかの1動作(例えば右クリック)だけで済むようにしたいのですが
ただ単に
$('body').on('contextmenu', () => {
$('#a').click();
$('#b').click();
$('#c').click();
$('#d').click();
return false;
});
などとしただけでは、#aの処理が終わる前に#bがクリックされてしまいうまくいきません。
setIntervalを使う以外にどんな選択肢があるでしょうか?
$.when().done()とかだと「クリックをしたことによって起こったイベント」までは待ってくれないですかね?

933 :932:2019/01/31(木) 04:35:44.23 ID:WuDCcsv7.net
「起こったイベント」という言い方だとなんか変だったかもしれませんね(クリックそのものがイベントか)

934 :Name_Not_Found:2019/01/31(木) 07:42:20.04 ID:???.net
>>932
a,b,c,dの処理はどう定義されているのかを調べてから質問してくれ

935 :Name_Not_Found:2019/01/31(木) 10:24:38.58 ID:???.net
完了した際にドム内容が変更されるなら
DOMSubtreeModified propertychange
で検知すればいいと思う

936 :Name_Not_Found:2019/01/31(木) 12:05:38.76 ID:???.net
$.when().done() などがネストする場合は、使えるなら、async/await などが良い

>#aの処理が終わる前に、#bがクリックされてしまいうまくいきません
単に、処理A・B を続けて書いているだけなのに、実行される順番が変わるのか?
そんな事があるのか?

937 :936:2019/01/31(木) 12:09:54.65 ID:???.net
ああ、ABCD の順番でクリックされるけど、

Aの処理に、時間が掛かっている間に、
BCDの処理の方が、先に終わってしまうという事か

それは、非同期処理の順番を指定するしかない

938 :Name_Not_Found:2019/01/31(木) 12:52:58.06 ID:???.net
要素の中心を起点に拡大・縮小させながら対象をshow,hideさせることはできますか

939 :Name_Not_Found:2019/01/31(木) 12:55:24.29 ID:???.net
>>936
#a,b,c,dが非同期処理なら、あり得る

940 :Name_Not_Found:2019/01/31(木) 13:00:43.74 ID:???.net
>>938
要素による。inlineとかだと出来ないので、一時的にdisplayを変更したりwrapperを設定する必要がある
あと、文字のサイズも変わらないので何か変になると思う

941 :Name_Not_Found:2019/01/31(木) 13:02:59.72 ID:???.net
・canvasを変更
・ページ遷移
この時、canvasで変更された内容をそのまま持ち越すということは可能でしょうか?

ajaxでcanvas意外を変更するか、画像で一旦どこかに保存するしかないでしょうか

942 :Name_Not_Found:2019/01/31(木) 13:22:51.00 ID:???.net
>>940
アニメーションはCSSでやったほうが良さそうですね
show→アニメーションはできたのですが、アニメーション→hideがうまくいかず…

943 :Name_Not_Found:2019/01/31(木) 13:45:23.02 ID:???.net
>>942
opacityでいいんじゃね
font-size変えてもいいと思うけど
https://jsfiddle.net/rzhgna7k/

opacity入れないとインライン要素だけが残る
https://jsfiddle.net/rzhgna7k/1/

944 :Name_Not_Found:2019/01/31(木) 20:32:05.27 ID:???.net
>>941
data uriにして持ち越すか
描画するデータを持ち越して再描画するかかな

945 :Name_Not_Found:2019/01/31(木) 20:44:13.78 ID:???.net
>>943
あーなるほど、別にdisplay:none;にすることに拘らなくてもいいですね
transform:scaleでギリギリまで縮小して最後にwidth、height0にするようなkeyflames書いてみます

946 :Name_Not_Found:2019/02/01(金) 12:45:59.89 ID:???.net
>>938
foreignObjectを使ってCanvasに描画してやるのがオススメ

947 :Name_Not_Found:2019/02/01(金) 13:44:00.87 ID:???.net
>>946
ふつうにtransform: scale()じゃだめなのか

948 :932:2019/02/01(金) 18:40:45.37 ID:Zy/d2zot.net
遅くなりましたが>>932です

>>934
デベロッパーツールで調べてみるとどういうわけか、
#a〜#dを押すことによって実行される関数a()〜d()自体は単に<head>内にa.js〜d.jsを追加するというだけのものでした
a.js〜d.jsの中身はいずれもわずか20行ほどで、for内でreplaceを繰り返した結果を<textarea>に反映させるというものです
(何故こうなってるのかはちょっとわかりませんが… なにか意味あるんでしょうか)

使うのが今だけなら、いっそこれらの中身を全部コピペしてユーザースクリプトにまとめてもいいんでしょうけど
a.js〜d.jsの中身(replaceすべき文字列)が将来的にいつの間にか書き換わってることもあるでしょうからそれは避けたいなと…

>>935
DOMSubtreeModified propertychange!
そんな凄いものがあったんですね…!
これは今後色々捗りそうです
今回は<textarea>の中身がJSで勝手に書き換わるのはどうもonchangeでは検知できないようで困っていたのですが
先述のように<head>内に<script>を追加するのを検知すればいけるかもしれません

>>936-937
つまりこういうケースではasync/awaitのみの1択…という感じですかね
async/awaitなら全部待ってくれるんですね

949 :Name_Not_Found:2019/02/01(金) 18:46:08.85 ID:???.net
> つまりこういうケースではasync/awaitのみの1択…という感じですかね

ぜんぜん違う。というか関係ない
絶対に使わないというわけではないが、問題解決のための手段ではない

例えば、3人交代で仕事する時、相手に起きた出来事を引き継ぎするだろ?
async/awaitはその引き継ぎ作業に相当する。
引き継ぎは行うことだが仕事内容ではない

950 :Name_Not_Found:2019/02/01(金) 18:46:45.30 ID:???.net
> 今回は<textarea>の中身がJSで勝手に書き換わるのはどうもonchangeでは検知できないようで困っていたのですが
使えないんじゃね? DOMツリーが変わるわけじゃないんだから

951 :932:2019/02/01(金) 19:04:17.20 ID:Zy/d2zot.net
>>949
では他にはどんな引き継ぎ方があるでしょうか?
(ユーザースクリプトからだと、関数a()を直接呼び出すことはできませんでした)

>>950
<head>への<script>の追加はDOMツリーの変更とは見なされず、DOMSubtreeModified propertychangeでは検知できない…ということでしょうか

952 :Name_Not_Found:2019/02/01(金) 19:11:30.56 ID:???.net
>>951
調べるのは引き継ぎ方じゃなくて、clickの中でやってる処理が終わったタイミングを知る方法
それさえわかればasync/awaitなんぞ使わず普通にclick()使えばいい

953 :Name_Not_Found:2019/02/01(金) 19:43:32.23 ID:Zy/d2zot.net
>>952
ではやはりそれぞれの関数が最終的に行っているのは<textarea>のvalueへの文字列の代入ですね…

954 :Name_Not_Found:2019/02/01(金) 20:45:58.07 ID:???.net
>>932
順序なんて考えたくないでござる!って場合はこれでどうだ

str = '';
$.get("a.js", '', function(response) {
str += response;
$.get("b.js", '', function(response) {
str += response;
$.get("c.js", '', function(response) {
str += response;
$.get("d.js", '', function(response) {
str += response;
});
});
});
});
eval(str);

955 :Name_Not_Found:2019/02/01(金) 20:47:11.23 ID:???.net
完全に自分用のjsならこれでいいやろ。順序は絶対に狂わない
エラーは適当に書いてくれ

956 :Name_Not_Found:2019/02/02(土) 23:38:00.03 ID:???.net
void()って本来なんのためにあるの?

957 :Name_Not_Found:2019/02/03(日) 07:26:55.76 ID:???.net
>>956
undefinedを返すため

958 :Name_Not_Found:2019/02/03(日) 09:36:03.56 ID:???.net
なんで最初っから定数としてundefined用意しなかったの
関数にするとしてもundifined返すための関数なら引数いらなくね
なんでvoid(0)ってしてるの?なにを評価してるの

959 :Name_Not_Found:2019/02/03(日) 11:15:37.14 ID:???.net
>>958
http://memories.zal.jp/WP/blog/20150504_2542.html
http://blog.yuku-t.com/entry/20111111/1321021731
※下は2011年の古い記事

昔はundefinedを上書きできてしまう仕様だったので、
それに対する保証としてvoid()があったと思われる

>なんで最初っから定数としてundefined用意しなかったの
これは全員思っていると思う
変数でundefinedは正気の沙汰じゃない

つまり今は使う意味が無いと思う

960 :Name_Not_Found:2019/02/03(日) 13:03:35.97 ID:???.net
>>959
今もundefined変数を定義出来るので、状況によっては必要
(typeof演算子で代用出来るケースがほとんどだと思うが)

961 :Name_Not_Found:2019/02/03(日) 13:11:59.34 ID:???.net
constと思ってた、違うのか

var undefined = 1
これどうなってるんだ
代入がエラーにならないけど何を代入してもundefined が返ってくる

962 :Name_Not_Found:2019/02/03(日) 13:27:02.93 ID:???.net
>>958
voidは関数ではなく、演算子だぞ
演算子に(0)を与えるコードが異常

963 :Name_Not_Found:2019/02/03(日) 13:30:49.29 ID:???.net
>>961
グローバルコードだろ?
constや関数コード内のvarでやってみろ
グローバル変数を書き換えられない理由はObject.getOwnPropertyDescriptor()

964 :Name_Not_Found:2019/02/03(日) 13:46:43.20 ID:???.net
jsのundefinedは幾ら何でも特殊すぎる
新しくnullを作って欲しい

965 :Name_Not_Found:2019/02/03(日) 17:06:08.42 ID:???.net
nullもうあるんだが

966 :Name_Not_Found:2019/02/03(日) 17:09:33.36 ID:???.net
jsでnullとundefinedって別だよね
他の言語でもそうなの?

967 :Name_Not_Found:2019/02/03(日) 17:59:04.11 ID:???.net
nullとundefinedが2つ存在して、同値扱いは普通に考えてないんじゃない?

968 :Name_Not_Found:2019/02/03(日) 19:29:48.43 ID:???.net
>>967
jsも同値扱いはしていないのでは

969 :Name_Not_Found:2019/02/03(日) 19:36:12.85 ID:???.net
null == undefined

>true

null === undefined

>false

やめろ

970 :Name_Not_Found:2019/02/03(日) 19:38:26.30 ID:???.net
同値判定でfalse出てんだから同値じゃないじゃん。
どうちてそんなこと言うの?

971 :Name_Not_Found:2019/02/03(日) 20:03:11.11 ID:???.net
出とるぞ

null == undefined
>true

同じ形ではないようだが

972 :Name_Not_Found:2019/02/03(日) 20:13:14.58 ID:???.net
等値演算子と同値演算子を混同してるのでは

973 :Name_Not_Found:2019/02/03(日) 20:40:52.61 ID:???.net


974 :Name_Not_Found:2019/02/03(日) 20:41:05.97 ID:???.net
>>968
そうだよ
だから、そもそも同値扱いしかあり得ないし、>>966は考慮にも値しない

975 :974:2019/02/03(日) 20:42:51.13 ID:9tToFlyy.net
× そもそも同値扱いしかあり得ないし、
○ そもそも同値扱いはあり得ないし、

976 :Name_Not_Found:2019/02/04(月) 12:50:45.61 ID:???.net
==も===も両方EqualityExpression何だが
仕様書にないオレオレ用語は止めてくれ

977 :Name_Not_Found:2019/02/04(月) 13:15:59.18 ID:???.net
・抽象的な等価性比較 (Abstract Equality Comparison) (==)
・厳格な等価性比較 (Strict Equality Comparison) (===)

978 :Name_Not_Found:2019/02/04(月) 13:27:56.28 ID:???.net
・=== を使用する 厳格な等価性 (strict equality) ("三重等号" または "同一性 (identity)")
・== を使用する 寛容な等価性 (loose equality) ("二重等号")

979 :972:2019/02/04(月) 13:37:49.21 ID:???.net
>>976
ごめん俺が完全にあほだった

980 :Name_Not_Found:2019/02/04(月) 16:08:10.95 ID:???.net
J.Celko 信者のミックが書いているけど、

データベースでは、3値論理。Ruby もそう。
true, false, null

E.F.Codd は、unknown も加えた、4値論理を唱えたけど、
あまりに複雑すぎて採用されなかった

981 :Name_Not_Found:2019/02/04(月) 16:12:51.58 ID:???.net
JS, PHP では、必ず厳密等価演算子を使うべき!
使わないと、想定外に型変換されて、バグる

Ruby では、バグる要素が多いから、これを採用しなかった

982 :Name_Not_Found:2019/02/04(月) 16:37:33.30 ID:???.net
Rubyにおける==,===,eql?,equal?の違い
https://mickey24.hatenablog.com/entry/20100910/1284052782

==
オブジェクトの同値性のチェック
クラスやオブジェクトの性質に合わせて再定義できる

===
オブジェクトの同値性のチェック(所属性を加味)
case式で使われる
クラスやオブジェクトの性質に合わせて再定義できる

eql?
オブジェクトの同値性のチェック(==より厳密)
Hashで二つのキーが等しいかどうかを判定するのに使われる
クラスやオブジェクトの性質に合わせて再定義できる
再定義した場合はhashメソッドも再定義しなければならない

equal?
オブジェクトの同一性のチェック
object_idが一致するかどうかを調べる
再定義してはならない

983 :Name_Not_Found:2019/02/04(月) 17:39:19.38 ID:???.net
>>981
ヴァーーーーーーーーカ!wwwww

984 :Name_Not_Found:2019/02/04(月) 17:41:04.67 ID:???.net
es2015からちゃんとSameValueの考え方が示されてる

985 :Name_Not_Found:2019/02/04(月) 17:45:21.79 ID:???.net
def 、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww

986 :Name_Not_Found:2019/02/04(月) 17:49:53.38 ID:???.net
>>985
これは酷い。この体たらくで簡単だのバグりにくいだのホザいてんだから呆れる。

987 :Name_Not_Found:2019/02/04(月) 18:52:36.57 ID:???.net
>>985
こんなにキツイのか

988 :Name_Not_Found:2019/02/04(月) 22:19:54.30 ID:???.net
必ず===を使うべきというのは間違い
どちらかと言えば==を使うべき
ここ20年職場でもネットでも色んな人を見てきたが
==の方が使用頻度かなり高いのにハマった人は同じくらい

例えばよくあるパターンが正規表現でマッチして数値と比べる場合
==を使うと数値と文字列を勝手にいい具合に比較してしまうとしても
===を使っても数値と文字列が意図せずに来てしまうことには対処できない
本当の問題は数値と文字列が意図せず混在しやすいというところにあるからだ

そうしたときに、==だと高確率で実際問題が起きないが、===だと直ちにハマる
いくら潜在的なバグを生みうると言ったって、その確率は経験上こだわる必要がないほど低い

989 :Name_Not_Found:2019/02/04(月) 23:03:57.69 ID:???.net
>>988
うるせーハゲ!

990 :Name_Not_Found:2019/02/05(火) 16:04:11.34 ID:???.net
イコールスレ

991 :Name_Not_Found:2019/02/05(火) 19:21:20.28 ID:???.net
>>988
正規表現なら、if(/^\d+$/.test(1234)) のように書くので、===も==も使わない

992 :Name_Not_Found:2019/02/05(火) 20:37:01.76 ID:???.net
なるほどif(/^\d+$/.test('+1234'))あ、あれ?通らない…(TдT)
if (+1234 == '+1234')は通るのに…

993 :Name_Not_Found:2019/02/05(火) 20:42:09.88 ID:???.net
>>991
俺がなんでああいう独特な書き方をしたか分からないか?
書いたことはちゃんと理解してくれないと困る
「本当の問題は数値と文字列が意図せず混在しやすいというところにあるからだ 」
と言ってるだろう
君は正規表現でマッチした値を変数に入れたりすることは一切ないのだろうが
世間ではよくあるのだよ

994 :Name_Not_Found:2019/02/05(火) 21:14:24.67 ID:???.net
意図して混在させてるからオッケー😆👌❤

995 :Name_Not_Found:2019/02/07(木) 12:04:58.01 ID:???.net
もちろんOK

996 :Name_Not_Found:2019/02/07(木) 12:20:22.28 ID:???.net
正規表現って何でコーテーションで囲まなくても良いの?
これが良くわからない
replace('/foo/')
としてしまってアレアレってなる

997 :Name_Not_Found:2019/02/07(木) 13:19:37.67 ID:???.net
>>996
まずJavaScriptのリテラルはこれだけある。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types#Literals

'foo'は文字列リテラルで、
/foo/は正規表現リテラルだ。

昔からある堅い言語は正規表現リテラルがないから文字列からnewして作ってた。
JavaScriptでもそのような作り方もできる。
new RegExp('foo')
これは/foo/と同じように使える。
詳しくは述べないが厳密にはちょっと異なるのでリテラルで書くことを推奨しておく。

998 :Name_Not_Found:2019/02/07(木) 13:23:37.16 ID:???.net
>>996
あとほんとに'foobaz'を'barbaz'に変えるようなreplaceは
'foobaz'.replace('foo', 'bar')と、単純に文字列でいい。正規表現使う必要ない。

999 :Name_Not_Found:2019/02/07(木) 13:25:22.02 ID:???.net
>>997-998
そういう事なのか、ありがとう
ずっとよくわからずに使ってた

1000 :Name_Not_Found:2019/02/07(木) 13:32:20.21 ID:???.net
質問いいですか?

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
288 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★